diff --git a/.husky/pre-commit b/.husky/pre-commit
index 012bc6957..a58c4ee74 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -2,5 +2,5 @@
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
-node scripts/sync-expo-deps.js --dry-run
+#node scripts/sync-expo-deps.js --dry-run
source scripts/verify_workspace_package.sh
diff --git a/packages/app-extension/package.json b/packages/app-extension/package.json
index d85270c92..40fee3550 100644
--- a/packages/app-extension/package.json
+++ b/packages/app-extension/package.json
@@ -60,6 +60,7 @@
"@solana/web3.js": "^1.63.1",
"@tanstack/react-query": "^5.17.19",
"@testing-library/jest-dom": "^5.11.4",
+ "@trezor/connect-web": "^9.1.12",
"@uidotdev/usehooks": "^2.4.1",
"bip39": "^3.1.0",
"click-to-react-component": "^1.1.0",
diff --git a/packages/app-extension/src/components/Onboarding/pages/KeyringTypeSelector.tsx b/packages/app-extension/src/components/Onboarding/pages/KeyringTypeSelector.tsx
index 462d8db70..ca7b3cb38 100644
--- a/packages/app-extension/src/components/Onboarding/pages/KeyringTypeSelector.tsx
+++ b/packages/app-extension/src/components/Onboarding/pages/KeyringTypeSelector.tsx
@@ -38,6 +38,13 @@ export const KeyringTypeSelector = ({
onPress={() => onNext("ledger")}
textAlign="left"
/>
+ }
+ label={t("have_hardware_wallet_trezor")}
+ justifyContent="flex-start"
+ onPress={() => onNext("trezor")}
+ textAlign="left"
+ />
}
diff --git a/packages/app-extension/src/components/Onboarding/pages/OnboardAccount.tsx b/packages/app-extension/src/components/Onboarding/pages/OnboardAccount.tsx
index d102d4415..0f505e69e 100644
--- a/packages/app-extension/src/components/Onboarding/pages/OnboardAccount.tsx
+++ b/packages/app-extension/src/components/Onboarding/pages/OnboardAccount.tsx
@@ -6,7 +6,7 @@ import type {
} from "@coral-xyz/common";
import { useTranslation } from "@coral-xyz/i18n";
import { useOnboarding } from "@coral-xyz/recoil";
-import { useTheme,XStack, YStack } from "@coral-xyz/tamagui";
+import { useTheme, XStack, YStack } from "@coral-xyz/tamagui";
import { useSteps } from "../../../hooks/useSteps";
import { CreatePassword } from "../../common/Account/CreatePassword";
@@ -139,7 +139,9 @@ export const OnboardAccount = ({
/>,
]
: []),
- ...(keyringType === "mnemonic" || keyringType === "ledger"
+ ...(keyringType === "mnemonic" ||
+ keyringType === "ledger" ||
+ keyringType === "trezor"
? // if were importing mnemonic of ledger we need to select the blockchiain
[
,
- ...(keyringType === "ledger" || action === "import"
+ ...(keyringType === "ledger" ||
+ keyringType === "trezor" ||
+ action === "import"
? [
();
+ const isHardware = ledger === true || trezor === true;
+ const device = ledger ? "ledger" : trezor ? "trezor" : undefined;
const closeParentDrawer = () => {
navigation.popToTop();
@@ -158,6 +162,12 @@ export function ImportMnemonic({
device: "ledger",
...walletDescriptor,
};
+ } else if (trezor) {
+ return {
+ type: BlockchainWalletInitType.HARDWARE,
+ device: "trezor",
+ ...walletDescriptor,
+ };
} else if (mnemonic === true) {
return {
type: BlockchainWalletInitType.MNEMONIC,
@@ -215,7 +225,8 @@ export function ImportMnemonic({
key="ImportWallets"
fullscreen={false}
blockchain={blockchain}
- mnemonic={ledger ? undefined : mnemonic}
+ mnemonic={isHardware ? undefined : mnemonic}
+ device={device}
recovery={publicKey}
onNext={async (walletDescriptors: Array) => {
await onComplete(walletDescriptors);
diff --git a/packages/app-extension/src/components/common/Account/ImportWallets.tsx b/packages/app-extension/src/components/common/Account/ImportWallets.tsx
index 26c8a85c4..732e7dee7 100644
--- a/packages/app-extension/src/components/common/Account/ImportWallets.tsx
+++ b/packages/app-extension/src/components/common/Account/ImportWallets.tsx
@@ -39,6 +39,7 @@ const fundedAddressesLabel = "Funded Addresses";
export function ImportWallets({
blockchain,
mnemonic,
+ device,
onNext,
// onError,
allowMultiple = true,
@@ -54,6 +55,7 @@ export function ImportWallets({
allowMultiple?: boolean;
autoSelect?: boolean;
fullscreen?: boolean;
+ device?: "ledger" | "trezor";
}) {
const userClient = useRecoilValue(userClientAtom);
const blockchainConfig = useRecoilValue(blockchainConfigAtom(blockchain));
@@ -117,26 +119,39 @@ export function ImportWallets({
const walletPreview =
mnemonic === undefined
? ({
- type: BlockchainWalletPreviewType.HARDWARE,
- derivationPaths: fetchDerivationPaths,
- blockchain,
- } as BlockchainWalletPublicKeyRequest)
+ type: BlockchainWalletPreviewType.HARDWARE,
+ derivationPaths: fetchDerivationPaths,
+ device: device,
+ blockchain,
+ } as BlockchainWalletPublicKeyRequest)
: ({
- type: BlockchainWalletPreviewType.MNEMONIC,
- mnemonic: typeof mnemonic === "string" ? mnemonic : undefined,
- derivationPaths: fetchDerivationPaths,
- blockchain,
- } as BlockchainWalletPublicKeyRequest);
+ type: BlockchainWalletPreviewType.MNEMONIC,
+ mnemonic: typeof mnemonic === "string" ? mnemonic : undefined,
+ derivationPaths: fetchDerivationPaths,
+ blockchain,
+ } as BlockchainWalletPublicKeyRequest);
+ console.log(
+ "[DEBUG] [ImportWallets] loadPublicKeys walletPreview",
+ walletPreview
+ );
+ console.log(
+ "[DEBUG] [ImportWallets] loadPublicKeys userClient",
+ userClient
+ );
- return safeClientResponse(userClient.previewWallets(walletPreview))
+ let r1 = await safeClientResponse(
+ userClient.previewWallets(walletPreview)
+ )
.then((result_) => {
- setLoadPublicKeysError(false)
+ console.log("[DEBUG] [ImportWallets] loadPublicKeys success");
+ setLoadPublicKeysError(false);
const result = result_.wallets[0].walletDescriptors.map(
(descriptor) => ({
...descriptor,
mnemonic, // bring back option for mnemonic === true to differentiat privatkey_derived & mnemnoic
})
) as WalletDescriptor[];
+ console.log("[DEBUG] [ImportWallets] loadPublicKeys result", result_);
setImportedPublicKeys(
result_.wallets[0].walletDescriptors
.filter((descriptor) => descriptor.imported)
@@ -153,10 +168,61 @@ export function ImportWallets({
return result.find((fetched) => fetched.derivationPath === path)!;
});
})
- .catch(() => {
- setLoadPublicKeysError(true)
- return []
+ .catch((e) => {
+ console.log("[DEBUG] [ImportWallets] loadPublicKeys error", e);
+ setLoadPublicKeysError(true);
+ return [];
});
+
+ if (r1.length === 0) {
+ console.log("[DEBUG] [ImportWallets] loadPublicKeys sleeping...");
+ const sleep = () => {
+ return new Promise((resolve) => setTimeout(resolve, 2000));
+ };
+ await sleep();
+
+ console.log("[DEBUG] [ImportWallets] loadPublicKeys trying again...");
+
+ r1 = await safeClientResponse(userClient.previewWallets(walletPreview))
+ .then((result_) => {
+ console.log("[DEBUG] [ImportWallets] 2 loadPublicKeys success");
+ setLoadPublicKeysError(false);
+ const result = result_.wallets[0].walletDescriptors.map(
+ (descriptor) => ({
+ ...descriptor,
+ mnemonic, // bring back option for mnemonic === true to differentiat privatkey_derived & mnemnoic
+ })
+ ) as WalletDescriptor[];
+ console.log(
+ "[DEBUG] [ImportWallets] 2 loadPublicKeys result",
+ result_
+ );
+ setImportedPublicKeys(
+ result_.wallets[0].walletDescriptors
+ .filter((descriptor) => descriptor.imported)
+ .map((descriptor) => descriptor.publicKey)
+ );
+ setWalletDescriptorsCache((cached) => [
+ ...(cached ?? []),
+ ...result,
+ ]);
+ return derivationPaths.map((path) => {
+ const cached = cachedDerivationPaths.find(
+ (cached) => cached.derivationPath === path
+ );
+ if (cached) {
+ return cached;
+ }
+ return result.find((fetched) => fetched.derivationPath === path)!;
+ });
+ })
+ .catch((e) => {
+ console.log("[DEBUG] [ImportWallets] 2 loadPublicKeys error", e);
+ setLoadPublicKeysError(true);
+ return [];
+ });
+ }
+ return r1;
},
[blockchain, userClient, walletDescriptorsCache]
);
@@ -213,11 +279,25 @@ export function ImportWallets({
blockchain: Blockchain;
}[]
) => {
+ const discoveredWalletDescriptors = newWalletDescriptors.filter(
+ (it) => it != null
+ );
+
+ console.log(
+ "[DEBUG] [ImportWallets] fetchPublicKeys discoveredWalletDescriptors",
+ discoveredWalletDescriptors
+ );
if (!isFundedAddresses) {
- setWalletDescriptors(newWalletDescriptors);
+ setWalletDescriptors(discoveredWalletDescriptors);
}
const balances = await loadBalances(
- newWalletDescriptors.map((descriptor) => descriptor.publicKey)
+ discoveredWalletDescriptors.map(
+ (descriptor) => descriptor.publicKey
+ )
+ );
+ console.log(
+ "[DEBUG] [ImportWallets] fetchPublicKeys balances",
+ balances
);
const balancesObj = Object.fromEntries(
balances
@@ -228,7 +308,7 @@ export function ImportWallets({
);
setBalances(balancesObj);
setWalletDescriptors(
- newWalletDescriptors
+ discoveredWalletDescriptors
.filter((walletDescriptor) => {
if (isFundedAddresses) {
const balance = balancesObj[walletDescriptor.publicKey];
@@ -272,7 +352,6 @@ export function ImportWallets({
// setWalletDescriptors,
]);
-
useEffect(() => {
fetchPublicKeys();
}, [fetchPublicKeys]);
@@ -376,13 +455,14 @@ export function ImportWallets({
const renderItem = useCallback(
(item: WalletDescriptor) => {
const { publicKey, derivationPath } = item;
- const displayBalance = `${balances?.[publicKey]
- ? (+ethers.utils.formatUnits(
- balances?.[publicKey],
- decimals
- )).toFixed(4)
- : "-"
- } ${symbol}`;
+ const displayBalance = `${
+ balances?.[publicKey]
+ ? (+ethers.utils.formatUnits(
+ balances?.[publicKey],
+ decimals
+ )).toFixed(4)
+ : "-"
+ } ${symbol}`;
const label = formatWalletAddress(item.publicKey, 5);
const disabled = isDisabledPublicKey(publicKey);
@@ -502,7 +582,7 @@ export function ImportWallets({
{walletDescriptors === null ||
- (balances === null && isFundedAddresses) ? (
+ (balances === null && isFundedAddresses) ? (
) : !derivationPathInputError && walletDescriptors.length > 0 ? (
@@ -524,7 +604,7 @@ export function ImportWallets({
{
- fetchPublicKeys()
+ fetchPublicKeys();
}}
/>
) : (
diff --git a/packages/app-extension/src/manifest.json b/packages/app-extension/src/manifest.json
index d1fc7b205..fbbce9954 100644
--- a/packages/app-extension/src/manifest.json
+++ b/packages/app-extension/src/manifest.json
@@ -20,6 +20,9 @@
}
}
},
+ "content-security-policy": {
+ "extension_pages": "frame-src: 'self' '*://connect.trezor.io/*'"
+ },
"content_scripts": [
{
"matches": [""],
@@ -27,6 +30,10 @@
"exclude_globs": ["*chrome-extension*"],
"js": ["contentScript.js"],
"all_frames": true
+ },
+ {
+ "js": ["vendor/trezor-content-script.js"],
+ "matches": ["*://connect.trezor.io/*"]
}
],
"icons": {
@@ -34,5 +41,6 @@
"192": "anchor.png",
"512": "anchor.png"
},
- "permissions": ["alarms", "storage", "background"]
+ "host-permissions": ["*://connect.trezor.io/*", "*://127.0.0.1:21325/*"],
+ "permissions": ["alarms", "storage", "background", "*://connect.trezor.io/*"]
}
diff --git a/packages/app-extension/src/refactor/components/TransactionConfirmation.tsx b/packages/app-extension/src/refactor/components/TransactionConfirmation.tsx
index 6f894e3f3..583915382 100644
--- a/packages/app-extension/src/refactor/components/TransactionConfirmation.tsx
+++ b/packages/app-extension/src/refactor/components/TransactionConfirmation.tsx
@@ -175,6 +175,7 @@ export async function withTransactionCancelBypass(fn: Function) {
await fn();
} catch (err: any) {
const msg = (err.message ?? "") as string;
+ // FIXME: This throws on SUCCESSFUL token txs submitted through trezor
console.error("unable to create transaction", err);
if (
diff --git a/packages/app-extension/src/webextension/trezor/README.md b/packages/app-extension/src/webextension/trezor/README.md
new file mode 100644
index 000000000..8ca9b1e8d
--- /dev/null
+++ b/packages/app-extension/src/webextension/trezor/README.md
@@ -0,0 +1,17 @@
+The process of building these files is as follows:
+Follow the install steps here:
+https://github.com/trezor/trezor-suite/tree/develop/packages/connect-examples/webextension-mv3-sw
+
+Namely:
+Clone the `trezor/trezor-suite` repo, then inside it run:
+
+```
+ yarn
+ yarn build:libs
+ yarn workspace @trezor/connect-web build:webextension
+ yarn workspace @trezor/connect-web build:inline
+ node packages/connect-examples/update-webextensions.js
+```
+
+You'll find the requisite files in `packages/connect-examples/webextension-mv3/build`, copy them here
+If additional files are necessary, modify the webpack config in `app-extension/webpack.config.js` to include them
diff --git a/packages/app-extension/src/webextension/trezor/trezor-content-script.js b/packages/app-extension/src/webextension/trezor/trezor-content-script.js
new file mode 100644
index 000000000..814082fd9
--- /dev/null
+++ b/packages/app-extension/src/webextension/trezor/trezor-content-script.js
@@ -0,0 +1,23 @@
+/*
+ Passing messages from background script to popup
+*/
+
+let port = chrome.runtime.connect({ name: "trezor-connect" });
+
+port.onMessage.addListener((message) => {
+ window.postMessage(message, window.location.origin);
+});
+
+port.onDisconnect.addListener(() => {
+ port = null;
+});
+
+/*
+ Passing messages from popup to background script
+*/
+
+window.addEventListener("message", (event) => {
+ if (port && event.source === window && event.data) {
+ port.postMessage({ data: event.data });
+ }
+});
diff --git a/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.html b/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.html
new file mode 100644
index 000000000..d53c5961a
--- /dev/null
+++ b/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.html
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ TrezorConnect | Trezor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.js b/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.js
new file mode 100644
index 000000000..cce448d2f
--- /dev/null
+++ b/packages/app-extension/src/webextension/trezor/trezor-usb-permissions.js
@@ -0,0 +1,72 @@
+const VERSION = "9.2.1";
+const versionN = VERSION.split(".").map((s) => parseInt(s, 10));
+// const DIRECTORY = `${ versionN[0] }${ (versionN[1] > 0 ? `.${versionN[1]}` : '') }/`;
+const DIRECTORY = `${versionN[0]}/`;
+const url = `https://connect.trezor.io/${DIRECTORY}`;
+
+/* Handling messages from usb permissions iframe */
+const switchToPopupTab = (event) => {
+ window.removeEventListener("beforeunload", switchToPopupTab);
+
+ if (!event) {
+ // triggered from 'usb-permissions-close' message
+ // close current tab
+ chrome.tabs.query(
+ {
+ currentWindow: true,
+ active: true,
+ },
+ (current) => {
+ if (current.length < 0) return;
+ chrome.tabs.remove(current[0].id);
+ }
+ );
+ }
+
+ // find tab by popup pattern and switch to it
+ chrome.tabs.query(
+ {
+ url: `${url}popup.html`,
+ },
+ (tabs) => {
+ if (tabs.length < 0) return;
+ chrome.tabs.update(tabs[0].id, { active: true });
+ }
+ );
+};
+
+window.addEventListener("message", (event) => {
+ if (event.data === "usb-permissions-init") {
+ const iframe = document.getElementById("trezor-usb-permissions");
+ if (!iframe || !(iframe instanceof HTMLIFrameElement)) {
+ throw new Error("trezor-usb-permissions missing or incorrect dom type");
+ }
+ iframe.contentWindow.postMessage(
+ {
+ type: "usb-permissions-init",
+ extension: chrome.runtime.id,
+ },
+ "*"
+ );
+ } else if (event.data === "usb-permissions-close") {
+ switchToPopupTab();
+ }
+});
+
+window.addEventListener("beforeunload", switchToPopupTab);
+window.addEventListener("load", () => {
+ const instance = document.createElement("iframe");
+ instance.id = "trezor-usb-permissions";
+ instance.frameBorder = "0";
+ instance.width = "100%";
+ instance.height = "100%";
+ instance.style.border = "0px";
+ instance.style.width = "100%";
+ instance.style.height = "100%";
+ instance.setAttribute("src", `${url}extension-permissions.html`);
+ instance.setAttribute("allow", "usb");
+
+ if (document.body) {
+ document.body.appendChild(instance);
+ }
+});
diff --git a/packages/app-extension/webpack.config.js b/packages/app-extension/webpack.config.js
index 93f0ebe5e..0df1018f0 100644
--- a/packages/app-extension/webpack.config.js
+++ b/packages/app-extension/webpack.config.js
@@ -311,7 +311,7 @@ const options = {
? {
// add support for react devtools in development mode
extension_pages:
- "script-src 'self' http://localhost:8097; object-src 'self'",
+ "script-src 'self' http://localhost:8097; object-src 'self'; frame-src: 'self' 'https://connect.trezor.io/*' '*://127.0.0.1:21325/*'",
}
: undefined,
},
@@ -357,6 +357,18 @@ const options = {
to: "injected.js",
force: true,
},
+ {
+ from: "src/webextension/trezor/trezor-content-script.js",
+ to: "vendor/trezor-content-script.js",
+ },
+ {
+ from: "src/webextension/trezor/trezor-usb-permissions.js",
+ to: "vendor/trezor-usb-permissions.js",
+ },
+ {
+ from: "src/webextension/trezor/trezor-usb-permissions.html",
+ to: "vendor/trezor-usb-permissions.html",
+ },
],
}),
],
diff --git a/packages/common/src/types.ts b/packages/common/src/types.ts
index a84e2b7a9..c9cde20a7 100644
--- a/packages/common/src/types.ts
+++ b/packages/common/src/types.ts
@@ -116,7 +116,7 @@ export type NftAttribute = {
value: string;
};
-export type KeyringType = "mnemonic" | "ledger" | "private-key";
+export type KeyringType = "mnemonic" | "ledger" | "trezor" | "private-key";
export type MnemonicKeyringInit = {
signedWalletDescriptors: Array;
diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json
index 04d05d009..8af2dbe0c 100644
--- a/packages/i18n/src/locales/en.json
+++ b/packages/i18n/src/locales/en.json
@@ -269,6 +269,7 @@
"hardware": "Hardware",
"hardware_wallet": "Hardware wallet",
"have_hardware_wallet": "Import hardware wallet",
+ "have_hardware_wallet_trezor": "Import hardware wallet (Trezor)",
"help_ampersand_support": "Help & Support",
"help_us_learn_more_about_you_as_an_investor": "Help us learn more about you as an investor. We’re required by law to collect this information.",
"hidden_tokens": "Hidden Tokens",
diff --git a/packages/recoil/src/context/OnboardingProvider.tsx b/packages/recoil/src/context/OnboardingProvider.tsx
index 04bd08b02..41388c824 100644
--- a/packages/recoil/src/context/OnboardingProvider.tsx
+++ b/packages/recoil/src/context/OnboardingProvider.tsx
@@ -178,6 +178,7 @@ export function OnboardingProvider({
// TODO: we shouldn't use the same handler for both paths here.
if (
+ keyringType === "trezor" ||
keyringType === "ledger" ||
action === "import" ||
keyringType === "private-key"
@@ -238,7 +239,10 @@ export function OnboardingProvider({
): MnemonicKeyringInit | LedgerKeyringInit | PrivateKeyKeyringInit => {
if (data.keyringType === "private-key") {
return data.privateKeyKeyringInit!;
- } else if (data.keyringType === "ledger") {
+ } else if (
+ data.keyringType === "ledger" ||
+ data.keyringType === "trezor"
+ ) {
return {
signedWalletDescriptors: data.signedWalletDescriptors!,
};
@@ -268,6 +272,12 @@ export function OnboardingProvider({
device: "ledger",
...descriptor,
}));
+ } else if (data.keyringType === "trezor") {
+ return data.signedWalletDescriptors!.map((descriptor) => ({
+ type: BlockchainWalletInitType.HARDWARE,
+ device: "trezor",
+ ...descriptor,
+ }));
} else {
return data.signedWalletDescriptors!.map((descriptor) => ({
type: BlockchainWalletInitType.MNEMONIC,
diff --git a/packages/recoil/src/hooks/wallet.tsx b/packages/recoil/src/hooks/wallet.tsx
index 15506453c..31ed748e0 100644
--- a/packages/recoil/src/hooks/wallet.tsx
+++ b/packages/recoil/src/hooks/wallet.tsx
@@ -19,6 +19,7 @@ export function useActiveSolanaWallet(): {
}
export function useActiveWallet(): Wallet {
+ console.log("[DEBUG] useActiveWallet", useRecoilValue(atoms.activeWallet));
return useRecoilValue(atoms.activeWallet);
}
export function useActiveWalletNullable(): Wallet | null {
diff --git a/packages/secure-background/src/background-clients/safeClientResponse.ts b/packages/secure-background/src/background-clients/safeClientResponse.ts
index 6d0a1de17..a4823e448 100644
--- a/packages/secure-background/src/background-clients/safeClientResponse.ts
+++ b/packages/secure-background/src/background-clients/safeClientResponse.ts
@@ -3,12 +3,13 @@ import type { SecureRequestType, SecureResponse } from "../types/transports";
export async function safeClientResponse<
T extends SECURE_EVENTS,
- R extends SecureRequestType
+ R extends SecureRequestType,
>(
p: Promise>
): Promise["response"]>> {
const response = await p;
if (response.error) {
+ console.log("[DEBUG] safeClientResponse error:", response.error);
throw response.error;
}
return response.response!;
diff --git a/packages/secure-background/src/keyring/BlockchainKeyring.ts b/packages/secure-background/src/keyring/BlockchainKeyring.ts
index adff4bacb..7dd4a5fb1 100644
--- a/packages/secure-background/src/keyring/BlockchainKeyring.ts
+++ b/packages/secure-background/src/keyring/BlockchainKeyring.ts
@@ -21,6 +21,8 @@ import type {
KeyringFactory,
LedgerKeyring,
LedgerKeyringFactory,
+ TrezorKeyring,
+ TrezorKeyringFactory,
} from "./types";
const logger = getLogger("background/backend/keyring");
@@ -31,9 +33,11 @@ export class BlockchainKeyring {
private hdKeyringFactory: HdKeyringFactory;
private keyringFactory: KeyringFactory;
private ledgerKeyringFactory: LedgerKeyringFactory;
+ private trezorKeyringFactory: TrezorKeyringFactory;
private hdKeyring?: HdKeyring;
private importedKeyring?: Keyring;
public ledgerKeyring?: LedgerKeyring;
+ public trezorKeyring?: TrezorKeyring;
private activeWallet?: string;
private deletedWallets?: Array;
private blockchain: Blockchain;
@@ -43,12 +47,14 @@ export class BlockchainKeyring {
store: SecureStore,
hdKeyringFactory: HdKeyringFactory,
keyringFactory: KeyringFactory,
- ledgerKeyringFactory: LedgerKeyringFactory
+ ledgerKeyringFactory: LedgerKeyringFactory,
+ trezorKeyringFactory: TrezorKeyringFactory
) {
this.store = store;
this.hdKeyringFactory = hdKeyringFactory;
this.keyringFactory = keyringFactory;
this.ledgerKeyringFactory = ledgerKeyringFactory;
+ this.trezorKeyringFactory = trezorKeyringFactory;
this.blockchain = blockchain;
}
@@ -56,6 +62,7 @@ export class BlockchainKeyring {
hdPublicKeys: Array;
importedPublicKeys: Array;
ledgerPublicKeys: Array;
+ trezorPublicKeys: Array;
} {
const hdPublicKeys = this.hdKeyring ? this.hdKeyring.publicKeys() : [];
const importedPublicKeys = this.importedKeyring
@@ -64,10 +71,15 @@ export class BlockchainKeyring {
const ledgerPublicKeys = this.ledgerKeyring
? this.ledgerKeyring.publicKeys()
: [];
+ const trezorPublicKeys = this.trezorKeyring
+ ? this.trezorKeyring.publicKeys()
+ : [];
+
return {
hdPublicKeys,
importedPublicKeys,
ledgerPublicKeys,
+ trezorPublicKeys,
};
}
@@ -77,6 +89,7 @@ export class BlockchainKeyring {
}
this.ledgerKeyring = this.ledgerKeyringFactory.init([]);
+ this.trezorKeyring = this.trezorKeyringFactory.init([]);
this.importedKeyring = this.keyringFactory.init([]);
}
@@ -225,13 +238,14 @@ export class BlockchainKeyring {
}
public toJson(): BlockchainKeyringJson {
- if (!this.importedKeyring || !this.ledgerKeyring) {
+ if (!this.importedKeyring || !this.ledgerKeyring || !this.trezorKeyring) {
throw new Error("blockchain keyring is locked");
}
return {
hdKeyring: this.hdKeyring ? this.hdKeyring.toJson() : undefined,
importedKeyring: this.importedKeyring.toJson(),
ledgerKeyring: this.ledgerKeyring.toJson(),
+ trezorKeyring: this.trezorKeyring.toJson(),
activeWallet: this.activeWallet!,
deletedWallets: this.deletedWallets!,
};
@@ -242,6 +256,7 @@ export class BlockchainKeyring {
hdKeyring,
importedKeyring,
ledgerKeyring,
+ trezorKeyring,
activeWallet,
deletedWallets,
} = json;
@@ -250,6 +265,7 @@ export class BlockchainKeyring {
: undefined;
this.importedKeyring = this.keyringFactory.fromJson(importedKeyring);
this.ledgerKeyring = this.ledgerKeyringFactory.fromJson(ledgerKeyring);
+ this.trezorKeyring = this.trezorKeyringFactory.fromJson(trezorKeyring);
this.activeWallet = activeWallet;
this.deletedWallets = deletedWallets;
}
@@ -283,6 +299,7 @@ export class BlockchainKeyring {
this.hdKeyring,
this.importedKeyring,
this.ledgerKeyring,
+ this.trezorKeyring,
]) {
if (keyring && keyring.publicKeys().find((k) => k === publicKey)) {
return keyring;
diff --git a/packages/secure-background/src/keyring/index.ts b/packages/secure-background/src/keyring/index.ts
index 59f8803cd..d24589102 100644
--- a/packages/secure-background/src/keyring/index.ts
+++ b/packages/secure-background/src/keyring/index.ts
@@ -10,6 +10,7 @@ import {
SolanaHdKeyringFactory,
SolanaKeyringFactory,
SolanaLedgerKeyringFactory,
+ SolanaTrezorKeyringFactory,
} from "../services/svm/keyring";
import type { SecureStore } from "../store/SecureStore";
@@ -33,21 +34,25 @@ export function keyringForBlockchain(
store,
new SolanaHdKeyringFactory(),
new SolanaKeyringFactory(),
- new SolanaLedgerKeyringFactory()
+ new SolanaLedgerKeyringFactory(),
+ new SolanaTrezorKeyringFactory()
),
[Blockchain.ECLIPSE]: new BlockchainKeyring(
Blockchain.ECLIPSE,
store,
new SolanaHdKeyringFactory(),
new SolanaKeyringFactory(),
- new SolanaLedgerKeyringFactory()
+ new SolanaLedgerKeyringFactory(),
+ new SolanaTrezorKeyringFactory()
),
[Blockchain.ETHEREUM]: new BlockchainKeyring(
Blockchain.ETHEREUM,
store,
new EthereumHdKeyringFactory(),
new EthereumKeyringFactory(),
- new EthereumLedgerKeyringFactory()
+ new EthereumLedgerKeyringFactory(),
+ // FIXME: Fix ETH Trezor properly
+ new SolanaTrezorKeyringFactory()
),
}[blockchain];
}
diff --git a/packages/secure-background/src/keyring/trezor.ts b/packages/secure-background/src/keyring/trezor.ts
new file mode 100644
index 000000000..ef17dbda2
--- /dev/null
+++ b/packages/secure-background/src/keyring/trezor.ts
@@ -0,0 +1,75 @@
+import type { Blockchain, WalletDescriptor } from "@coral-xyz/common";
+
+import type { TrezorKeyring, TrezorKeyringJson } from "./types";
+
+export class TrezorKeyringBase
+ implements
+ Omit
+{
+ protected walletDescriptors: Array;
+ protected blockchain: Blockchain;
+
+ constructor(
+ walletDescriptors: Array,
+ blockchain: Blockchain
+ ) {
+ this.walletDescriptors = walletDescriptors;
+ this.blockchain = blockchain;
+ }
+
+ signTransaction(tx: Buffer, address: string): Promise {
+ throw new Error("Method not implemented.");
+ }
+ signMessage(tx: Buffer, address: string): Promise {
+ throw new Error("Method not implemented.");
+ }
+
+ public deletePublicKey(publicKey: string) {
+ this.walletDescriptors = this.walletDescriptors.filter(
+ (x) => x.publicKey !== publicKey
+ );
+ }
+
+ public async add(walletDescriptor: WalletDescriptor) {
+ const found = this.walletDescriptors.find(
+ (x) => x.publicKey === walletDescriptor.publicKey
+ );
+ if (found) {
+ throw new Error("trezor account already exists");
+ }
+ this.walletDescriptors.push(walletDescriptor);
+ }
+
+ public publicKeys(): Array {
+ return this.walletDescriptors.map((x) => x.publicKey);
+ }
+
+ public exportSecretKey(_address: string): string | null {
+ throw new Error("trezor keyring cannot export secret keys");
+ }
+ public importSecretKey(_secretKey: string): string {
+ throw new Error("trezor keyring cannot import secret keys");
+ }
+
+ public seedToSecretKey(seed: Buffer, derivationPath: string): string {
+ throw new Error("trezor keyring cannot derive secrets");
+ }
+
+ public secretKeyToPublicKeys(
+ secretKey: string
+ ): { type: string; publicKey: string }[] {
+ throw new Error("trezor keyring has no secrets");
+ }
+
+ public toString(): string {
+ return JSON.stringify({
+ walletDescriptors: this.walletDescriptors,
+ });
+ }
+
+ public toJson(): TrezorKeyringJson {
+ return {
+ walletDescriptors: this.walletDescriptors,
+ };
+ }
+}
diff --git a/packages/secure-background/src/keyring/types.ts b/packages/secure-background/src/keyring/types.ts
index e2e5cea04..c0a527bfc 100644
--- a/packages/secure-background/src/keyring/types.ts
+++ b/packages/secure-background/src/keyring/types.ts
@@ -4,6 +4,7 @@ export type BlockchainKeyringJson = {
hdKeyring?: HdKeyringJson;
importedKeyring: KeyringJson;
ledgerKeyring: LedgerKeyringJson;
+ trezorKeyring: TrezorKeyringJson;
activeWallet: string;
deletedWallets: Array;
};
@@ -24,6 +25,11 @@ export type LedgerKeyringJson = {
walletDescriptors: Array;
};
+// TODO: Implement & Type Check
+export type TrezorKeyringJson = {
+ walletDescriptors: Array;
+};
+
export interface KeyringFactory {
init(secretKeys: Array): Keyring;
fromJson(payload: KeyringJson): Keyring;
@@ -81,4 +87,28 @@ export interface LedgerKeyring extends KeyringBase {
toJson(): LedgerKeyringJson;
}
-export type AnyKeyring = Keyring | HdKeyring | LedgerKeyring;
+//
+// Trezor keyring types
+//
+
+// TODO: Implement & Type Check
+export interface TrezorKeyringFactory {
+ init(walletDescriptors: Array): LedgerKeyring;
+ fromJson(obj: LedgerKeyringJson): LedgerKeyring;
+}
+
+// TODO: Implement & Type Check
+export interface TrezorKeyring extends KeyringBase {
+ prepareSignTransaction(request: { publicKey: string; tx: string }): Promise<{
+ signableTx: string;
+ derivationPath: string;
+ }>;
+ prepareSignMessage(request: { publicKey: string; message: string }): Promise<{
+ signableMessage: string;
+ derivationPath: string;
+ }>;
+ add(walletDescriptor: WalletDescriptor): Promise;
+ toJson(): TrezorKeyringJson;
+}
+
+export type AnyKeyring = Keyring | HdKeyring | LedgerKeyring | TrezorKeyring;
diff --git a/packages/secure-background/src/services/svm/keyring.ts b/packages/secure-background/src/services/svm/keyring.ts
index cace105b9..e14565419 100644
--- a/packages/secure-background/src/services/svm/keyring.ts
+++ b/packages/secure-background/src/services/svm/keyring.ts
@@ -6,6 +6,7 @@ import { encode } from "bs58";
import nacl from "tweetnacl";
import { LedgerKeyringBase } from "../../keyring/ledger";
+import { TrezorKeyringBase } from "../../keyring/trezor";
import type {
HdKeyring,
HdKeyringFactory,
@@ -16,6 +17,8 @@ import type {
KeyringJson,
LedgerKeyring,
LedgerKeyringJson,
+ TrezorKeyring,
+ TrezorKeyringJson,
} from "../../keyring/types";
import {
@@ -280,3 +283,57 @@ class SolanaLedgerKeyring extends LedgerKeyringBase implements LedgerKeyring {
};
}
}
+
+export class SolanaTrezorKeyringFactory {
+ public init(walletDescriptors: Array): TrezorKeyring {
+ return new SolanaTrezorKeyring(walletDescriptors, Blockchain.SOLANA);
+ }
+
+ public fromJson(obj: TrezorKeyringJson): TrezorKeyring {
+ return new SolanaTrezorKeyring(obj.walletDescriptors, Blockchain.SOLANA);
+ }
+}
+
+export class SolanaTrezorKeyring
+ extends TrezorKeyringBase
+ implements TrezorKeyring
+{
+ public async prepareSignTransaction(request: {
+ publicKey: string;
+ tx: string;
+ }): Promise<{
+ signableTx: string;
+ derivationPath: string;
+ }> {
+ console.log(
+ "[DEBUG] [SOLANA TREZOR KEYRING] prepareSignTransaction",
+ request
+ );
+
+ const walletDescriptor = this.walletDescriptors.find(
+ (p) => p.publicKey === request.publicKey
+ );
+ if (!walletDescriptor) {
+ throw new Error("ledger address not found");
+ }
+
+ const transaction = deserializeTransaction(request.tx);
+ // TODO: Check if we can use `encode` here as for ledger
+ const signableTx = transaction.message.serialize().toString("hex");
+
+ return {
+ signableTx,
+ derivationPath: walletDescriptor.derivationPath.replace("m/", ""),
+ };
+ }
+
+ public async prepareSignMessage(request: {
+ publicKey: string;
+ message: string;
+ }): Promise<{
+ signableMessage: string;
+ derivationPath: string;
+ }> {
+ throw new Error("[DEBUG] [SOLANA TREZOR KEYRING] Method not implemented.");
+ }
+}
diff --git a/packages/secure-background/src/services/svm/server.ts b/packages/secure-background/src/services/svm/server.ts
index caa05cdbd..b35947dec 100644
--- a/packages/secure-background/src/services/svm/server.ts
+++ b/packages/secure-background/src/services/svm/server.ts
@@ -1,6 +1,9 @@
import type { WalletDescriptor } from "@coral-xyz/common";
import { Blockchain } from "@coral-xyz/common";
-import { createSignInMessage, createSignInMessageText } from "@solana/wallet-standard-util";
+import {
+ createSignInMessage,
+ createSignInMessageText,
+} from "@solana/wallet-standard-util";
import { Connection, PublicKey, VersionedTransaction } from "@solana/web3.js";
import bs58, { decode, encode } from "bs58";
@@ -19,6 +22,7 @@ import type {
TransportSender,
} from "../../types/transports";
import { LedgerClient } from "../ledger/client";
+import { TrezorClient } from "../trezor/client";
import { UserClient } from "../user/client";
import type { SECURE_SVM_EVENTS, SECURE_SVM_SIGN_MESSAGE } from "./events";
@@ -28,6 +32,7 @@ export class SVMService {
public destroy: TransportRemoveListener;
private secureUIClient: SecureUIClient;
private ledgerClient: LedgerClient;
+ private trezorClient: TrezorClient;
private userClient: UserClient;
private keyringStore: KeyringStore;
@@ -41,6 +46,7 @@ export class SVMService {
this.secureUIClient = new SecureUIClient(interfaces.secureUISender);
this.userClient = new UserClient(interfaces.secureSender);
this.ledgerClient = new LedgerClient(interfaces.secureUISender);
+ this.trezorClient = new TrezorClient(interfaces.secureUISender);
this.destroy = interfaces.secureReceiver.setHandler(
this.eventHandler.bind(this)
);
@@ -137,64 +143,65 @@ export class SVMService {
});
};
- private handleSignIn: TransportHandler<"SECURE_SVM_SIGN_IN"> =
- async ({
- event,
- request,
- error,
- respond
- }) => {
-
- const user = await safeClientResponse(
- this.userClient.getUser()
- );
- if (user.keyringStoreState === KeyringStoreState.NeedsOnboarding) {
- return error(new Error("No active user"));
- }
- let publicKey =
- user.publicKeys?.platforms[request.blockchain]?.activePublicKey;
+ private handleSignIn: TransportHandler<"SECURE_SVM_SIGN_IN"> = async ({
+ event,
+ request,
+ error,
+ respond,
+ }) => {
+ const user = await safeClientResponse(this.userClient.getUser());
+ if (user.keyringStoreState === KeyringStoreState.NeedsOnboarding) {
+ return error(new Error("No active user"));
+ }
+ let publicKey =
+ user.publicKeys?.platforms[request.blockchain]?.activePublicKey;
- if (!publicKey) {
- return error(new Error("No account for blockchain"));
- }
+ if (!publicKey) {
+ return error(new Error("No account for blockchain"));
+ }
- if(request.input?.address) {
- publicKey = request.input.address;
- const publicKeyInfo = user.publicKeys?.platforms[request.blockchain]?.publicKeys[request.input.address];
- if(!publicKeyInfo) {
- return error(new Error("Requested public key not found."));
- }
+ if (request.input?.address) {
+ publicKey = request.input.address;
+ const publicKeyInfo =
+ user.publicKeys?.platforms[request.blockchain]?.publicKeys[
+ request.input.address
+ ];
+ if (!publicKeyInfo) {
+ return error(new Error("Requested public key not found."));
}
+ }
- const message = createSignInMessage({
- domain: event.origin.address,
- address: publicKey,
- ...request.input ?? {}
- });
+ const message = createSignInMessage({
+ domain: event.origin.address,
+ address: publicKey,
+ ...(request.input ?? {}),
+ });
- const encodedMessage = encode(message);
+ const encodedMessage = encode(message);
- await safeClientResponse(this.secureUIClient.confirm(event, {
+ await safeClientResponse(
+ this.secureUIClient.confirm(event, {
message: encode(message),
- publicKey
- }));
-
- const { signature } = await this.getMessageSignature(
- user,
publicKey,
- encodedMessage,
- event.origin
- )
+ })
+ );
+
+ const { signature } = await this.getMessageSignature(
+ user,
+ publicKey,
+ encodedMessage,
+ event.origin
+ );
- const connectionUrl = user.preferences.blockchains.solana.connectionUrl;
+ const connectionUrl = user.preferences.blockchains.solana.connectionUrl;
- return respond({
- signedMessage: encodedMessage,
- signature,
- publicKey,
- connectionUrl
- })
- };
+ return respond({
+ signedMessage: encodedMessage,
+ signature,
+ publicKey,
+ connectionUrl,
+ });
+ };
private handleSignMessage: TransportHandler<"SECURE_SVM_SIGN_MESSAGE"> =
async (event) => {
@@ -223,7 +230,7 @@ export class SVMService {
publicKey,
event.request.message,
event.event.origin
- )
+ );
return event.respond({
signedMessage: signature,
@@ -347,8 +354,32 @@ export class SVMService {
?.publicKeys()
.includes(publicKey);
+ const isTrezorWallet = !!blockchainKeyring.trezorKeyring
+ ?.publicKeys()
+ .includes(publicKey);
+
// If we need ledger signature, request via ledgerClient
- if (blockchainKeyring.ledgerKeyring && isLedgerWallet) {
+ if (blockchainKeyring.trezorKeyring && isTrezorWallet) {
+ const trezorRequest =
+ await blockchainKeyring.trezorKeyring.prepareSignTransaction({
+ publicKey,
+ tx,
+ });
+
+ const trezorResponse = await safeClientResponse(
+ this.trezorClient.svmSignTransaction(
+ {
+ txMessage: trezorRequest.signableTx,
+ derivationPath: trezorRequest.derivationPath,
+ },
+ { origin }
+ )
+ );
+
+ return {
+ signature: trezorResponse.signature,
+ };
+ } else if (blockchainKeyring.ledgerKeyring && isLedgerWallet) {
const ledgerRequest =
await blockchainKeyring.ledgerKeyring.prepareSignTransaction({
publicKey,
@@ -422,10 +453,7 @@ export class SVMService {
);
return { signature: ledgerResponse.signature };
} else {
- const signature = await blockchainKeyring.signMessage(
- message,
- publicKey
- );
+ const signature = await blockchainKeyring.signMessage(message, publicKey);
return { signature };
}
}
diff --git a/packages/secure-background/src/services/trezor/client.ts b/packages/secure-background/src/services/trezor/client.ts
new file mode 100644
index 000000000..63f9b8141
--- /dev/null
+++ b/packages/secure-background/src/services/trezor/client.ts
@@ -0,0 +1,79 @@
+import type {
+ SecureRequest,
+ SecureRequestOptions,
+ SecureResponse,
+ TransportSender,
+} from "../../types/transports";
+import type { SECURE_LEDGER_EVENTS } from "../ledger/events";
+
+// TODO: Replace with Trezor Events OR generic HW events, dependant on PR outcome
+export class TrezorClient {
+ constructor(private client: TransportSender) {}
+
+ public svmSignTransaction(
+ request: SecureRequest<"LEDGER_SVM_SIGN_TX">["request"],
+ options: SecureRequestOptions<"LEDGER_SVM_SIGN_TX", "ui">
+ ): Promise> {
+ // TODO: This is in ServiceWorker
+ // use normal SVM Sign event, then request trezor connect window and sign
+ return this.client
+ .send({
+ name: "LEDGER_SVM_SIGN_TX",
+ request,
+ uiOptions: {},
+ ...options,
+ })
+ .then((response) => {
+ // get the user to sign on trezor here
+ return response;
+ });
+ }
+
+ public svmSignMessage(
+ request: SecureRequest<"LEDGER_SVM_SIGN_MESSAGE">["request"],
+ options: SecureRequestOptions<"LEDGER_SVM_SIGN_MESSAGE", "ui">
+ ): Promise> {
+ return this.client
+ .send({
+ name: "LEDGER_SVM_SIGN_MESSAGE",
+ request,
+ uiOptions: {},
+ ...options,
+ })
+ .then((response) => {
+ return response;
+ });
+ }
+
+ public evmSignMessage(
+ request: SecureRequest<"LEDGER_EVM_SIGN_MESSAGE">["request"],
+ options: SecureRequestOptions<"LEDGER_EVM_SIGN_MESSAGE", "ui">
+ ): Promise> {
+ return this.client
+ .send({
+ name: "LEDGER_EVM_SIGN_MESSAGE",
+ request,
+ uiOptions: {},
+ ...options,
+ })
+ .then((response) => {
+ return response;
+ });
+ }
+
+ public evmSignTransaction(
+ request: SecureRequest<"LEDGER_EVM_SIGN_TX">["request"],
+ options: SecureRequestOptions<"LEDGER_EVM_SIGN_TX", "ui">
+ ): Promise> {
+ return this.client
+ .send({
+ name: "LEDGER_EVM_SIGN_TX",
+ request,
+ uiOptions: {},
+ ...options,
+ })
+ .then((response) => {
+ return response;
+ });
+ }
+}
diff --git a/packages/secure-background/src/services/user/server.ts b/packages/secure-background/src/services/user/server.ts
index 0981edf04..6cf8bdeea 100644
--- a/packages/secure-background/src/services/user/server.ts
+++ b/packages/secure-background/src/services/user/server.ts
@@ -160,6 +160,7 @@ export class UserService {
private handlePreviewWallets: TransportHandler<"SECURE_USER_PREVIEW_WALLETS"> =
async ({ request, event, respond, error }) => {
+ console.log("[DEBUG] handlePreviewWallets", request);
const keyringStoreState = await this.keyringStore.state();
const userKeyring =
keyringStoreState !== KeyringStoreState.NeedsOnboarding
@@ -174,15 +175,17 @@ export class UserService {
switch (request.type) {
case BlockchainWalletPreviewType.HARDWARE: {
- const ledgerResponse = await safeClientResponse(
+ console.log("[DEBUG] handlePreviewWallets 2", request);
+ const hardwareResponse = await safeClientResponse(
this.secureUIClient.confirm(event, {})
);
+ console.log("[DEBUG] hardwareResponse", hardwareResponse);
- const walletDescriptors = ledgerResponse.walletDescriptors.map(
+ const walletDescriptors = hardwareResponse.walletDescriptors.map(
(walletDescriptor) => {
const descriptor: BlockchainWalletDescriptor = {
type: BlockchainWalletDescriptorType.HARDWARE,
- device: "ledger",
+ device: request.device,
blockchain: request.blockchain,
publicKey: walletDescriptor.publicKey,
derivationPath: walletDescriptor.derivationPath,
diff --git a/packages/secure-background/src/store/KeyringStore/UserKeyring.ts b/packages/secure-background/src/store/KeyringStore/UserKeyring.ts
index a89487455..18384b071 100644
--- a/packages/secure-background/src/store/KeyringStore/UserKeyring.ts
+++ b/packages/secure-background/src/store/KeyringStore/UserKeyring.ts
@@ -134,6 +134,8 @@ export class UserKeyring {
this.blockchains.set(blockchain, keyring);
}
+ // Temporarily to fix a weird switch issue
+ /* eslint-disable no-fallthrough */
switch (blockchainWalletInit.type) {
case BlockchainWalletInitType.MNEMONIC: {
if (blockchainWalletInit.mnemonic) {
@@ -158,12 +160,22 @@ export class UserKeyring {
return { publicKey, name, blockchain };
}
case BlockchainWalletInitType.HARDWARE: {
- return {
- ...(await this.ledgerImport({
- ...blockchainWalletInit,
- })),
- blockchain,
- };
+ switch (blockchainWalletInit.device) {
+ case "ledger":
+ return {
+ ...(await this.ledgerImport({
+ ...blockchainWalletInit,
+ })),
+ blockchain,
+ };
+ case "trezor":
+ return {
+ ...(await this.trezorImport({
+ ...blockchainWalletInit,
+ })),
+ blockchain,
+ };
+ }
}
case BlockchainWalletInitType.PRIVATEKEY_DERIVED: {
const [publicKey, name] = await keyring.importSecretFromMnemonic(
@@ -177,6 +189,7 @@ export class UserKeyring {
}
}
}
+ /* eslint-enable no-fallthrough */
public async blockchainKeyringRemove(blockchain: Blockchain): Promise {
const user = await this.store.getActiveUser();
@@ -288,6 +301,35 @@ export class UserKeyring {
};
}
+ private async trezorImport(walletDescriptor: WalletDescriptor): Promise<{
+ publicKey: string;
+ name: string;
+ }> {
+ const blockchainKeyring = this.blockchains.get(walletDescriptor.blockchain);
+ const trezorKeyring = blockchainKeyring!.trezorKeyring!;
+
+ await trezorKeyring.add(walletDescriptor);
+
+ const name = this.store.defaultKeyname.defaultTrezor(
+ trezorKeyring.publicKeys().length
+ );
+ await this.store.setUserPublicKey(
+ this.uuid,
+ walletDescriptor.blockchain,
+ walletDescriptor.publicKey,
+ {
+ name,
+ isCold: true,
+ type: "hardware",
+ }
+ );
+
+ return {
+ name,
+ publicKey: walletDescriptor.publicKey,
+ };
+ }
+
public async keyDelete({
blockchain,
publicKey,
diff --git a/packages/secure-background/src/store/SecureStore.ts b/packages/secure-background/src/store/SecureStore.ts
index 60ebcbe04..97b199902 100644
--- a/packages/secure-background/src/store/SecureStore.ts
+++ b/packages/secure-background/src/store/SecureStore.ts
@@ -109,6 +109,9 @@ export class SecureStore {
defaultLedger(index: number): string {
return `Ledger ${index}`;
},
+ defaultTrezor(index: number): string {
+ return `Trezor ${index}`;
+ },
};
// this privatStore is passed to migrations
diff --git a/packages/secure-background/src/transports/ToSecureUITransportSender.ts b/packages/secure-background/src/transports/ToSecureUITransportSender.ts
index 7bd0ad90c..74b90cba9 100644
--- a/packages/secure-background/src/transports/ToSecureUITransportSender.ts
+++ b/packages/secure-background/src/transports/ToSecureUITransportSender.ts
@@ -23,7 +23,7 @@ const logger = getLogger("secure-ui ToSecureUITransportSender");
// Forwarder does not set its own origin and instead expects a origin to exist on the request.
export class ToSecureUITransportSender<
X extends SECURE_EVENTS,
- R extends SecureRequestType = undefined
+ R extends SecureRequestType = undefined,
> implements TransportSender
{
private port: chrome.runtime.Port | null = null;
@@ -43,11 +43,16 @@ export class ToSecureUITransportSender<
this.forwardOrigin = !!init.forwardOrigin;
globalThis.chrome?.runtime?.onConnect.addListener((port) => {
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: Plugin Connected",
+ port.name
+ );
logger.debug("Plugin Connected", port.name);
// if we are still connected to a differnt plugin disconnect it
if (this.port && this.port?.name !== port.name) {
- this.disconnectPlugin(this.port);
+ // FIXME: This causes Trezor account discovery & other methods to fail. Why?
+ //this.disconnectPlugin(this.port);
}
// set port
@@ -77,6 +82,10 @@ export class ToSecureUITransportSender<
}
private maybeDisconnectPlugin = async (port: chrome.runtime.Port) => {
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: maybeDisconnectPlugin",
+ port.name
+ );
// It's possible that a plugin is closed because a new one opened.
// We only handle the disconnect if the port is currently connected.
if (this.port?.name !== port.name) {
@@ -90,18 +99,24 @@ export class ToSecureUITransportSender<
);
// if same port has reconnected (reload)
if (newPort?.name === port.name) {
+ console.log("[DEBUG] ToSecureUITransportSender: err 1");
return; //-> dont send error responses
}
this.disconnectPlugin(port);
};
private disconnectPlugin = (port: chrome.runtime.Port) => {
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: disconnectPlugin",
+ port.name
+ );
logger.debug("Plugin Disconnected", port.name);
// remove listeners & reference
try {
port.disconnect();
} catch (e) {
+ console.log("[DEBUG] ToSecureUITransportSender: err 2");
/* this is okay to fail, as it means no listeners left. */
logger.error("Plugin Disconnect", e);
}
@@ -110,6 +125,7 @@ export class ToSecureUITransportSender<
this.responseQueue
.filter((response) => response.portName === port.name)
.forEach((response) => {
+ console.log("[DEBUG] ToSecureUITransportSender: err 3", response);
const responseWithId = {
name: response.request.name,
id: response.request.id,
@@ -131,6 +147,7 @@ export class ToSecureUITransportSender<
public send: TransportSend = (
request: TransportSendRequest
) => {
+ console.log("[DEBUG] ToSecureUITransportSender: send", request);
// new request -> we wont need to close popup.
clearTimeout(this.maybeClosePopupTimeout);
@@ -160,6 +177,7 @@ export class ToSecureUITransportSender<
channel: string;
data: SecureResponse;
}) => {
+ console.log("[DEBUG] ToSecureUITransportSender: responseHandler", response);
if (response.channel !== CHANNEL_SECURE_UI_RESPONSE) {
return;
}
@@ -183,6 +201,7 @@ export class ToSecureUITransportSender<
if (queuedRequest) {
queuedRequest.resolve(response.data);
} else {
+ console.log("[DEBUG] ToSecureUITransportSender: err 4");
logger.error("No queued request found.", response.data);
}
@@ -198,6 +217,7 @@ export class ToSecureUITransportSender<
};
private isPopupClosable = () => {
+ console.log("[DEBUG] ToSecureUITransportSender: isPopupClosable");
// if we're not waiting for any more responses
// and this is the popup we originally opened
// -> we can close popup.
@@ -211,6 +231,7 @@ export class ToSecureUITransportSender<
};
private maybeClosePopup() {
+ console.log("[DEBUG] ToSecureUITransportSender: maybeClosePopup");
// if we can close popup
// -> close the popup.
if (this.isPopupClosable() && this.port?.sender?.tab?.windowId) {
@@ -219,12 +240,17 @@ export class ToSecureUITransportSender<
globalThis.chrome?.windows
.remove(this.port.sender.tab.windowId)
.catch((e) => {
+ console.log("[DEBUG] ToSecureUITransportSender: err 5");
logger.error("Plugin Close", name, e);
});
}
}
private sendRequests = () => {
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: sendRequests",
+ this.requestQueue
+ );
// no queued requests -> done
if (this.requestQueue.length <= 0) {
return;
@@ -253,20 +279,41 @@ export class ToSecureUITransportSender<
// Focus window to bring it to front.
// Since port comes from onConnect, tab/window information is available.
+ // FIXME: This is the source of the bug causing TrezorConnect ot fail.
+ // Since the *popup* opens the TrezorConnect popup, there is no way to focus back on the window
if (this.port.sender?.tab?.windowId) {
globalThis.chrome?.windows
.update(this.port.sender?.tab?.windowId, {
focused: true,
})
.catch((e) => {
+ console.log("[DEBUG] ToSecureUITransportSender: err 6");
logger.error("window.update", e);
});
+ } else {
+ // This fixes the bug, but it's not an ideal solution
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: Can't find windowId to focus."
+ );
+ //chrome.windows.update(chrome.windows.WINDOW_ID_CURRENT, { focused: true })
+ chrome.windows.getCurrent().then((window) => {
+ console.log(
+ "[DEBUG] ToSecureUITransportSender: current window",
+ window
+ );
+ openPopupWindow(this.port!.sender!.url!).catch((e) => {
+ console.log("[DEBUG] ToSecureUITransportSender: err 7");
+ logger.error("openPopup", e);
+ });
+ });
}
};
private openPopup = (windowId: string) => {
+ console.log("[DEBUG] ToSecureUITransportSender: openPopup", windowId);
this.lastOpenedWindowId = windowId;
openPopupWindow("popup.html?windowId=" + windowId).catch((e) => {
+ console.log("[DEBUG] ToSecureUITransportSender: err 7");
logger.error("openPopup", e);
});
};
diff --git a/packages/secure-background/src/types/blockchain.ts b/packages/secure-background/src/types/blockchain.ts
index 942be0683..e1c7be13e 100644
--- a/packages/secure-background/src/types/blockchain.ts
+++ b/packages/secure-background/src/types/blockchain.ts
@@ -20,64 +20,64 @@ export enum BlockchainWalletDescriptorType {
}
export type BlockchainWalletPublicKeyRequest<
- T extends BlockchainWalletPreviewType = BlockchainWalletPreviewType
+ T extends BlockchainWalletPreviewType = BlockchainWalletPreviewType,
> = T extends BlockchainWalletPreviewType.HARDWARE
? {
type: T;
- device: "ledger";
+ device: "ledger" | "trezor";
blockchain: Blockchain;
derivationPaths: string[];
}
: T extends BlockchainWalletPreviewType.PRIVATEKEY
- ? {
- type: T;
- blockchain: Blockchain;
- privateKey: string;
- }
- : T extends BlockchainWalletPreviewType.MNEMONIC
- ? {
- type: T;
- blockchain: Blockchain;
- mnemonic?: string;
- derivationPaths: string[];
- }
- : T extends BlockchainWalletPreviewType.MNEMONIC_NEXT
- ? {
- type: T;
- blockchain: Blockchain;
- mnemonic?: string;
- }
- : never;
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ privateKey: string;
+ }
+ : T extends BlockchainWalletPreviewType.MNEMONIC
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ mnemonic?: string;
+ derivationPaths: string[];
+ }
+ : T extends BlockchainWalletPreviewType.MNEMONIC_NEXT
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ mnemonic?: string;
+ }
+ : never;
export type BlockchainWalletDescriptor<
- T extends BlockchainWalletDescriptorType = BlockchainWalletDescriptorType
+ T extends BlockchainWalletDescriptorType = BlockchainWalletDescriptorType,
> = T extends BlockchainWalletDescriptorType.HARDWARE
? {
type: T;
- device: "ledger";
+ device: "ledger" | "trezor";
blockchain: Blockchain;
publicKey: string;
imported: boolean;
derivationPath: string;
}
: T extends BlockchainWalletDescriptorType.PRIVATEKEY
- ? {
- type: T;
- blockchain: Blockchain;
- publicKey: string;
- imported: boolean;
- }
- : T extends BlockchainWalletDescriptorType.MNEMONIC
- ? {
- type: T;
- blockchain: Blockchain;
- publicKey: string;
- imported: boolean;
- derivationPath: string;
- }
- : never;
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ publicKey: string;
+ imported: boolean;
+ }
+ : T extends BlockchainWalletDescriptorType.MNEMONIC
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ publicKey: string;
+ imported: boolean;
+ derivationPath: string;
+ }
+ : never;
export type BlockchainWalletInit<
- T extends BlockchainWalletInitType = BlockchainWalletInitType
+ T extends BlockchainWalletInitType = BlockchainWalletInitType,
> = T extends BlockchainWalletInitType.MNEMONIC
? {
type: T;
@@ -87,31 +87,31 @@ export type BlockchainWalletInit<
derivationPath: string;
}
: T extends BlockchainWalletInitType.PRIVATEKEY_DERIVED
- ? {
- type: T;
- blockchain: Blockchain;
- mnemonic: string;
- publicKey: string;
- derivationPath: string;
- name?: string;
- }
- : T extends BlockchainWalletInitType.PRIVATEKEY
- ? {
- type: T;
- blockchain: Blockchain;
- publicKey: string;
- privateKey: string;
- name?: string;
- }
- : T extends BlockchainWalletInitType.HARDWARE
- ? {
- type: T;
- device: "ledger";
- blockchain: Blockchain;
- publicKey: string;
- derivationPath: string;
- }
- : never;
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ mnemonic: string;
+ publicKey: string;
+ derivationPath: string;
+ name?: string;
+ }
+ : T extends BlockchainWalletInitType.PRIVATEKEY
+ ? {
+ type: T;
+ blockchain: Blockchain;
+ publicKey: string;
+ privateKey: string;
+ name?: string;
+ }
+ : T extends BlockchainWalletInitType.HARDWARE
+ ? {
+ type: T;
+ device: "ledger" | "trezor";
+ blockchain: Blockchain;
+ publicKey: string;
+ derivationPath: string;
+ }
+ : never;
export type BlockchainConfig = {
caip2Id: string; // caip-2 "namespace:reference"
diff --git a/packages/secure-ui/src/RequestHandlers/PreviewPublicKeysRequest.tsx b/packages/secure-ui/src/RequestHandlers/PreviewPublicKeysRequest.tsx
new file mode 100644
index 000000000..5bfa7f6c4
--- /dev/null
+++ b/packages/secure-ui/src/RequestHandlers/PreviewPublicKeysRequest.tsx
@@ -0,0 +1,38 @@
+import {
+ BlockchainWalletPreviewType,
+ BlockchainWalletPublicKeyRequest,
+} from "@coral-xyz/secure-background/types";
+
+import { LedgerPreviewPublicKeysRequest } from "./LedgerRequests/LedgerPreviewPublicKeysRequest";
+import { TrezorPreviewPublicKeysRequest } from "./TrezorRequests/TrezorPreviewPublicKeysRequest";
+import type { QueuedUiRequest } from "../_atoms/requestAtoms";
+
+export function HardwarePreviewPublicKeysRequest({
+ currentRequest,
+}: {
+ currentRequest: QueuedUiRequest<"SECURE_USER_PREVIEW_WALLETS">;
+}) {
+ const request =
+ currentRequest.request as BlockchainWalletPublicKeyRequest;
+
+ switch (request.device) {
+ case "ledger":
+ return (
+
+ }
+ />
+ );
+ case "trezor":
+ return (
+
+ }
+ />
+ );
+ default:
+ return null;
+ }
+}
diff --git a/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorPreviewPublicKeysRequest.tsx b/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorPreviewPublicKeysRequest.tsx
new file mode 100644
index 000000000..b8fe275e9
--- /dev/null
+++ b/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorPreviewPublicKeysRequest.tsx
@@ -0,0 +1,320 @@
+import { Blockchain } from "@coral-xyz/common";
+import {
+ BlockchainWalletDescriptorType,
+ BlockchainWalletPreviewType,
+ BlockchainWalletPublicKeyRequest,
+} from "@coral-xyz/secure-background/types";
+import {
+ HardwareIcon,
+ ErrorCrossMarkIcon,
+ Loader,
+ Progress,
+ StyledText,
+ YStack,
+} from "@coral-xyz/tamagui";
+import { useEffect, useState } from "react";
+
+import { isLegalTrezorPath } from "./_utils/isLegalTrezorPath";
+import TrezorConnect from "./_utils/trezorConnect";
+import type { QueuedUiRequest } from "../../_atoms/requestAtoms";
+import { RequestConfirmation } from "../../_sharedComponents/RequestConfirmation";
+
+type DerivationPaths = {
+ blockchain: Blockchain;
+ publicKey: string;
+ derivationPath: string;
+}[];
+
+type FetchWallets = (
+ setProgress: (progress: number) => void
+) => Promise;
+
+export function TrezorPreviewPublicKeysRequest({
+ currentRequest,
+}: {
+ currentRequest: QueuedUiRequest<"SECURE_USER_PREVIEW_WALLETS">;
+}) {
+ const request =
+ currentRequest.request as BlockchainWalletPublicKeyRequest;
+
+ const fetchSolanaWallets = async () => {
+ const derivationPathBundle = request.derivationPaths
+ .filter(isLegalTrezorPath)
+ .map((path) => ({
+ path,
+ showOnTrezor: false,
+ }));
+
+ console.log("[DEBUG] [TREZOR] derivationPathBundle", derivationPathBundle);
+
+ // We want this method, not `solanaGetPublicKeys` to conform with ledger
+ const trezorResponse = await TrezorConnect.solanaGetAddress({
+ bundle: derivationPathBundle,
+ });
+
+ if (trezorResponse.success === false) {
+ return [];
+ }
+
+ const derivationPaths: DerivationPaths = trezorResponse.payload.map(
+ ({ address, serializedPath }) => ({
+ publicKey: address,
+ derivationPath: serializedPath,
+ blockchain: request.blockchain,
+ })
+ );
+
+ console.log(
+ "[DEBUG] [TREZOR] derivationPaths",
+ Object.values(derivationPaths)
+ );
+
+ return Object.values(derivationPaths);
+ };
+
+ // TODO: Implement Ethereum
+ const fetchEthereumWallets = () => {
+ throw new Error("Trezor is not implemented for Ethereum.");
+ };
+
+ switch (request.blockchain) {
+ case Blockchain.SOLANA:
+ return (
+
+ );
+ case Blockchain.ETHEREUM:
+ return (
+
+ );
+ default:
+ return null;
+ }
+}
+
+function SelectWallets({
+ currentRequest,
+ fetchWallets,
+ statuses,
+}: {
+ currentRequest: QueuedUiRequest<"SECURE_USER_PREVIEW_WALLETS">;
+ fetchWallets: FetchWallets;
+ statuses: string[];
+}) {
+ const [status, setStatus] = useState("Connect your Trezor.");
+ const [progress, setProgress] = useState(0);
+ const [isError, setIsError] = useState(false);
+ const [isPermissionsError, setIsPermissionsError] = useState(false);
+
+ useEffect(() => {
+ /*
+ currentRequest.respond({
+ walletDescriptors: [
+ {
+ publicKey: "BdEB9hfSL9qZbjp5CwkYctVPpn3BWpeaMPBWoEj8y9ZH",
+ derivationPath: "m/44'/501'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "ETxHeBBcuw9Yu4dGuP3oXrD12V5RECvmi8ogQ9PkjyVF",
+ derivationPath: "m/44'/501'/0'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "2MLmmoKgCrxVEzMeGatnjdABYS5RXsQSNikcWrmnvQna",
+ derivationPath: "m/44'/501'/1'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "DNDSiWVRF37n1KgQKRF3yuZNiadoXMCePLWqbuYFfveW",
+ derivationPath: "m/44'/501'/2'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "7UJWsKKwM5kTB1dg8hLD7PABdXtDE3MaqQLUk68GRCTF",
+ derivationPath: "m/44'/501'/3'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "BihV1HdhfDtiQxoG7fat4BbgnKZ3W8kpZgDPZPZGtgoH",
+ derivationPath: "m/44'/501'/4'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "AcpwvpfKX1Mb8ibddaYAZPJ6APxu1j9qmnpQMShqkAUW",
+ derivationPath: "m/44'/501'/5'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "GgtGKV9DZstMQ7uKvs1eoWU9DNbrsqLLxUkDSJncfMuN",
+ derivationPath: "m/44'/501'/6'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "8Mixr6hLqBbd3kBvY39csJK2HW6TwHsfhjVERbfpTQj6",
+ derivationPath: "m/44'/501'/7'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "32D4q91naKFrGLVhnw77FU2h2vMUJzkAZa4eweMFFf4T",
+ derivationPath: "m/44'/501'/8'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "DUoqdneN2odimpY5joSfq4tNKYXWUyAoSLRjDzHARKLd",
+ derivationPath: "m/44'/501'/9'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "98JrM15LDHAkzKwB3bFdpSDCgTUkrAcVFojX2KsuA8XE",
+ derivationPath: "m/44'/501'/0'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "Dwv9FVA12vpbrdayRs5JrbNmTmbxXLbqvrtx6WGjTdPF",
+ derivationPath: "m/44'/501'/1'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "J3aNU5PiN5HtMaLmKybYJZoxKTnLMeRRbsWD6K5GQUC",
+ derivationPath: "m/44'/501'/2'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "6wjDZt5TSeaApvw8cPNRnGave6kVMuymJntKtzM81681",
+ derivationPath: "m/44'/501'/3'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "FC1MSnnpbdKPFGVzcFKwFNfKAubNiZhTcam56vx3sERZ",
+ derivationPath: "m/44'/501'/4'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "HYMq9yKFnpp8m56hDAXFCRRnSKLxjhcJ1F1EpbzgvHLU",
+ derivationPath: "m/44'/501'/5'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "DYwqcXLmtmwB88c6nKcQQXVEm86h1crkpdi9cPREszkM",
+ derivationPath: "m/44'/501'/6'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "Dwq63nu4ySq1A1L9vjWRRtkPCQ47Gd5BAzsQqWefGWfB",
+ derivationPath: "m/44'/501'/7'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "9GkDryJG8USX2VSxTQ2Z3b1BAbBJPpGeuXdC7jK4KVXE",
+ derivationPath: "m/44'/501'/8'",
+ blockchain: "solana",
+ },
+ {
+ publicKey: "53A8isrgEuFz8R41uQtuBQpT5WEAmZ6GoWSNy1jHaFxX",
+ derivationPath: "m/44'/501'/9'",
+ blockchain: "solana",
+ },
+ ].map((descriptor) => ({
+ ...descriptor,
+ blockchain: Blockchain.SOLANA,
+ type: BlockchainWalletDescriptorType.HARDWARE,
+ device: "trezor",
+ })),
+ });
+ */
+
+ try {
+ const result = fetchWallets(setProgress);
+
+ result
+ .then((result) => {
+ console.log("[DEBUG] [TREZOR] SelectWallets result", result);
+ currentRequest.respond({
+ walletDescriptors: result.map((descriptor) => ({
+ ...descriptor,
+ type: BlockchainWalletDescriptorType.HARDWARE,
+ device: "trezor",
+ })),
+ });
+ })
+ .catch((e) => {
+ console.log("[DEBUG] [TREZOR] SelectWallets error", e);
+ // FIXME: This error can't happen for Trezor.
+ // Catch Trezor Errors instead.
+ if (e.message === "HID_PERMISSIONS_NOT_AVAILABLE") {
+ setIsError(true);
+ setIsPermissionsError(true);
+ setStatus("Missing HID browser permissions.");
+ } else {
+ setStatus(e.message);
+ setIsError(true);
+ setIsPermissionsError(false);
+ }
+ // currentRequest.error(e instanceof Error ? e : new Error(e));
+ });
+ } catch (e) {
+ console.log(
+ "[DEBUG] [TREZOR] SelectWallets some kinda weird error calling fetchWallets",
+ e
+ );
+ }
+ }, [currentRequest.id]);
+
+ return (
+ {
+ window.close();
+ }}
+ rightButton={isPermissionsError ? "Grant Trezor Permissions" : null}
+ onDeny={() => currentRequest.error(new Error("Cancelled by User"))}
+ buttonDirection="column-reverse"
+ >
+
+
+
+ {statuses[0]}
+
+
+ {status}
+
+
+ {isError ? (
+
+
+
+ ) : (
+
+
+
+
+ )}
+
+ {status === statuses[1] ? (
+
+ ) : null}
+
+
+ );
+}
diff --git a/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorSignRequest.tsx b/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorSignRequest.tsx
new file mode 100644
index 000000000..3848059dc
--- /dev/null
+++ b/packages/secure-ui/src/RequestHandlers/TrezorRequests/TrezorSignRequest.tsx
@@ -0,0 +1,195 @@
+import { openLedgerPermissions } from "@coral-xyz/common";
+import type { SECURE_LEDGER_EVENTS } from "@coral-xyz/secure-clients/types";
+import {
+ Loader,
+ StyledText,
+ HardwareIcon,
+ ErrorCrossMarkIcon,
+ YStack,
+} from "@coral-xyz/tamagui";
+import { encode } from "bs58";
+import { useCallback, useEffect, useState } from "react";
+
+import TrezorConnect from "./_utils/trezorConnect";
+import { RequireUserUnlocked } from "../../RequireUserUnlocked/RequireUserUnlocked";
+import type { QueuedUiRequest } from "../../_atoms/requestAtoms";
+import { RequestConfirmation } from "../../_sharedComponents/RequestConfirmation";
+
+type RequestHandlers = {
+ [Event in Events]: (
+ currentRequest: QueuedUiRequest,
+ setStatus: (status: string) => void
+ ) => Promise;
+};
+
+// TODO: Once HW PR merged, this should be fine
+export type HardwareSignEvents =
+ | "LEDGER_SVM_SIGN_TX"
+ | "LEDGER_SVM_SIGN_MESSAGE"
+ | "LEDGER_EVM_SIGN_TX"
+ | "LEDGER_EVM_SIGN_MESSAGE";
+
+export function TrezorSignRequest({
+ currentRequest,
+}: {
+ currentRequest: QueuedUiRequest;
+}) {
+ return (
+ currentRequest.error(new Error("Login Failed"))}
+ >
+
+
+ );
+}
+
+function ApproveOnTrezor({
+ currentRequest,
+}: {
+ currentRequest: QueuedUiRequest;
+}) {
+ const [error, setError] = useState(null);
+ const [status, setStatus] = useState(
+ "Approve Signature on your Trezor device."
+ );
+ const isPermissionsError = error === "HID_PERMISSIONS_NOT_AVAILABLE";
+ const isGestureRequiredError = error === "HID_GESTURE_REQUIRED";
+ const execute = useCallback(() => {
+ (async function () {
+ const handlers: RequestHandlers = {
+ LEDGER_SVM_SIGN_TX: svmSignTx,
+ LEDGER_SVM_SIGN_MESSAGE: svmSignMessage,
+ LEDGER_EVM_SIGN_TX: evmSignTx,
+ LEDGER_EVM_SIGN_MESSAGE: evmSignMessage,
+ };
+
+ const handler = handlers[currentRequest.name];
+ // TODO: replace :any
+ await handler?.(currentRequest as any, setStatus).catch((e) => {
+ if (e.message === "HID_PERMISSIONS_NOT_AVAILABLE") {
+ setError(e.message);
+ setStatus("Missing HID browser permissions.");
+ } else if (e.message === "HID_GESTURE_REQUIRED") {
+ setError(e.message);
+ setStatus("Ledger Connection lost.");
+ } else {
+ setStatus(e.message);
+ setError(e.message);
+ currentRequest.error(e instanceof Error ? e : new Error(e));
+ }
+ });
+ })();
+ }, [currentRequest.id]);
+
+ useEffect(() => {
+ execute();
+ }, [execute]);
+
+ return (
+ {
+ if (isPermissionsError) {
+ openLedgerPermissions();
+ window.close();
+ }
+ if (isGestureRequiredError) {
+ setError(null);
+ execute();
+ }
+ }}
+ rightButton={
+ isPermissionsError
+ ? "Grant Ledger Permissions"
+ : isGestureRequiredError
+ ? "Try again!"
+ : null
+ }
+ onDeny={() => currentRequest.error(new Error("Cancelled by User"))}
+ buttonDirection="column-reverse"
+ >
+
+
+
+ Approve on your Ledger Device
+
+
+ {status}
+
+
+ {error ? (
+
+
+
+ ) : (
+
+
+
+
+ )}
+
+
+ );
+}
+
+async function svmSignTx(
+ currentRequest: QueuedUiRequest<"LEDGER_SVM_SIGN_TX">,
+ setStatus: (status: string) => void
+) {
+ console.log("[DEBUG] [svmSignTx] currentRequest: ", currentRequest);
+ // TODO: perhaps move this elsewhere? Keeping it here to keep the data flows unified
+ // Transform path into trezor compatible one
+ const { derivationPath, txMessage } = currentRequest.request;
+ const path = derivationPath.startsWith("m/")
+ ? derivationPath
+ : `m/${derivationPath}`;
+ const result = TrezorConnect.solanaSignTransaction({
+ path,
+ serializedTx: txMessage,
+ });
+
+ console.log("[DEBUG] [svmSignTx] result: ", result);
+
+ // wait for result
+ return result.then((result) => {
+ if (result.success === false) {
+ console.log("[DEBUG] [svmSignTx] error:", result.payload.error);
+ throw new Error(result.payload.error);
+ }
+ console.log(
+ "[DEBUG] [svmSignTx] signature, responding:",
+ result.payload.signature
+ );
+ currentRequest.respond({
+ signature: encode(Buffer.from(result.payload.signature, "hex")),
+ });
+ });
+}
+
+async function svmSignMessage(
+ currentRequest: QueuedUiRequest<"LEDGER_SVM_SIGN_MESSAGE">,
+ setStatus: (status: string) => void
+) {
+ throw new Error("Not implemented");
+}
+
+async function evmSignTx(
+ currentRequest: QueuedUiRequest<"LEDGER_EVM_SIGN_TX">,
+ setStatus: (status: string) => void
+) {
+ throw new Error("Not implemented");
+}
+
+async function evmSignMessage(
+ currentRequest: QueuedUiRequest<"LEDGER_EVM_SIGN_MESSAGE">,
+ setStatus: (status: string) => void
+) {
+ throw new Error("Not implemented");
+}
diff --git a/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/isLegalTrezorPath.ts b/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/isLegalTrezorPath.ts
new file mode 100644
index 000000000..b80b4e58e
--- /dev/null
+++ b/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/isLegalTrezorPath.ts
@@ -0,0 +1,11 @@
+/**
+ * Checks if the given path is a valid Trezor path conforming to
+ * [this firmware spec](https://github.com/vacuumlabs/trezor-firmware/blob/5ec9326f52fa4a6b15c0e38f81bfd6f9dbd0b475/core/src/apps/solana/__init__.py#L3-L7)
+ *
+ * @param path - The path to check
+ * @returns boolean indicating validity
+ */
+export function isLegalTrezorPath(path: string) {
+ const pathRegex = /^m\/44'\/501'(\/\d'){0,2}$/;
+ return pathRegex.test(path);
+}
diff --git a/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/trezorConnect.ts b/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/trezorConnect.ts
new file mode 100644
index 000000000..1725be97f
--- /dev/null
+++ b/packages/secure-ui/src/RequestHandlers/TrezorRequests/_utils/trezorConnect.ts
@@ -0,0 +1,11 @@
+import TrezorConnect from "@trezor/connect-web";
+
+TrezorConnect.init({
+ manifest: {
+ email: "samuel.sulovsky@vacuumlabs.com",
+ appUrl: "https://backpack.app/",
+ },
+ lazyLoad: true,
+});
+
+export default TrezorConnect;
diff --git a/packages/secure-ui/src/SecureUI.tsx b/packages/secure-ui/src/SecureUI.tsx
index e8e298dae..8f53672e1 100644
--- a/packages/secure-ui/src/SecureUI.tsx
+++ b/packages/secure-ui/src/SecureUI.tsx
@@ -1,23 +1,20 @@
-import type { QueuedUiRequest } from "./_atoms/requestAtoms";
+import {
+ notificationListenerAtom,
+ secureBackgroundSenderAtom,
+} from "@coral-xyz/recoil";
import type {
SECURE_EVENTS,
TransportBroadcastListener,
TransportReceiver,
TransportSender,
} from "@coral-xyz/secure-clients/types";
-
-import type { ReactNode } from "react";
-import { Suspense, useMemo } from "react";
-
-import {
- notificationListenerAtom,
- secureBackgroundSenderAtom,
-} from "@coral-xyz/recoil";
import {
View,
config as tamaguiConfig,
TamaguiProvider,
} from "@coral-xyz/tamagui";
+import type { ReactNode } from "react";
+import { Suspense, useMemo } from "react";
import { RecoilRoot, useRecoilValueLoadable } from "recoil";
import { Presentation, PresentationTypes } from "./Presentation";
@@ -27,15 +24,17 @@ import { EvmSignMessageRequest } from "./RequestHandlers/EvmSignMessageRequest";
import { EvmSignTransactionRequest } from "./RequestHandlers/EvmSignTransactionRequest/EvmSignTransactionRequest";
import { ExportBackupRequest } from "./RequestHandlers/ExportBackupRequest";
import { GetMnemonicRequest } from "./RequestHandlers/GetMnemonicRequest";
-import { LedgerPreviewPublicKeysRequest } from "./RequestHandlers/LedgerRequests/LedgerPreviewPublicKeysRequest";
import {
LedgerSignEvents,
LedgerSignRequest,
} from "./RequestHandlers/LedgerRequests/LedgerSignRequest";
+import { HardwarePreviewPublicKeysRequest } from "./RequestHandlers/PreviewPublicKeysRequest";
import { ResetBackpackRequest } from "./RequestHandlers/ResetBackpackRequest";
import { SvmSignAllTransactionsRequest } from "./RequestHandlers/SvmSignAllTransactionsRequest";
+import { SvmSignInRequest } from "./RequestHandlers/SvmSignInRequest";
import { SvmSignMessageRequest } from "./RequestHandlers/SvmSignMessageRequest";
import { SvmSignTransactionRequest } from "./RequestHandlers/SvmSignTransactionRequest/SvmSignTransactionRequest";
+import { TrezorSignRequest } from "./RequestHandlers/TrezorRequests/TrezorSignRequest";
import { UnlockRequest } from "./RequestHandlers/UnlockRequest";
import { RequireUserUnlocked } from "./RequireUserUnlocked/RequireUserUnlocked";
import SecureUIBottomSheetModalProvider from "./SecureUIBottomSheetModalProvider";
@@ -43,7 +42,7 @@ import {
currentRequestAtom,
secureUIReceiverAtom,
} from "./_atoms/requestAtoms";
-import { SvmSignInRequest } from "./RequestHandlers/SvmSignInRequest";
+import type { QueuedUiRequest } from "./_atoms/requestAtoms";
export function SecureUI({
timing = 0,
@@ -80,6 +79,9 @@ export function SecureUI({
function SecureUIRoot({ presentation }: { presentation?: PresentationTypes }) {
const currentRequestLoadable = useRecoilValueLoadable(currentRequestAtom);
const currentRequest = currentRequestLoadable.getValue();
+
+ console.log("[DEBUG] [SecureUIRoot] currentRequest: ", currentRequest);
+
return (
{currentRequest
@@ -130,15 +132,27 @@ function SecureUIRoot({ presentation }: { presentation?: PresentationTypes }) {
case "LEDGER_EVM_SIGN_TX":
case "LEDGER_EVM_SIGN_MESSAGE":
return (
-
+ }
+ />
+ );
+ /*
+ TODO: Implement
+ case "TREZOR_SVM_SIGN_TX":
+ case "TREZOR_SVM_SIGN_MESSAGE":
+ return (
+
}
/>
);
+ */
case "SECURE_USER_PREVIEW_WALLETS":
return (
-
}
diff --git a/yarn.lock b/yarn.lock
index 709dd6cb0..198b41c04 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1850,7 +1850,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.22.5":
+"@babel/plugin-transform-flow-strip-types@npm:^7.20.0":
version: 7.22.5
resolution: "@babel/plugin-transform-flow-strip-types@npm:7.22.5"
dependencies:
@@ -2151,17 +2151,6 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-object-assign@npm:^7.16.7":
- version: 7.23.3
- resolution: "@babel/plugin-transform-object-assign@npm:7.23.3"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.22.5"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 17b8da5fe6cabc9f01adae9d57ad5a232a7535007249d737de3a120c73c63c330588ca5592419083d2b55df04c49b193d1ef5dbf071933fea11ac05022fd8716
- languageName: node
- linkType: hard
-
"@babel/plugin-transform-object-rest-spread@npm:^7.12.13, @babel/plugin-transform-object-rest-spread@npm:^7.23.4":
version: 7.23.4
resolution: "@babel/plugin-transform-object-rest-spread@npm:7.23.4"
@@ -2912,7 +2901,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/preset-typescript@npm:^7.12.12, @babel/preset-typescript@npm:^7.16.7":
+"@babel/preset-typescript@npm:^7.12.12":
version: 7.23.3
resolution: "@babel/preset-typescript@npm:7.23.3"
dependencies:
@@ -3440,6 +3429,7 @@ __metadata:
"@swc/core": "npm:^1.3.22"
"@tanstack/react-query": "npm:^5.17.19"
"@testing-library/jest-dom": "npm:^5.11.4"
+ "@trezor/connect-web": "npm:^9.1.12"
"@types/bn.js": "npm:^5.1.1"
"@types/chrome": "npm:^0.0.190"
"@types/jest": "npm:^28.1.1"
@@ -3502,131 +3492,6 @@ __metadata:
languageName: unknown
linkType: soft
-"@coral-xyz/app-mobile@workspace:packages/app-mobile":
- version: 0.0.0-use.local
- resolution: "@coral-xyz/app-mobile@workspace:packages/app-mobile"
- dependencies:
- "@apollo/client": "npm:^3.8.8"
- "@babel/core": "npm:^7.20.0"
- "@babel/plugin-proposal-private-methods": "npm:^7.18.6"
- "@babel/plugin-transform-flow-strip-types": "npm:^7.22.5"
- "@coral-xyz/anchor": "npm:^0.28.0"
- "@coral-xyz/background": "workspace:*"
- "@coral-xyz/common": "workspace:*"
- "@coral-xyz/data-components": "workspace:*"
- "@coral-xyz/expo-devtools": "workspace:*"
- "@coral-xyz/i18n": "workspace:*"
- "@coral-xyz/provider-injection": "workspace:*"
- "@coral-xyz/recoil": "workspace:*"
- "@coral-xyz/secure-background": "workspace:*"
- "@coral-xyz/secure-clients": "workspace:*"
- "@coral-xyz/secure-ui": "workspace:*"
- "@coral-xyz/staking": "workspace:*"
- "@coral-xyz/tamagui": "workspace:*"
- "@dev-plugins/apollo-client": "npm:^0.0.5"
- "@dev-plugins/react-navigation": "npm:^0.0.5"
- "@dev-plugins/react-query": "npm:^0.0.5"
- "@ethersproject/shims": "npm:^5.7.0"
- "@expo-google-fonts/inter": "npm:^0.2.3"
- "@expo/config": "npm:~8.5.0"
- "@expo/react-native-action-sheet": "npm:^4.0.1"
- "@expo/spawn-async": "npm:^1.7.2"
- "@expo/vector-icons": "npm:^14.0.0"
- "@gorhom/bottom-sheet": "npm:4.6.0"
- "@graphql-codegen/cli": "npm:^4.0.1"
- "@graphql-codegen/client-preset": "npm:^4.0.0"
- "@hookform/error-message": "npm:^2.0.1"
- "@react-native-async-storage/async-storage": "npm:1.21.0"
- "@react-navigation/bottom-tabs": "npm:^6.5.11"
- "@react-navigation/drawer": "npm:^6.6.3"
- "@react-navigation/elements": "npm:^1.3.18"
- "@react-navigation/material-top-tabs": "npm:^6.6.3"
- "@react-navigation/native": "npm:^6.1.7"
- "@react-navigation/native-stack": "npm:^6.9.13"
- "@react-navigation/stack": "npm:^6.3.17"
- "@sentry/react-native": "npm:5.17.0"
- "@shopify/flash-list": "npm:1.6.3"
- "@solana/web3.js": "npm:1.63.1"
- "@tamagui/core": "npm:~1.76.0"
- "@tamagui/lucide-icons": "npm:~1.76.0"
- "@tanstack/eslint-plugin-query": "npm:^5.20.1"
- "@tanstack/query-async-storage-persister": "npm:^5.17.19"
- "@tanstack/react-query": "npm:^5.17.19"
- "@tanstack/react-query-persist-client": "npm:^5.17.19"
- "@treklabs/api-web": "npm:0.1.1"
- "@types/lodash.throttle": "npm:^4"
- "@uidotdev/usehooks": "npm:^2.0.1"
- apollo3-cache-persist: "npm:^0.14.1"
- babel-plugin-module-resolver: "npm:^5.0.0"
- babel-plugin-transform-inline-environment-variables: "npm:^0.4.4"
- babel-preset-expo: "npm:^10.0.0"
- big-integer: "npm:^1.6.51"
- bip39: "npm:^3.1.0"
- bs58: "npm:^5.0.0"
- buffer: "npm:^6.0.3"
- chalk: "npm:~4.1.2"
- crypto-browserify: "npm:^3.12.0"
- eslint: "npm:^8.49.0"
- eslint-config-custom: "npm:*"
- eslint-plugin-no-relative-import-paths: "npm:^1.5.2"
- eslint-plugin-valtio: "npm:^0.6.2"
- ethers: "npm:^5.7.2"
- expo: "npm:~50.0.6"
- expo-application: "npm:~5.8.3"
- expo-asset: "npm:~9.0.2"
- expo-barcode-scanner: "npm:~12.9.2"
- expo-camera: "npm:~14.0.4"
- expo-clipboard: "npm:~5.0.1"
- expo-constants: "npm:~15.4.5"
- expo-crypto: "npm:~12.8.0"
- expo-dev-client: "npm:~3.3.8"
- expo-file-system: "npm:~16.0.6"
- expo-font: "npm:~11.10.2"
- expo-haptics: "npm:~12.8.1"
- expo-image: "npm:~1.10.6"
- expo-linking: "npm:~6.2.2"
- expo-local-authentication: "npm:~13.8.0"
- expo-localization: "npm:~14.8.3"
- expo-media-library: "npm:~15.9.1"
- expo-screen-orientation: "npm:~6.4.1"
- expo-secure-store: "npm:~12.8.1"
- expo-splash-screen: "npm:~0.26.4"
- expo-status-bar: "npm:~1.11.1"
- expo-updates: "npm:~0.24.10"
- fastestsmallesttextencoderdecoder: "npm:^1.0.22"
- graphql: "npm:^16.6.0"
- lodash.throttle: "npm:^4.1.1"
- p-debounce: "npm:^4.0.0"
- patch-package: "npm:^6.5.0"
- react: "npm:18.2.0"
- react-content-loader: "npm:^6.2.1"
- react-dom: "npm:18.2.0"
- react-error-boundary: "npm:^4.0.4"
- react-hook-form: "npm:^7.40.0"
- react-native: "npm:0.73.4"
- react-native-ble-plx: "npm:^3.1.2"
- react-native-date-picker: "npm:^4.3.3"
- react-native-gesture-handler: "npm:~2.14.0"
- react-native-pager-view: "npm:6.2.3"
- react-native-reanimated: "npm:~3.6.2"
- react-native-safe-area-context: "npm:4.8.2"
- react-native-screens: "npm:~3.29.0"
- react-native-svg: "npm:14.1.0"
- react-native-tab-view: "npm:^3.5.1"
- react-native-url-polyfill: "npm:^1.3.0"
- react-native-web: "npm:~0.19.6"
- react-native-webview: "npm:13.6.4"
- react-qr-code: "npm:^2.0.8"
- recoil: "npm:^0.7.6"
- tamagui: "npm:~1.76.0"
- tweetnacl: "npm:^1.0.3"
- typescript: "npm:^5.3.3"
- use-async-effect: "npm:^2.2.7"
- uuid: "npm:^9.0.0"
- valtio: "npm:^1.12.1"
- languageName: unknown
- linkType: soft
-
"@coral-xyz/background@workspace:*, @coral-xyz/background@workspace:packages/background":
version: 0.0.0-use.local
resolution: "@coral-xyz/background@workspace:packages/background"
@@ -3826,7 +3691,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@coral-xyz/expo-devtools@workspace:*, @coral-xyz/expo-devtools@workspace:packages/expo-devtools":
+"@coral-xyz/expo-devtools@workspace:packages/expo-devtools":
version: 0.0.0-use.local
resolution: "@coral-xyz/expo-devtools@workspace:packages/expo-devtools"
dependencies:
@@ -4070,7 +3935,7 @@ __metadata:
languageName: node
linkType: hard
-"@coral-xyz/staking@workspace:*, @coral-xyz/staking@workspace:^, @coral-xyz/staking@workspace:packages/staking":
+"@coral-xyz/staking@workspace:^, @coral-xyz/staking@workspace:packages/staking":
version: 0.0.0-use.local
resolution: "@coral-xyz/staking@workspace:packages/staking"
dependencies:
@@ -4237,40 +4102,6 @@ __metadata:
languageName: node
linkType: hard
-"@dev-plugins/apollo-client@npm:^0.0.5":
- version: 0.0.5
- resolution: "@dev-plugins/apollo-client@npm:0.0.5"
- peerDependencies:
- expo: "*"
- checksum: becdb2084f16f9d8e2a88db1a7fb1e652fcbf4d3da93be2b7c8af00e6e34a66b0bfb3efb6ee2a3312b13cb7978f38dd234da5eb2893a68c1a721b3cac4c5d953
- languageName: node
- linkType: hard
-
-"@dev-plugins/react-navigation@npm:^0.0.5":
- version: 0.0.5
- resolution: "@dev-plugins/react-navigation@npm:0.0.5"
- dependencies:
- "@react-navigation/devtools": "npm:^6.0.20"
- nanoid: "npm:^3.1.23"
- peerDependencies:
- "@react-navigation/core": "*"
- expo: "*"
- checksum: b3304a8dc608ae8c15f80fda38e738428ebada774cd5c902445344f148f2f2095bbc200d6a67602169011ed26fa5610eaef1140f829ebba52156af5b505a5bd4
- languageName: node
- linkType: hard
-
-"@dev-plugins/react-query@npm:^0.0.5":
- version: 0.0.5
- resolution: "@dev-plugins/react-query@npm:0.0.5"
- dependencies:
- flatted: "npm:^3.2.9"
- peerDependencies:
- "@tanstack/react-query": "*"
- expo: "*"
- checksum: a1bca84ea0e9b1f420ff8ba489d5fb929f570e464a4eabe0f5b453bc72698077af18e74565dd8ceeb621a15505b4b3924e5fb092d9dc4f813b44d5d07697419c
- languageName: node
- linkType: hard
-
"@discoveryjs/json-ext@npm:^0.5.0":
version: 0.5.7
resolution: "@discoveryjs/json-ext@npm:0.5.7"
@@ -4508,6 +4339,20 @@ __metadata:
languageName: node
linkType: hard
+"@emurgo/cardano-serialization-lib-browser@npm:^11.5.0":
+ version: 11.5.0
+ resolution: "@emurgo/cardano-serialization-lib-browser@npm:11.5.0"
+ checksum: e4d74d20a59ebc20671363fa357c526c10f2f13c9f36fd34b2d269f1c6f3d637be62fe31ea89641cd90a1410aaf5f9613dfe7f3e616cff606ea8f63a7296ecb3
+ languageName: node
+ linkType: hard
+
+"@emurgo/cardano-serialization-lib-nodejs@npm:11.5.0":
+ version: 11.5.0
+ resolution: "@emurgo/cardano-serialization-lib-nodejs@npm:11.5.0"
+ checksum: 3fff8448001c6d70807ef8e1a80a663ef60381e55bfd26c0f1b644e096895da7298fb991ac86670d4c5aee2e3e417e44ac80ab59080f7af107d8fa89906f9075
+ languageName: node
+ linkType: hard
+
"@esbuild-plugins/node-globals-polyfill@npm:^0.1.1":
version: 0.1.1
resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.1.1"
@@ -4894,6 +4739,56 @@ __metadata:
languageName: node
linkType: hard
+"@ethereumjs/common@npm:^4.1.0, @ethereumjs/common@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "@ethereumjs/common@npm:4.2.0"
+ dependencies:
+ "@ethereumjs/util": "npm:^9.0.2"
+ checksum: dbf208d118ac30ff9a14d72a0fd16d3a1766c7627f29ca5a34134684e9200bc083f4dbeccab084018711a2f974a34f2f9deecbb495ec07d6f94cf9bd81bfa2ef
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/rlp@npm:^5.0.2":
+ version: 5.0.2
+ resolution: "@ethereumjs/rlp@npm:5.0.2"
+ bin:
+ rlp: bin/rlp.cjs
+ checksum: 2af80d98faf7f64dfb6d739c2df7da7350ff5ad52426c3219897e843ee441215db0ffa346873200a6be6d11142edb9536e66acd62436b5005fa935baaf7eb6bd
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/tx@npm:^5.1.0":
+ version: 5.2.1
+ resolution: "@ethereumjs/tx@npm:5.2.1"
+ dependencies:
+ "@ethereumjs/common": "npm:^4.2.0"
+ "@ethereumjs/rlp": "npm:^5.0.2"
+ "@ethereumjs/util": "npm:^9.0.2"
+ ethereum-cryptography: "npm:^2.1.3"
+ peerDependencies:
+ c-kzg: ^2.1.2
+ peerDependenciesMeta:
+ c-kzg:
+ optional: true
+ checksum: 87b473a99105c82f5a17f1f99442e421a0f515770ac3a9b58d9462a6d10ae1144f92a76a15abcf1b27496dfdcbb6e826eeb7b17636c8bde0613205623b0a1ddf
+ languageName: node
+ linkType: hard
+
+"@ethereumjs/util@npm:^9.0.2":
+ version: 9.0.2
+ resolution: "@ethereumjs/util@npm:9.0.2"
+ dependencies:
+ "@ethereumjs/rlp": "npm:^5.0.2"
+ ethereum-cryptography: "npm:^2.1.3"
+ peerDependencies:
+ c-kzg: ^2.1.2
+ peerDependenciesMeta:
+ c-kzg:
+ optional: true
+ checksum: 1b8aeb733f4c576bf9f0ade5a3d19da25d602cb068ed735a1fc344cc5f534a7dffe1f5c13139a3d7c805853bd9ec8ba194243fe6dee57d273f1201209846df83
+ languageName: node
+ linkType: hard
+
"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.7.0":
version: 5.7.0
resolution: "@ethersproject/abi@npm:5.7.0"
@@ -5180,13 +5075,6 @@ __metadata:
languageName: node
linkType: hard
-"@ethersproject/shims@npm:^5.7.0":
- version: 5.7.0
- resolution: "@ethersproject/shims@npm:5.7.0"
- checksum: 50307fbf6b76f4335b4ae324f4ce83ea88200f95589a4051685a8894a450a114680cc92531bf82252dba1e07986338895fb5ab8bcd24dd7162ab49ffa862cfc3
- languageName: node
- linkType: hard
-
"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.7.0":
version: 5.7.0
resolution: "@ethersproject/signing-key@npm:5.7.0"
@@ -5303,13 +5191,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo-google-fonts/inter@npm:^0.2.3":
- version: 0.2.3
- resolution: "@expo-google-fonts/inter@npm:0.2.3"
- checksum: 434dd414e4d4dd9b61283cc09dfc499d5a4162bcaa39d0ac88cc3664bac0f21d8c54c0be9868b36bcf6d562be077eec6fbe8874274bd447d29d4ee1e988d8682
- languageName: node
- linkType: hard
-
"@expo/bunyan@npm:^4.0.0":
version: 4.0.0
resolution: "@expo/bunyan@npm:4.0.0"
@@ -5750,18 +5631,6 @@ __metadata:
languageName: node
linkType: hard
-"@expo/react-native-action-sheet@npm:^4.0.1":
- version: 4.0.1
- resolution: "@expo/react-native-action-sheet@npm:4.0.1"
- dependencies:
- "@types/hoist-non-react-statics": "npm:^3.3.1"
- hoist-non-react-statics: "npm:^3.3.0"
- peerDependencies:
- react: ">=16.3.0"
- checksum: 20ac8b1c6208feb490c22f381cc3c8ac6a768d0e1d7fd805ded134f7ae9bfcdaff4ee98fbfa00ca4d3314a60553be5e1732a9736cfcac3e27816e76d114c6716
- languageName: node
- linkType: hard
-
"@expo/rudder-sdk-node@npm:1.1.1":
version: 1.1.1
resolution: "@expo/rudder-sdk-node@npm:1.1.1"
@@ -5855,6 +5724,16 @@ __metadata:
languageName: node
linkType: hard
+"@fivebinaries/coin-selection@npm:2.2.1":
+ version: 2.2.1
+ resolution: "@fivebinaries/coin-selection@npm:2.2.1"
+ dependencies:
+ "@emurgo/cardano-serialization-lib-browser": "npm:^11.5.0"
+ "@emurgo/cardano-serialization-lib-nodejs": "npm:11.5.0"
+ checksum: 3b5a45c9cf978978f96b781a994faf3e09d3cfe88f4f337205385caa1ba11f117d67fc059f09674a2a8064ccdde66bed69a2cb1182686bf83cbb9bdb13365d47
+ languageName: node
+ linkType: hard
+
"@floating-ui/core@npm:^0.6.2":
version: 0.6.2
resolution: "@floating-ui/core@npm:0.6.2"
@@ -6086,18 +5965,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/add@npm:^5.0.0":
- version: 5.0.0
- resolution: "@graphql-codegen/add@npm:5.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 0bc9b6cb63702defa5c1318cbee33b28a4eee6727d95f276c15fb49d295154debf1941dbf46f92146301e9d27245b1a142b4ce98fc489022f49f3819c193b9dc
- languageName: node
- linkType: hard
-
"@graphql-codegen/cli@npm:^3.3.1":
version: 3.3.1
resolution: "@graphql-codegen/cli@npm:3.3.1"
@@ -6148,56 +6015,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/cli@npm:^4.0.1":
- version: 4.0.1
- resolution: "@graphql-codegen/cli@npm:4.0.1"
- dependencies:
- "@babel/generator": "npm:^7.18.13"
- "@babel/template": "npm:^7.18.10"
- "@babel/types": "npm:^7.18.13"
- "@graphql-codegen/core": "npm:^4.0.0"
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-tools/apollo-engine-loader": "npm:^8.0.0"
- "@graphql-tools/code-file-loader": "npm:^8.0.0"
- "@graphql-tools/git-loader": "npm:^8.0.0"
- "@graphql-tools/github-loader": "npm:^8.0.0"
- "@graphql-tools/graphql-file-loader": "npm:^8.0.0"
- "@graphql-tools/json-file-loader": "npm:^8.0.0"
- "@graphql-tools/load": "npm:^8.0.0"
- "@graphql-tools/prisma-loader": "npm:^8.0.0"
- "@graphql-tools/url-loader": "npm:^8.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@parcel/watcher": "npm:^2.1.0"
- "@whatwg-node/fetch": "npm:^0.8.0"
- chalk: "npm:^4.1.0"
- cosmiconfig: "npm:^8.1.3"
- debounce: "npm:^1.2.0"
- detect-indent: "npm:^6.0.0"
- graphql-config: "npm:^5.0.2"
- inquirer: "npm:^8.0.0"
- is-glob: "npm:^4.0.1"
- jiti: "npm:^1.17.1"
- json-to-pretty-yaml: "npm:^1.2.2"
- listr2: "npm:^4.0.5"
- log-symbols: "npm:^4.0.0"
- micromatch: "npm:^4.0.5"
- shell-quote: "npm:^1.7.3"
- string-env-interpolation: "npm:^1.0.1"
- ts-log: "npm:^2.2.3"
- tslib: "npm:^2.4.0"
- yaml: "npm:^1.10.0"
- yargs: "npm:^17.0.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- bin:
- gql-gen: cjs/bin.js
- graphql-code-generator: cjs/bin.js
- graphql-codegen: cjs/bin.js
- graphql-codegen-esm: esm/bin.js
- checksum: 57de92bd03cc90abcd15d1b84c4198ee6c9282e9299c6d32a31576e7212c53d5b878d102f79b725369d208f26bbaa0b86db810841199b74eea4a43d316af9a0f
- languageName: node
- linkType: hard
-
"@graphql-codegen/client-preset@npm:^3.0.1":
version: 3.0.1
resolution: "@graphql-codegen/client-preset@npm:3.0.1"
@@ -6221,29 +6038,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/client-preset@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/client-preset@npm:4.0.0"
- dependencies:
- "@babel/helper-plugin-utils": "npm:^7.20.2"
- "@babel/template": "npm:^7.20.7"
- "@graphql-codegen/add": "npm:^5.0.0"
- "@graphql-codegen/gql-tag-operations": "npm:4.0.0"
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-codegen/typed-document-node": "npm:^5.0.0"
- "@graphql-codegen/typescript": "npm:^4.0.0"
- "@graphql-codegen/typescript-operations": "npm:^4.0.0"
- "@graphql-codegen/visitor-plugin-common": "npm:^4.0.0"
- "@graphql-tools/documents": "npm:^1.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@graphql-typed-document-node/core": "npm:3.2.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: a0e17ccf55795dbb56514bba6fc9f76cf195982726ec1feba01115283670e6bf9b74e64e4d531825b6ac4c4faf39c876ab6d21b85e2d49100ca69d747c0bb34f
- languageName: node
- linkType: hard
-
"@graphql-codegen/core@npm:^3.1.0":
version: 3.1.0
resolution: "@graphql-codegen/core@npm:3.1.0"
@@ -6258,20 +6052,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/core@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/core@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-tools/schema": "npm:^10.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: d9826e3bf454edaf82aa10b56b0d05502472ea53d86f58aadff05bf2fcea4ddbd92f8dd8eca713b878ce16cc6f9b78f53bd4fe71426b60309673bb395b491aba
- languageName: node
- linkType: hard
-
"@graphql-codegen/gql-tag-operations@npm:3.0.1":
version: 3.0.1
resolution: "@graphql-codegen/gql-tag-operations@npm:3.0.1"
@@ -6287,21 +6067,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/gql-tag-operations@npm:4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/gql-tag-operations@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-codegen/visitor-plugin-common": "npm:4.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- auto-bind: "npm:~4.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 933ec852f5c36289ea61ec8f07f3c51ab8582ff7182ae9d90c7ae9facb8c15ac2ddeb0544a69d4df6fe48ad5bcaf21e779565b426e8691d4a8873fda64def95c
- languageName: node
- linkType: hard
-
"@graphql-codegen/plugin-helpers@npm:^4.1.0, @graphql-codegen/plugin-helpers@npm:^4.2.0":
version: 4.2.0
resolution: "@graphql-codegen/plugin-helpers@npm:4.2.0"
@@ -6318,22 +6083,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/plugin-helpers@npm:^5.0.0":
- version: 5.0.0
- resolution: "@graphql-codegen/plugin-helpers@npm:5.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- change-case-all: "npm:1.0.15"
- common-tags: "npm:1.8.2"
- import-from: "npm:4.0.0"
- lodash: "npm:~4.17.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: c32a27ad5275c1665226f04860c7a0c1f8afb28077b524638f9bfaa2706c8adc93dc93017775c6c0f13220d7dd56d0371772d6386d556f21ac9c6df9dcc98451
- languageName: node
- linkType: hard
-
"@graphql-codegen/schema-ast@npm:^3.0.1":
version: 3.0.1
resolution: "@graphql-codegen/schema-ast@npm:3.0.1"
@@ -6347,19 +6096,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/schema-ast@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/schema-ast@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 5950b57b383c14476080108d8ef7ebe569446ac20fbf54371ecc051392c80ef4b28b16b33fcb06faa892213bed90fc72940bc46a9852e0f02491491811e6a47e
- languageName: node
- linkType: hard
-
"@graphql-codegen/typed-document-node@npm:^4.0.1":
version: 4.0.1
resolution: "@graphql-codegen/typed-document-node@npm:4.0.1"
@@ -6375,21 +6111,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/typed-document-node@npm:^5.0.0":
- version: 5.0.0
- resolution: "@graphql-codegen/typed-document-node@npm:5.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-codegen/visitor-plugin-common": "npm:4.0.0"
- auto-bind: "npm:~4.0.0"
- change-case-all: "npm:1.0.15"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 1e33f08900264bb871de6b000ecaf5eced6270111bc8e29ea51fbccd8005b77e7a06d5bfee013933f827cf5794c8646425a8fbc559bb1a085e37ffa9b1cecd1f
- languageName: node
- linkType: hard
-
"@graphql-codegen/typescript-operations@npm:^3.0.4":
version: 3.0.4
resolution: "@graphql-codegen/typescript-operations@npm:3.0.4"
@@ -6405,21 +6126,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/typescript-operations@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/typescript-operations@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-codegen/typescript": "npm:^4.0.0"
- "@graphql-codegen/visitor-plugin-common": "npm:4.0.0"
- auto-bind: "npm:~4.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 9d8b70c83eee367077311a3a350bd757239a20f1bca95320038aaa1201aa73b8894b326d833e8905344535b848c54f99232821ff286d89e30dc1de66a8498130
- languageName: node
- linkType: hard
-
"@graphql-codegen/typescript@npm:^3.0.4":
version: 3.0.4
resolution: "@graphql-codegen/typescript@npm:3.0.4"
@@ -6435,21 +6141,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/typescript@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/typescript@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-codegen/schema-ast": "npm:^4.0.0"
- "@graphql-codegen/visitor-plugin-common": "npm:4.0.0"
- auto-bind: "npm:~4.0.0"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 7dcc77bd012f5d61464c9e0b3268595dd3613d37988a029ebb3fea36a40a4726a06c4871720880f459ce548ee7451f7a873d3bcd27b531da3370761a52edc3d0
- languageName: node
- linkType: hard
-
"@graphql-codegen/visitor-plugin-common@npm:3.1.1, @graphql-codegen/visitor-plugin-common@npm:^3.1.1":
version: 3.1.1
resolution: "@graphql-codegen/visitor-plugin-common@npm:3.1.1"
@@ -6470,26 +6161,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-codegen/visitor-plugin-common@npm:4.0.0, @graphql-codegen/visitor-plugin-common@npm:^4.0.0":
- version: 4.0.0
- resolution: "@graphql-codegen/visitor-plugin-common@npm:4.0.0"
- dependencies:
- "@graphql-codegen/plugin-helpers": "npm:^5.0.0"
- "@graphql-tools/optimize": "npm:^2.0.0"
- "@graphql-tools/relay-operation-optimizer": "npm:^7.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- auto-bind: "npm:~4.0.0"
- change-case-all: "npm:1.0.15"
- dependency-graph: "npm:^0.11.0"
- graphql-tag: "npm:^2.11.0"
- parse-filepath: "npm:^1.0.2"
- tslib: "npm:~2.5.0"
- peerDependencies:
- graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- checksum: 7c94d9f18b77024ba93a61b7d628b2e803b0db7a5083f96adbbf131e6627ecb5e891e27d4fc53dae2874df05cf0e4a990cf868c2c7f1fe6dd23735b1ce70c9e9
- languageName: node
- linkType: hard
-
"@graphql-tools/apollo-engine-loader@npm:^7.3.6":
version: 7.3.26
resolution: "@graphql-tools/apollo-engine-loader@npm:7.3.26"
@@ -6504,20 +6175,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/apollo-engine-loader@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/apollo-engine-loader@npm:8.0.0"
- dependencies:
- "@ardatan/sync-fetch": "npm:^0.0.1"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@whatwg-node/fetch": "npm:^0.9.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 4f9b761de2ee787b1e5afd549ae4e328175ca080915c5e31f418f5cb1a322d87b17d863c87ce5c65dcc24c7a9cab35034b457814a8021e45a6d4fba1da1700de
- languageName: node
- linkType: hard
-
"@graphql-tools/batch-execute@npm:^8.5.19":
version: 8.5.19
resolution: "@graphql-tools/batch-execute@npm:8.5.19"
@@ -6532,20 +6189,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/batch-execute@npm:^9.0.0":
- version: 9.0.0
- resolution: "@graphql-tools/batch-execute@npm:9.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- dataloader: "npm:^2.2.2"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 580d5b190f17ccd33ce95428ce4cdaa64d5513a23c93005ac5e6793fdb1a814ed9144c52ce23f84b51e84aff153afb391cf51923286fdac68cb892114bc45302
- languageName: node
- linkType: hard
-
"@graphql-tools/code-file-loader@npm:^7.3.17":
version: 7.3.22
resolution: "@graphql-tools/code-file-loader@npm:7.3.22"
@@ -6561,38 +6204,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/code-file-loader@npm:^8.0.0":
- version: 8.0.1
- resolution: "@graphql-tools/code-file-loader@npm:8.0.1"
- dependencies:
- "@graphql-tools/graphql-tag-pluck": "npm:8.0.1"
- "@graphql-tools/utils": "npm:^10.0.0"
- globby: "npm:^11.0.3"
- tslib: "npm:^2.4.0"
- unixify: "npm:^1.0.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 8da2f0a9732593e418606bb69cae78a376e27075c885530e90eb4415330c13462ca07db830f8cbdca0e39f0ef685709049e3000bb68c31d4bbf02b4643b548b6
- languageName: node
- linkType: hard
-
-"@graphql-tools/delegate@npm:^10.0.0":
- version: 10.0.0
- resolution: "@graphql-tools/delegate@npm:10.0.0"
- dependencies:
- "@graphql-tools/batch-execute": "npm:^9.0.0"
- "@graphql-tools/executor": "npm:^1.0.0"
- "@graphql-tools/schema": "npm:^10.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- dataloader: "npm:^2.2.2"
- tslib: "npm:^2.5.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 7f2898568351ebb1e33b9cc8f0b2e631a3e6a3d3c40f3d10afbe74147a5c6be4e82b49d90f207d605783e653657d48a91bb1667b1f2bb0c2e00fc7266c2cf068
- languageName: node
- linkType: hard
-
"@graphql-tools/delegate@npm:^9.0.31":
version: 9.0.32
resolution: "@graphql-tools/delegate@npm:9.0.32"
@@ -6622,18 +6233,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/documents@npm:^1.0.0":
- version: 1.0.0
- resolution: "@graphql-tools/documents@npm:1.0.0"
- dependencies:
- lodash.sortby: "npm:^4.7.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 4fe29835abf4942c813c136a10742ddcff09a3dc0acbe34eeab48193d1c16ed2074ccb5608b6118ffbfda756d27ef4feae35b6476736395c6d079dd8738b0642
- languageName: node
- linkType: hard
-
"@graphql-tools/executor-graphql-ws@npm:^0.0.14":
version: 0.0.14
resolution: "@graphql-tools/executor-graphql-ws@npm:0.0.14"
@@ -6651,23 +6250,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/executor-graphql-ws@npm:^1.0.0":
- version: 1.0.0
- resolution: "@graphql-tools/executor-graphql-ws@npm:1.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- "@repeaterjs/repeater": "npm:3.0.4"
- "@types/ws": "npm:^8.0.0"
- graphql-ws: "npm:5.13.1"
- isomorphic-ws: "npm:5.0.0"
- tslib: "npm:^2.4.0"
- ws: "npm:8.13.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 6f3ee735b16c292e597fc84d9aa73b8608786ba587f8b88af020b14961415bf2e4dd1462aa6b782aa59c14fc3ef4dcaa8af99be07b8bf8348ee19a58bfa53b9f
- languageName: node
- linkType: hard
-
"@graphql-tools/executor-http@npm:^0.1.7, @graphql-tools/executor-http@npm:^0.1.9":
version: 0.1.9
resolution: "@graphql-tools/executor-http@npm:0.1.9"
@@ -6686,24 +6268,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/executor-http@npm:^1.0.0":
- version: 1.0.0
- resolution: "@graphql-tools/executor-http@npm:1.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- "@repeaterjs/repeater": "npm:^3.0.4"
- "@whatwg-node/fetch": "npm:^0.9.0"
- dset: "npm:^3.1.2"
- extract-files: "npm:^11.0.0"
- meros: "npm:^1.2.1"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 1e33c3218cf51842ebebce06064212d46ad2fb37ccb5c0a5ed0c16c071dabfdb217cecbb76ef4cceb1cc3f3fc276832b2bb02438ba2c0ef0b5b8f8362704922f
- languageName: node
- linkType: hard
-
"@graphql-tools/executor-legacy-ws@npm:^0.0.11":
version: 0.0.11
resolution: "@graphql-tools/executor-legacy-ws@npm:0.0.11"
@@ -6719,21 +6283,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/executor-legacy-ws@npm:^1.0.0":
- version: 1.0.0
- resolution: "@graphql-tools/executor-legacy-ws@npm:1.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- "@types/ws": "npm:^8.0.0"
- isomorphic-ws: "npm:5.0.0"
- tslib: "npm:^2.4.0"
- ws: "npm:8.13.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 645e0c0cdf02af179087ae17eca894aa863a47f4c47e39fa409ce7969826284b6ed25f3182d18d749de9bd6280b869dce3b983ac102f007b8d8cf9b4ca10c6e6
- languageName: node
- linkType: hard
-
"@graphql-tools/executor@npm:^0.0.18":
version: 0.0.18
resolution: "@graphql-tools/executor@npm:0.0.18"
@@ -6749,21 +6298,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/executor@npm:^1.0.0":
- version: 1.1.0
- resolution: "@graphql-tools/executor@npm:1.1.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- "@graphql-typed-document-node/core": "npm:3.2.0"
- "@repeaterjs/repeater": "npm:^3.0.4"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 673fcd0054f79ca0a4ca23d9ee3f5c6553e4b12bf5ed0d5d2e4ee94048e84e2314b818ff5aca0350694f00ef336dcb0cbbf41e14de302beaeeb0498ab8624ac1
- languageName: node
- linkType: hard
-
"@graphql-tools/git-loader@npm:^7.2.13":
version: 7.2.21
resolution: "@graphql-tools/git-loader@npm:7.2.21"
@@ -6780,22 +6314,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/git-loader@npm:^8.0.0":
- version: 8.0.1
- resolution: "@graphql-tools/git-loader@npm:8.0.1"
- dependencies:
- "@graphql-tools/graphql-tag-pluck": "npm:8.0.1"
- "@graphql-tools/utils": "npm:^10.0.0"
- is-glob: "npm:4.0.3"
- micromatch: "npm:^4.0.4"
- tslib: "npm:^2.4.0"
- unixify: "npm:^1.0.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 5bf93971abd6d4b25831ecdfcc095065e490de0f7d17419667c51fe2697a4662263cb546e7de9f2d48d03cb98b6bc27a910657ce0a9f8b33d80cebcdea812026
- languageName: node
- linkType: hard
-
"@graphql-tools/github-loader@npm:^7.3.20":
version: 7.3.28
resolution: "@graphql-tools/github-loader@npm:7.3.28"
@@ -6813,23 +6331,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/github-loader@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/github-loader@npm:8.0.0"
- dependencies:
- "@ardatan/sync-fetch": "npm:^0.0.1"
- "@graphql-tools/executor-http": "npm:^1.0.0"
- "@graphql-tools/graphql-tag-pluck": "npm:^8.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@whatwg-node/fetch": "npm:^0.9.0"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: d29e00d5fe63069b983f585636493e03211e673397ce5e4c8e4d99ebae9d321417373444134978d1d6c2b4f614a58873f0d3a4e8f2deaebdec651474603a12b1
- languageName: node
- linkType: hard
-
"@graphql-tools/graphql-file-loader@npm:^7.3.7, @graphql-tools/graphql-file-loader@npm:^7.5.0":
version: 7.5.17
resolution: "@graphql-tools/graphql-file-loader@npm:7.5.17"
@@ -6845,21 +6346,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/graphql-file-loader@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/graphql-file-loader@npm:8.0.0"
- dependencies:
- "@graphql-tools/import": "npm:7.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- globby: "npm:^11.0.3"
- tslib: "npm:^2.4.0"
- unixify: "npm:^1.0.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: bf1248593123f6aa740da8b58746e2a60f5a1f413da1dcff8890daae0f2eeeac1837a2d419bdbdfb6ccb2877e03103d335ae0d1696e392f6af247414b0ad8406
- languageName: node
- linkType: hard
-
"@graphql-tools/graphql-tag-pluck@npm:7.5.1, @graphql-tools/graphql-tag-pluck@npm:^7.4.6":
version: 7.5.1
resolution: "@graphql-tools/graphql-tag-pluck@npm:7.5.1"
@@ -6876,22 +6362,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/graphql-tag-pluck@npm:8.0.1, @graphql-tools/graphql-tag-pluck@npm:^8.0.0":
- version: 8.0.1
- resolution: "@graphql-tools/graphql-tag-pluck@npm:8.0.1"
- dependencies:
- "@babel/parser": "npm:^7.16.8"
- "@babel/plugin-syntax-import-assertions": "npm:^7.20.0"
- "@babel/traverse": "npm:^7.16.8"
- "@babel/types": "npm:^7.16.8"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 7717f48b7c695be4408c10e2d534673ccbb00c8e2f196744a7115062a7ae588d113b79520cd8a87e67e2846a63a6d6e36a5f9d1693fdba4fb3ee7752580cb973
- languageName: node
- linkType: hard
-
"@graphql-tools/import@npm:6.7.18":
version: 6.7.18
resolution: "@graphql-tools/import@npm:6.7.18"
@@ -6905,19 +6375,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/import@npm:7.0.0":
- version: 7.0.0
- resolution: "@graphql-tools/import@npm:7.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- resolve-from: "npm:5.0.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 74741f670fb028526c363cd83871eeb9a1f51ecae27d1640914b0d5ddc482dc0a74d96b996244c726a12e80f63a4f8ec15fc71098e3b87ed3c463fa06ce8ac6c
- languageName: node
- linkType: hard
-
"@graphql-tools/json-file-loader@npm:^7.3.7, @graphql-tools/json-file-loader@npm:^7.4.1":
version: 7.4.18
resolution: "@graphql-tools/json-file-loader@npm:7.4.18"
@@ -6932,20 +6389,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/json-file-loader@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/json-file-loader@npm:8.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- globby: "npm:^11.0.3"
- tslib: "npm:^2.4.0"
- unixify: "npm:^1.0.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: a023466e261599803d1f8e1af3bb7b0007a5206c29df4fb14a448c1dacc04807482b97374c2bbb82bd286523f6a032c355d74f39bffb866325651f1a0f0412a2
- languageName: node
- linkType: hard
-
"@graphql-tools/load@npm:^7.5.5, @graphql-tools/load@npm:^7.8.0":
version: 7.8.14
resolution: "@graphql-tools/load@npm:7.8.14"
@@ -6960,20 +6403,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/load@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/load@npm:8.0.0"
- dependencies:
- "@graphql-tools/schema": "npm:^10.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- p-limit: "npm:3.1.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 64bbcaae28bf895f0d1f0636325a5b567cca1524ffd02bcad58a063087e74c65b9c1a5743adc2cc18a4f3c0379f7426090f8784abcddfd60997f187e6f100eb4
- languageName: node
- linkType: hard
-
"@graphql-tools/merge@npm:^8.2.6, @graphql-tools/merge@npm:^8.4.1":
version: 8.4.1
resolution: "@graphql-tools/merge@npm:8.4.1"
@@ -6986,18 +6415,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/merge@npm:^9.0.0":
- version: 9.0.0
- resolution: "@graphql-tools/merge@npm:9.0.0"
- dependencies:
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 7bf74f71a22d87dbc47fc778cf6d0366bcd36ae0a271cc5b382ffa90020f033e227ad97c94d785ac2943317ffce9e904119c60d72b3da5b655b5837e78652b82
- languageName: node
- linkType: hard
-
"@graphql-tools/optimize@npm:^1.3.0":
version: 1.4.0
resolution: "@graphql-tools/optimize@npm:1.4.0"
@@ -7009,17 +6426,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/optimize@npm:^2.0.0":
- version: 2.0.0
- resolution: "@graphql-tools/optimize@npm:2.0.0"
- dependencies:
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 7f79c0e1852abc571308e887d27d613da5b797256c8c6eb6c5fe7ca77f09e61524778ae281cebc0b698c51d4fe1074e2b8e0d0627b8e2dcf505aa6ed09b49a2f
- languageName: node
- linkType: hard
-
"@graphql-tools/prisma-loader@npm:^7.2.49":
version: 7.2.71
resolution: "@graphql-tools/prisma-loader@npm:7.2.71"
@@ -7048,34 +6454,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/prisma-loader@npm:^8.0.0":
- version: 8.0.1
- resolution: "@graphql-tools/prisma-loader@npm:8.0.1"
- dependencies:
- "@graphql-tools/url-loader": "npm:^8.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@types/js-yaml": "npm:^4.0.0"
- "@types/json-stable-stringify": "npm:^1.0.32"
- "@whatwg-node/fetch": "npm:^0.9.0"
- chalk: "npm:^4.1.0"
- debug: "npm:^4.3.1"
- dotenv: "npm:^16.0.0"
- graphql-request: "npm:^6.0.0"
- http-proxy-agent: "npm:^7.0.0"
- https-proxy-agent: "npm:^7.0.0"
- jose: "npm:^4.11.4"
- js-yaml: "npm:^4.0.0"
- json-stable-stringify: "npm:^1.0.1"
- lodash: "npm:^4.17.20"
- scuid: "npm:^1.1.0"
- tslib: "npm:^2.4.0"
- yaml-ast-parser: "npm:^0.0.43"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: a4b285fec2006e9b34b71f8e96f63f866411a53f95758e8b67942ea999925c6e843e3ecc2d2c9f2ccf722488d481e29fcec11dc87a4189188501e0948d41aa95
- languageName: node
- linkType: hard
-
"@graphql-tools/relay-operation-optimizer@npm:^6.5.0":
version: 6.5.18
resolution: "@graphql-tools/relay-operation-optimizer@npm:6.5.18"
@@ -7089,33 +6467,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/relay-operation-optimizer@npm:^7.0.0":
- version: 7.0.0
- resolution: "@graphql-tools/relay-operation-optimizer@npm:7.0.0"
- dependencies:
- "@ardatan/relay-compiler": "npm:12.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 6eb7e6d3ed6e72eb2146b8272b20e0acba154fffdac518f894ceaee320cc7ef0284117c11a93dff85b8bbee1019b982a9fdd20ecf65923d998b48730d296a56d
- languageName: node
- linkType: hard
-
-"@graphql-tools/schema@npm:^10.0.0":
- version: 10.0.0
- resolution: "@graphql-tools/schema@npm:10.0.0"
- dependencies:
- "@graphql-tools/merge": "npm:^9.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: dd784bcc460746adc32a63e9f19b241f9af6e81a8d123b346806853f24096003764aa117954bb88a35de67ce3484acc9e42a03ebe41dafad1446dd614fbcefb5
- languageName: node
- linkType: hard
-
"@graphql-tools/schema@npm:^9.0.0, @graphql-tools/schema@npm:^9.0.18":
version: 9.0.19
resolution: "@graphql-tools/schema@npm:9.0.19"
@@ -7153,41 +6504,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/url-loader@npm:^8.0.0":
- version: 8.0.0
- resolution: "@graphql-tools/url-loader@npm:8.0.0"
- dependencies:
- "@ardatan/sync-fetch": "npm:^0.0.1"
- "@graphql-tools/delegate": "npm:^10.0.0"
- "@graphql-tools/executor-graphql-ws": "npm:^1.0.0"
- "@graphql-tools/executor-http": "npm:^1.0.0"
- "@graphql-tools/executor-legacy-ws": "npm:^1.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- "@graphql-tools/wrap": "npm:^10.0.0"
- "@types/ws": "npm:^8.0.0"
- "@whatwg-node/fetch": "npm:^0.9.0"
- isomorphic-ws: "npm:^5.0.0"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.11"
- ws: "npm:^8.12.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 206065c2490e0747f6f9d756171b151017f9e5ad2d5f4c82c1644af8da3bf03e0075e4c55e6317e1823e74e32d307af5dd102f58851c7c361022578aa52ca8c1
- languageName: node
- linkType: hard
-
-"@graphql-tools/utils@npm:^10.0.0":
- version: 10.0.1
- resolution: "@graphql-tools/utils@npm:10.0.1"
- dependencies:
- "@graphql-typed-document-node/core": "npm:^3.1.1"
- tslib: "npm:^2.4.0"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: c2715b605a75146d1cd02704ac0ce89207f4051a1deac2ee2dcdb22c184941b7f1d63da68377fdfe766bbeeaef230ac79a44cbce4822b36000f2476c48304667
- languageName: node
- linkType: hard
-
"@graphql-tools/utils@npm:^9.0.0, @graphql-tools/utils@npm:^9.1.1, @graphql-tools/utils@npm:^9.2.1":
version: 9.2.1
resolution: "@graphql-tools/utils@npm:9.2.1"
@@ -7200,21 +6516,6 @@ __metadata:
languageName: node
linkType: hard
-"@graphql-tools/wrap@npm:^10.0.0":
- version: 10.0.0
- resolution: "@graphql-tools/wrap@npm:10.0.0"
- dependencies:
- "@graphql-tools/delegate": "npm:^10.0.0"
- "@graphql-tools/schema": "npm:^10.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- tslib: "npm:^2.4.0"
- value-or-promise: "npm:^1.0.12"
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- checksum: 1e83058f0c88a9d9c5fc0cfc4c838db54a47b9dbf9588a0b0c60620824d392c99a171ccb3ae9fb1af32fefbaf1085435fc448cf3c7c8b20d43f00880cd9298fb
- languageName: node
- linkType: hard
-
"@graphql-tools/wrap@npm:^9.4.2":
version: 9.4.2
resolution: "@graphql-tools/wrap@npm:9.4.2"
@@ -7276,17 +6577,6 @@ __metadata:
languageName: node
linkType: hard
-"@hookform/error-message@npm:^2.0.1":
- version: 2.0.1
- resolution: "@hookform/error-message@npm:2.0.1"
- peerDependencies:
- react: ">=16.8.0"
- react-dom: ">=16.8.0"
- react-hook-form: ^7.0.0
- checksum: 96665a078471f68a9fcc78f55a024f4caf1db2e32b5ff36d1755b3e9bfbb54a4f114c76d7da27147cca281e96dc0773bcd904760e96df1fd5c336ff182b02633
- languageName: node
- linkType: hard
-
"@humanwhocodes/config-array@npm:^0.11.11":
version: 0.11.11
resolution: "@humanwhocodes/config-array@npm:0.11.11"
@@ -8959,6 +8249,13 @@ __metadata:
languageName: node
linkType: hard
+"@mobily/ts-belt@npm:^3.13.1":
+ version: 3.13.1
+ resolution: "@mobily/ts-belt@npm:3.13.1"
+ checksum: d851e4f8b80f99646a67ecebc824994771f93509fe839680dcd3c21ab055099a0f04cd93ffa87e3529248fed0ea26abd62788302d7eb1bd2ffe42ad109229306
+ languageName: node
+ linkType: hard
+
"@motionone/animation@npm:^10.12.0":
version: 10.15.1
resolution: "@motionone/animation@npm:10.15.1"
@@ -9930,7 +9227,7 @@ __metadata:
languageName: node
linkType: hard
-"@noble/curves@npm:^1.1.0":
+"@noble/curves@npm:1.3.0, @noble/curves@npm:^1.1.0, @noble/curves@npm:~1.3.0":
version: 1.3.0
resolution: "@noble/curves@npm:1.3.0"
dependencies:
@@ -9960,7 +9257,7 @@ __metadata:
languageName: node
linkType: hard
-"@noble/hashes@npm:1.3.3":
+"@noble/hashes@npm:1.3.3, @noble/hashes@npm:~1.3.2":
version: 1.3.3
resolution: "@noble/hashes@npm:1.3.3"
checksum: 1025ddde4d24630e95c0818e63d2d54ee131b980fe113312d17ed7468bc18f54486ac86c907685759f8a7e13c2f9b9e83ec7b67d1cc20836f36b5e4a65bb102d
@@ -11661,6 +10958,79 @@ __metadata:
languageName: node
linkType: hard
+"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/aspromise@npm:1.1.2"
+ checksum: 8a938d84fe4889411296db66b29287bd61ea3c14c2d23e7a8325f46a2b8ce899857c5f038d65d7641805e6c1d06b495525c7faf00c44f85a7ee6476649034969
+ languageName: node
+ linkType: hard
+
+"@protobufjs/base64@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/base64@npm:1.1.2"
+ checksum: c71b100daeb3c9bdccab5cbc29495b906ba0ae22ceedc200e1ba49717d9c4ab15a6256839cebb6f9c6acae4ed7c25c67e0a95e734f612b258261d1a3098fe342
+ languageName: node
+ linkType: hard
+
+"@protobufjs/codegen@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "@protobufjs/codegen@npm:2.0.4"
+ checksum: c6ee5fa172a8464f5253174d3c2353ea520c2573ad7b6476983d9b1346f4d8f2b44aa29feb17a949b83c1816bc35286a5ea265ed9d8fdd2865acfa09668c0447
+ languageName: node
+ linkType: hard
+
+"@protobufjs/eventemitter@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/eventemitter@npm:1.1.0"
+ checksum: 03af3e99f17ad421283d054c88a06a30a615922a817741b43ca1b13e7c6b37820a37f6eba9980fb5150c54dba6e26cb6f7b64a6f7d8afa83596fafb3afa218c3
+ languageName: node
+ linkType: hard
+
+"@protobufjs/fetch@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/fetch@npm:1.1.0"
+ dependencies:
+ "@protobufjs/aspromise": "npm:^1.1.1"
+ "@protobufjs/inquire": "npm:^1.1.0"
+ checksum: 67ae40572ad536e4ef94269199f252c024b66e3059850906bdaee161ca1d75c73d04d35cd56f147a8a5a079f5808e342b99e61942c1dae15604ff0600b09a958
+ languageName: node
+ linkType: hard
+
+"@protobufjs/float@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@protobufjs/float@npm:1.0.2"
+ checksum: 634c2c989da0ef2f4f19373d64187e2a79f598c5fb7991afb689d29a2ea17c14b796b29725945fa34b9493c17fb799e08ac0a7ccaae460ee1757d3083ed35187
+ languageName: node
+ linkType: hard
+
+"@protobufjs/inquire@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/inquire@npm:1.1.0"
+ checksum: c09efa34a5465cb120775e1a482136f2340a58b4abce7e93d72b8b5a9324a0e879275016ef9fcd73d72a4731639c54f2bb755bb82f916e4a78892d1d840bb3d2
+ languageName: node
+ linkType: hard
+
+"@protobufjs/path@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@protobufjs/path@npm:1.1.2"
+ checksum: bb709567935fd385a86ad1f575aea98131bbd719c743fb9b6edd6b47ede429ff71a801cecbd64fc72deebf4e08b8f1bd8062793178cdaed3713b8d15771f9b83
+ languageName: node
+ linkType: hard
+
+"@protobufjs/pool@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/pool@npm:1.1.0"
+ checksum: b9c7047647f6af28e92aac54f6f7c1f7ff31b201b4bfcc7a415b2861528854fce3ec666d7e7e10fd744da905f7d4aef2205bbcc8944ca0ca7a82e18134d00c46
+ languageName: node
+ linkType: hard
+
+"@protobufjs/utf8@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@protobufjs/utf8@npm:1.1.0"
+ checksum: 131e289c57534c1d73a0e55782d6751dd821db1583cb2f7f7e017c9d6747addaebe79f28120b2e0185395d990aad347fb14ffa73ef4096fa38508d61a0e64602
+ languageName: node
+ linkType: hard
+
"@randlabs/communication-bridge@npm:1.0.1":
version: 1.0.1
resolution: "@randlabs/communication-bridge@npm:1.0.1"
@@ -12149,23 +11519,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-navigation/bottom-tabs@npm:^6.5.11":
- version: 6.5.11
- resolution: "@react-navigation/bottom-tabs@npm:6.5.11"
- dependencies:
- "@react-navigation/elements": "npm:^1.3.21"
- color: "npm:^4.2.3"
- warn-once: "npm:^0.1.0"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-safe-area-context: ">= 3.0.0"
- react-native-screens: ">= 3.0.0"
- checksum: c082a70d5143d4b0c505a3a2088f4397de14ab50cd1e8fda74bb100b509213a4b0cba5bf6ec4dbc199a1c890adddc2eee63db9fbec8f899b93def9526305da59
- languageName: node
- linkType: hard
-
"@react-navigation/core@npm:^6.4.9":
version: 6.4.9
resolution: "@react-navigation/core@npm:6.4.9"
@@ -12182,50 +11535,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-navigation/devtools@npm:^6.0.20":
- version: 6.0.20
- resolution: "@react-navigation/devtools@npm:6.0.20"
- dependencies:
- deep-equal: "npm:^2.0.5"
- nanoid: "npm:^3.1.23"
- stacktrace-parser: "npm:^0.1.10"
- peerDependencies:
- react: "*"
- checksum: 2b3ace878d81462d5969aa0bed932877be823ef79b1b6c4194fab573733b2b601e887c54a2552939cd065d9aab85628ee1e3ceddc0a216c00c2441efd0359522
- languageName: node
- linkType: hard
-
-"@react-navigation/drawer@npm:^6.6.3":
- version: 6.6.3
- resolution: "@react-navigation/drawer@npm:6.6.3"
- dependencies:
- "@react-navigation/elements": "npm:^1.3.18"
- color: "npm:^4.2.3"
- warn-once: "npm:^0.1.0"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-gesture-handler: ">= 1.0.0"
- react-native-reanimated: ">= 1.0.0"
- react-native-safe-area-context: ">= 3.0.0"
- react-native-screens: ">= 3.0.0"
- checksum: 657b735cad5c29f066011f41808b5f7c239e8987c882ff2bb11dc5a53267917b3305cab331ff7e54bda56b15265762762426aa45110966b9f57223e62e4c4074
- languageName: node
- linkType: hard
-
-"@react-navigation/elements@npm:^1.3.18":
- version: 1.3.18
- resolution: "@react-navigation/elements@npm:1.3.18"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-safe-area-context: ">= 3.0.0"
- checksum: d78a1c6e5f99c47c6f330b633d085e307627cd31968325666600b643a5cfee39c6db768b80bbd675e5db5ed72ab56462be47db597db181aaad092ccaf7d12222
- languageName: node
- linkType: hard
-
"@react-navigation/elements@npm:^1.3.21":
version: 1.3.21
resolution: "@react-navigation/elements@npm:1.3.21"
@@ -12238,22 +11547,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-navigation/material-top-tabs@npm:^6.6.3":
- version: 6.6.3
- resolution: "@react-navigation/material-top-tabs@npm:6.6.3"
- dependencies:
- color: "npm:^4.2.3"
- warn-once: "npm:^0.1.0"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-pager-view: ">= 4.0.0"
- react-native-tab-view: ">= 3.0.0"
- checksum: 3d9755590691c151f7c248f91fc513ed9033a0c79098b4892b1995d3e233939310c230fcf38939203df68a8c6373575fa32ff6b332679160c13a4acb9b26a040
- languageName: node
- linkType: hard
-
"@react-navigation/material-top-tabs@npm:^6.6.5":
version: 6.6.5
resolution: "@react-navigation/material-top-tabs@npm:6.6.5"
@@ -12270,22 +11563,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-navigation/native-stack@npm:^6.9.13":
- version: 6.9.13
- resolution: "@react-navigation/native-stack@npm:6.9.13"
- dependencies:
- "@react-navigation/elements": "npm:^1.3.18"
- warn-once: "npm:^0.1.0"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-safe-area-context: ">= 3.0.0"
- react-native-screens: ">= 3.0.0"
- checksum: b05b79a9a4ac2757739f83b6df7446576bd6b639aa241c457a20b0e80f803b5a5cec2336d810c762d6566c95efecf36285256a65c5fff0f8a99b84b825fa2d0b
- languageName: node
- linkType: hard
-
"@react-navigation/native@npm:^6.1.7":
version: 6.1.7
resolution: "@react-navigation/native@npm:6.1.7"
@@ -12310,24 +11587,6 @@ __metadata:
languageName: node
linkType: hard
-"@react-navigation/stack@npm:^6.3.17":
- version: 6.3.17
- resolution: "@react-navigation/stack@npm:6.3.17"
- dependencies:
- "@react-navigation/elements": "npm:^1.3.18"
- color: "npm:^4.2.3"
- warn-once: "npm:^0.1.0"
- peerDependencies:
- "@react-navigation/native": ^6.0.0
- react: "*"
- react-native: "*"
- react-native-gesture-handler: ">= 1.0.0"
- react-native-safe-area-context: ">= 3.0.0"
- react-native-screens: ">= 3.0.0"
- checksum: cb39d55266857fa264e470d4822411b5c6ed271af22bc1825861975a73f0be957f0c2701ce1675541a7abcb864f35908712218b68f3da9e0e0fbe2b0da102f0f
- languageName: node
- linkType: hard
-
"@react-navigation/stack@npm:^6.3.20":
version: 6.3.20
resolution: "@react-navigation/stack@npm:6.3.20"
@@ -12507,6 +11766,24 @@ __metadata:
languageName: node
linkType: hard
+"@scure/base@npm:~1.1.4":
+ version: 1.1.5
+ resolution: "@scure/base@npm:1.1.5"
+ checksum: 543fa9991c6378b6a0d5ab7f1e27b30bb9c1e860d3ac81119b4213cfdf0ad7b61be004e06506e89de7ce0cec9391c17f5c082bb34c3b617a2ee6a04129f52481
+ languageName: node
+ linkType: hard
+
+"@scure/bip32@npm:1.3.3":
+ version: 1.3.3
+ resolution: "@scure/bip32@npm:1.3.3"
+ dependencies:
+ "@noble/curves": "npm:~1.3.0"
+ "@noble/hashes": "npm:~1.3.2"
+ "@scure/base": "npm:~1.1.4"
+ checksum: 4b8b75567866ff7d6b3ba154538add02d2951e9433e8dd7f0014331ac500cda5a88fe3d39b408fcc36e86b633682013f172b967af022c2e4e4ab07336801d688
+ languageName: node
+ linkType: hard
+
"@scure/bip39@npm:1.1.0":
version: 1.1.0
resolution: "@scure/bip39@npm:1.1.0"
@@ -12517,6 +11794,16 @@ __metadata:
languageName: node
linkType: hard
+"@scure/bip39@npm:1.2.2":
+ version: 1.2.2
+ resolution: "@scure/bip39@npm:1.2.2"
+ dependencies:
+ "@noble/hashes": "npm:~1.3.2"
+ "@scure/base": "npm:~1.1.4"
+ checksum: f71aceda10a7937bf3779fd2b4c4156c95ec9813269470ddca464cb8ab610d2451b173037f4b1e6dac45414e406e7adc7b5814c51279f4474d5d38140bbee542
+ languageName: node
+ linkType: hard
+
"@segment/loosely-validate-event@npm:^2.0.0":
version: 2.0.0
resolution: "@segment/loosely-validate-event@npm:2.0.0"
@@ -12527,230 +11814,6 @@ __metadata:
languageName: node
linkType: hard
-"@sentry-internal/tracing@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry-internal/tracing@npm:7.81.1"
- dependencies:
- "@sentry/core": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- checksum: 2bae510d77024898a828bf7e3c51e01670e68b5a4506c47e678b05b32e1c2721e5f6149be9c83c8cee3793746cf69e7242f13b4999aa9902150bee17b1282292
- languageName: node
- linkType: hard
-
-"@sentry/browser@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/browser@npm:7.81.1"
- dependencies:
- "@sentry-internal/tracing": "npm:7.81.1"
- "@sentry/core": "npm:7.81.1"
- "@sentry/replay": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- checksum: cd06f364a13253fa3a166c415cfe2575c34f03f062fd91468724ba2737fd97dd367416c5280e4269d55192a962a54498a40054d95821f67b4227c6f02dc1180d
- languageName: node
- linkType: hard
-
-"@sentry/cli-darwin@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-darwin@npm:2.25.2"
- conditions: os=darwin
- languageName: node
- linkType: hard
-
-"@sentry/cli-linux-arm64@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-linux-arm64@npm:2.25.2"
- conditions: (os=linux | os=freebsd) & cpu=arm64
- languageName: node
- linkType: hard
-
-"@sentry/cli-linux-arm@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-linux-arm@npm:2.25.2"
- conditions: (os=linux | os=freebsd) & cpu=arm
- languageName: node
- linkType: hard
-
-"@sentry/cli-linux-i686@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-linux-i686@npm:2.25.2"
- conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32)
- languageName: node
- linkType: hard
-
-"@sentry/cli-linux-x64@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-linux-x64@npm:2.25.2"
- conditions: (os=linux | os=freebsd) & cpu=x64
- languageName: node
- linkType: hard
-
-"@sentry/cli-win32-i686@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-win32-i686@npm:2.25.2"
- conditions: os=win32 & (cpu=x86 | cpu=ia32)
- languageName: node
- linkType: hard
-
-"@sentry/cli-win32-x64@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli-win32-x64@npm:2.25.2"
- conditions: os=win32 & cpu=x64
- languageName: node
- linkType: hard
-
-"@sentry/cli@npm:2.25.2":
- version: 2.25.2
- resolution: "@sentry/cli@npm:2.25.2"
- dependencies:
- "@sentry/cli-darwin": "npm:2.25.2"
- "@sentry/cli-linux-arm": "npm:2.25.2"
- "@sentry/cli-linux-arm64": "npm:2.25.2"
- "@sentry/cli-linux-i686": "npm:2.25.2"
- "@sentry/cli-linux-x64": "npm:2.25.2"
- "@sentry/cli-win32-i686": "npm:2.25.2"
- "@sentry/cli-win32-x64": "npm:2.25.2"
- https-proxy-agent: "npm:^5.0.0"
- node-fetch: "npm:^2.6.7"
- progress: "npm:^2.0.3"
- proxy-from-env: "npm:^1.1.0"
- which: "npm:^2.0.2"
- dependenciesMeta:
- "@sentry/cli-darwin":
- optional: true
- "@sentry/cli-linux-arm":
- optional: true
- "@sentry/cli-linux-arm64":
- optional: true
- "@sentry/cli-linux-i686":
- optional: true
- "@sentry/cli-linux-x64":
- optional: true
- "@sentry/cli-win32-i686":
- optional: true
- "@sentry/cli-win32-x64":
- optional: true
- bin:
- sentry-cli: bin/sentry-cli
- checksum: 72572039702207ebec7ee5a7f279ad7e34b643396ed8d0f1af77395263f0a3093e0037bcee3de29bd4fd42e660331f8ad51a12fd5f75a1e95fffad1114b8cc2c
- languageName: node
- linkType: hard
-
-"@sentry/core@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/core@npm:7.81.1"
- dependencies:
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- checksum: 3bb001c147f9425b4d93f780260eb928d486dec3772ec6bc3648f882a8ef9f8e69d71eaaf5fcce80b50316de7d10cdec54e6926a335c3361a1e7009d2d1b4ea4
- languageName: node
- linkType: hard
-
-"@sentry/hub@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/hub@npm:7.81.1"
- dependencies:
- "@sentry/core": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- checksum: a0b65c8e0d76ce92ce02e5035b3b7f7563e97db4b5c1d1c43cc3050394e41ca82e95cdde652fb2f5d7b948c91eb83a9568da83866ad8adbfe3078932baf6c4fd
- languageName: node
- linkType: hard
-
-"@sentry/integrations@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/integrations@npm:7.81.1"
- dependencies:
- "@sentry/core": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- localforage: "npm:^1.8.1"
- checksum: 13b6a0bcf47e717ca61d25ab0c8c1d839e9c6b43962ce1be9127becc3fcf19d9191d3938778a17217f5e0a7980630aae025215c7d711cdac522f0210bcb14247
- languageName: node
- linkType: hard
-
-"@sentry/react-native@npm:5.17.0":
- version: 5.17.0
- resolution: "@sentry/react-native@npm:5.17.0"
- dependencies:
- "@sentry/browser": "npm:7.81.1"
- "@sentry/cli": "npm:2.25.2"
- "@sentry/core": "npm:7.81.1"
- "@sentry/hub": "npm:7.81.1"
- "@sentry/integrations": "npm:7.81.1"
- "@sentry/react": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- peerDependencies:
- expo: ">=49.0.0"
- react: ">=17.0.0"
- react-native: ">=0.65.0"
- peerDependenciesMeta:
- expo:
- optional: true
- bin:
- sentry-expo-upload-sourcemaps: scripts/expo-upload-sourcemaps.js
- checksum: c2e7bb151409e73718490b87bf97bdbcde78ee6d13199bca96c15f07233f3bbf00b158362b740a726bdea2c09d3bed09a5507fadf5e5f88c6370142d8d0ee319
- languageName: node
- linkType: hard
-
-"@sentry/react@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/react@npm:7.81.1"
- dependencies:
- "@sentry/browser": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- hoist-non-react-statics: "npm:^3.3.2"
- peerDependencies:
- react: 15.x || 16.x || 17.x || 18.x
- checksum: 660894a157ac8af0147077608df49ef37f97f46e5c202e1ab77dce3994d836d7320699be00d62edbd09809a5c485bb4ecd6ef16e837b7546e2abaefe4b298ca9
- languageName: node
- linkType: hard
-
-"@sentry/replay@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/replay@npm:7.81.1"
- dependencies:
- "@sentry-internal/tracing": "npm:7.81.1"
- "@sentry/core": "npm:7.81.1"
- "@sentry/types": "npm:7.81.1"
- "@sentry/utils": "npm:7.81.1"
- checksum: 8ba893cc98409cda5ae74128dea1922885bd8d782cb53be4feff486248b4ae52d51d9aae928da7d868171953c718af87e2e90254e4c65cbf5e4ae4d9a4059b2c
- languageName: node
- linkType: hard
-
-"@sentry/types@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/types@npm:7.81.1"
- checksum: 26164e48ae8322218a1c081217de97bd50856b554604c5ffb0328f5356fed64c8ddfa9b155c4bbe4f66264c0881a017face36d53a0fc230fc1aa5e7948ffecc5
- languageName: node
- linkType: hard
-
-"@sentry/utils@npm:7.81.1":
- version: 7.81.1
- resolution: "@sentry/utils@npm:7.81.1"
- dependencies:
- "@sentry/types": "npm:7.81.1"
- checksum: 12a13adced1c2ca87bc93d0adb66c8fe9f5f2b9247c7cd2773c2e26edf8dd6437ab1f316af4afdd8e9ee912bdfabbaed89757a427a0c84e42a483b65ea790cdc
- languageName: node
- linkType: hard
-
-"@shopify/flash-list@npm:1.6.3":
- version: 1.6.3
- resolution: "@shopify/flash-list@npm:1.6.3"
- dependencies:
- recyclerlistview: "npm:4.2.0"
- tslib: "npm:2.4.0"
- peerDependencies:
- "@babel/runtime": "*"
- react: "*"
- react-native: "*"
- checksum: b2c272b447cc528676eac0dfbcb9aead756bb00e9bfda93fc9e3886f93d4cb39fa9fa2d16a3077a86b18dfafc6a67a0e2c4b5917ea5b1efea9e63f485688cb51
- languageName: node
- linkType: hard
-
"@sideway/address@npm:^4.1.3":
version: 4.1.4
resolution: "@sideway/address@npm:4.1.4"
@@ -12795,6 +11858,13 @@ __metadata:
languageName: node
linkType: hard
+"@sinclair/typebox@npm:^0.31.28":
+ version: 0.31.28
+ resolution: "@sinclair/typebox@npm:0.31.28"
+ checksum: 27c3af5539a12af9b3cda4432959c69fb500920f1dd3739700a1437cfa9de809a292398a0b3b871c7471e96e4088d58406105bed5407d089c91c56090c526013
+ languageName: node
+ linkType: hard
+
"@sindresorhus/is@npm:^0.7.0":
version: 0.7.0
resolution: "@sindresorhus/is@npm:0.7.0"
@@ -14672,26 +13742,6 @@ __metadata:
languageName: node
linkType: hard
-"@tanstack/eslint-plugin-query@npm:^5.20.1":
- version: 5.20.1
- resolution: "@tanstack/eslint-plugin-query@npm:5.20.1"
- dependencies:
- "@typescript-eslint/utils": "npm:^6.20.0"
- peerDependencies:
- eslint: ^8.0.0
- checksum: 7730ba24fb45f54186262813e48bf626cc875a74d906fc0260d7eb2d4df56b05d542766a64145b7a89f7f59a553b1e8c5dab5a2fcfd74a3ba40d0350e5e76164
- languageName: node
- linkType: hard
-
-"@tanstack/query-async-storage-persister@npm:^5.17.19":
- version: 5.17.19
- resolution: "@tanstack/query-async-storage-persister@npm:5.17.19"
- dependencies:
- "@tanstack/query-persist-client-core": "npm:5.17.19"
- checksum: 3902d7df89b7d50bdff547720b6f33a1f792f24ec1d06cd56a54f2257abe62cc8501d00c8365e7ce540ade3c69c74874a4b3869852b3e45a025fa22e7542d5c7
- languageName: node
- linkType: hard
-
"@tanstack/query-core@npm:4.36.1":
version: 4.36.1
resolution: "@tanstack/query-core@npm:4.36.1"
@@ -14715,15 +13765,6 @@ __metadata:
languageName: node
linkType: hard
-"@tanstack/query-persist-client-core@npm:5.17.19":
- version: 5.17.19
- resolution: "@tanstack/query-persist-client-core@npm:5.17.19"
- dependencies:
- "@tanstack/query-core": "npm:5.17.19"
- checksum: 301c41f3543b3f304e6a6aad55127a17ade38ba1517d51b8f7d848a5db5039d65feca8a73038b06fdeaf2a4ed6385540c8abf1061373abacaa60665649e40592
- languageName: node
- linkType: hard
-
"@tanstack/query-sync-storage-persister@npm:^4.0.10":
version: 4.36.1
resolution: "@tanstack/query-sync-storage-persister@npm:4.36.1"
@@ -14744,18 +13785,6 @@ __metadata:
languageName: node
linkType: hard
-"@tanstack/react-query-persist-client@npm:^5.17.19":
- version: 5.17.19
- resolution: "@tanstack/react-query-persist-client@npm:5.17.19"
- dependencies:
- "@tanstack/query-persist-client-core": "npm:5.17.19"
- peerDependencies:
- "@tanstack/react-query": ^5.17.19
- react: ^18.0.0
- checksum: af87bf1a50e7b62ec246fa1c122968b1c60e08968adc30fc5c10e64476cb48ce4d34aa60a96346dfa7223eaf7196aa9fe74321288f864bae1bbcf5dcec5e27a1
- languageName: node
- linkType: hard
-
"@tanstack/react-query@npm:^4.0.10":
version: 4.36.1
resolution: "@tanstack/react-query@npm:4.36.1"
@@ -14839,33 +13868,247 @@ __metadata:
languageName: node
linkType: hard
-"@treklabs/api-web@npm:0.1.1":
- version: 0.1.1
- resolution: "@treklabs/api-web@npm:0.1.1"
+"@trezor/analytics@npm:1.0.14":
+ version: 1.0.14
+ resolution: "@trezor/analytics@npm:1.0.14"
dependencies:
- axios: "npm:^1.6.0"
- ts-morph: "npm:^20.0.0"
- tweetnacl: "npm:^1.0.3"
- checksum: 769e1f2b9950cd6fe5d3d9223940a93bf749a7a8c641ee6f56013e5f582053d5def591dba700a2fedc173fcd892ffc5bb3a82a8db339eb0ecc47fdab8de85e93
+ "@trezor/env-utils": "npm:1.0.13"
+ "@trezor/utils": "npm:9.0.21"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 526842a66af608c90904b51f7c5a71ab4686eaeafd5ca37b96a922653739a908ff29907dab3a6bce7af65e42675ea14901b8768740cb27e99d9310765f6ea024
languageName: node
linkType: hard
-"@trysound/sax@npm:0.2.0":
- version: 0.2.0
- resolution: "@trysound/sax@npm:0.2.0"
- checksum: 7379713eca480ac0d9b6c7b063e06b00a7eac57092354556c81027066eb65b61ea141a69d0cc2e15d32e05b2834d4c9c2184793a5e36bbf5daf05ee5676af18c
+"@trezor/blockchain-link-types@npm:1.0.13":
+ version: 1.0.13
+ resolution: "@trezor/blockchain-link-types@npm:1.0.13"
+ dependencies:
+ "@solana/web3.js": "npm:^1.87.6"
+ "@trezor/type-utils": "npm:1.0.4"
+ "@trezor/utxo-lib": "npm:2.0.6"
+ socks-proxy-agent: "npm:6.1.1"
+ checksum: 6232c55f0153e2e42863a51ebd32fa1bc6ebff16ba2a526a18a63ac9f9a055e69916e7f4594a3533e4a311051dd29f7767c668648f72e0f2ff75eda377db5fbe
languageName: node
linkType: hard
-"@ts-morph/common@npm:~0.21.0":
- version: 0.21.0
- resolution: "@ts-morph/common@npm:0.21.0"
+"@trezor/blockchain-link-utils@npm:1.0.14":
+ version: 1.0.14
+ resolution: "@trezor/blockchain-link-utils@npm:1.0.14"
dependencies:
- fast-glob: "npm:^3.2.12"
- minimatch: "npm:^7.4.3"
- mkdirp: "npm:^2.1.6"
- path-browserify: "npm:^1.0.1"
- checksum: dbfffae478bb9da71182faf87c14f578de21afe098a388bbcbdeebc5864e9f17e136526dbad6a8e760fe20e5bb943b2dfa62dc47d14b8e6e9077ce08f6de6242
+ "@mobily/ts-belt": "npm:^3.13.1"
+ "@solana/web3.js": "npm:^1.87.6"
+ "@trezor/utils": "npm:9.0.21"
+ bignumber.js: "npm:^9.1.1"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 2d7b64b2b0d418b4065f2c589b715d0ce13821ffb19fb331a624d43a810af75e96c2f0d9a61edcdcf50d6c1651cf51803594ddbcfbfc937153bb9f07c7862ee3
+ languageName: node
+ linkType: hard
+
+"@trezor/blockchain-link@npm:2.1.25":
+ version: 2.1.25
+ resolution: "@trezor/blockchain-link@npm:2.1.25"
+ dependencies:
+ "@solana/buffer-layout": "npm:^4.0.1"
+ "@solana/web3.js": "npm:^1.87.6"
+ "@trezor/blockchain-link-types": "npm:1.0.13"
+ "@trezor/blockchain-link-utils": "npm:1.0.14"
+ "@trezor/utils": "npm:9.0.21"
+ "@trezor/utxo-lib": "npm:2.0.6"
+ "@types/web": "npm:^0.0.119"
+ bignumber.js: "npm:^9.1.1"
+ events: "npm:^3.3.0"
+ ripple-lib: "npm:^1.10.1"
+ socks-proxy-agent: "npm:6.1.1"
+ ws: "npm:^8.16.0"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 78346cf7031d29ea42796f8e78e3ced6d9d8023c6ac522851aafb7fc2ac547e10b3223af75103acac39da896b0a1eb4b8701c02418cf66b26334e5f5a767acf8
+ languageName: node
+ linkType: hard
+
+"@trezor/connect-analytics@npm:1.0.12":
+ version: 1.0.12
+ resolution: "@trezor/connect-analytics@npm:1.0.12"
+ dependencies:
+ "@trezor/analytics": "npm:1.0.14"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 44515d44f9ba205585a3f0772a9859029470f570bbb0ec0958b23e9afa74e60244530f2d363e91b18f2cd1b8cc5e6679f5416ac31944db423f8810e5f6ecf469
+ languageName: node
+ linkType: hard
+
+"@trezor/connect-common@npm:0.0.28":
+ version: 0.0.28
+ resolution: "@trezor/connect-common@npm:0.0.28"
+ dependencies:
+ "@trezor/env-utils": "npm:1.0.13"
+ "@trezor/utils": "npm:9.0.21"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 9be1773d954e1643878aa549afd216a23ae5945bebd822fed535458a6ffa71809a7d6267831367dbb8d6bbc0cc93a54b343dd7f4a97b9154bac4767774f1dc54
+ languageName: node
+ linkType: hard
+
+"@trezor/connect-web@npm:^9.1.12":
+ version: 9.1.12
+ resolution: "@trezor/connect-web@npm:9.1.12"
+ dependencies:
+ "@trezor/connect": "npm:9.1.12"
+ "@trezor/utils": "npm:9.0.21"
+ events: "npm:^3.3.0"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: a32a003c1fe034603a80151722fee4eaad7aebdfe00f2064ae28761647ecdb4935abca48a72e7029fbf8ae689e0b965594d93e674d918adb6d746378bb81d599
+ languageName: node
+ linkType: hard
+
+"@trezor/connect@npm:9.1.12":
+ version: 9.1.12
+ resolution: "@trezor/connect@npm:9.1.12"
+ dependencies:
+ "@ethereumjs/common": "npm:^4.1.0"
+ "@ethereumjs/tx": "npm:^5.1.0"
+ "@fivebinaries/coin-selection": "npm:2.2.1"
+ "@trezor/blockchain-link": "npm:2.1.25"
+ "@trezor/blockchain-link-types": "npm:1.0.13"
+ "@trezor/connect-analytics": "npm:1.0.12"
+ "@trezor/connect-common": "npm:0.0.28"
+ "@trezor/protobuf": "npm:1.0.8"
+ "@trezor/protocol": "npm:1.0.5"
+ "@trezor/schema-utils": "npm:1.0.1"
+ "@trezor/transport": "npm:1.1.24"
+ "@trezor/utils": "npm:9.0.21"
+ "@trezor/utxo-lib": "npm:2.0.6"
+ bignumber.js: "npm:^9.1.1"
+ blakejs: "npm:^1.2.1"
+ bs58: "npm:^5.0.0"
+ bs58check: "npm:^3.0.1"
+ cross-fetch: "npm:^4.0.0"
+ events: "npm:^3.3.0"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 31ed89f79a820655d3e80ba41ad653c77015d475aee62fe96563728b6ff4458bba275aaeff80d8f20fd364b520f234574aa3fc37002c32f700bf27150e522370
+ languageName: node
+ linkType: hard
+
+"@trezor/env-utils@npm:1.0.13":
+ version: 1.0.13
+ resolution: "@trezor/env-utils@npm:1.0.13"
+ dependencies:
+ ua-parser-js: "npm:^1.0.37"
+ peerDependencies:
+ expo-localization: "*"
+ react-native: "*"
+ tslib: ^2.6.2
+ peerDependenciesMeta:
+ expo-localization:
+ optional: true
+ react-native:
+ optional: true
+ checksum: 8886cd5850ea61db0fb9a7965dff9984b148605c3fa33637e71d27473475edc53d7f565f414dbc9016453ce1c077dce8283e73151d8a580edab8c4afac0f7fd8
+ languageName: node
+ linkType: hard
+
+"@trezor/protobuf@npm:1.0.8":
+ version: 1.0.8
+ resolution: "@trezor/protobuf@npm:1.0.8"
+ dependencies:
+ "@trezor/schema-utils": "npm:1.0.1"
+ long: "npm:^4.0.0"
+ protobufjs: "npm:7.2.5"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: f6d99e7c8ad5245830696ec473b4d5484173848b7bb47209ec955b5e603993744c6c5895862feef100a124a2b6ad36332ae394a70145da3e7ab4a90fd1db2c29
+ languageName: node
+ linkType: hard
+
+"@trezor/protocol@npm:1.0.5":
+ version: 1.0.5
+ resolution: "@trezor/protocol@npm:1.0.5"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: cbe5a18ceb28790fcde780ef54960894805a25255666ec04853a95eaecef917b374e8aaf8adef48726479d2690f73191f68a79d3f53aa5661cfa5e956b68b9e4
+ languageName: node
+ linkType: hard
+
+"@trezor/schema-utils@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@trezor/schema-utils@npm:1.0.1"
+ dependencies:
+ "@sinclair/typebox": "npm:^0.31.28"
+ ts-mixer: "npm:^6.0.3"
+ checksum: 8bed9302c164e241a31ac2c481ea9c6731af3d9c914d45de2132887b109ce9753a97ba6368cb67acbe92d434a85922e4a67272d889ec45d5e0f72b82db545544
+ languageName: node
+ linkType: hard
+
+"@trezor/transport@npm:1.1.24":
+ version: 1.1.24
+ resolution: "@trezor/transport@npm:1.1.24"
+ dependencies:
+ "@trezor/protobuf": "npm:1.0.8"
+ "@trezor/protocol": "npm:1.0.5"
+ "@trezor/utils": "npm:9.0.21"
+ cross-fetch: "npm:^4.0.0"
+ json-stable-stringify: "npm:^1.0.2"
+ long: "npm:^4.0.0"
+ protobufjs: "npm:7.2.5"
+ usb: "npm:^2.11.0"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: be82ce208bad8213fe2d264ec040b56fe864d63906fd50b50437a4cc502d236eb32cf89c6c3c52086e5a0ffd7e8ff3591b44e392a280fd60c44777134b2bd7d1
+ languageName: node
+ linkType: hard
+
+"@trezor/type-utils@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@trezor/type-utils@npm:1.0.4"
+ checksum: b73fb3ee4b0382dfe9ab93a7a43b35b236fd2288a4c6384c197dbf41d974dfcae793b56d0343a4ffe2714fd913d9cde6c7976cd4b84a79f1862c2217cd503f85
+ languageName: node
+ linkType: hard
+
+"@trezor/utils@npm:9.0.21":
+ version: 9.0.21
+ resolution: "@trezor/utils@npm:9.0.21"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: 35f426fefec7ca0dae04f88d301b541c8b73c143cfc0e588061267af5bc05bcfed87e6ba29e4f19e2d76e80ff834c370f9a5b33e6a010f80f5eedcb297c498e6
+ languageName: node
+ linkType: hard
+
+"@trezor/utxo-lib@npm:2.0.6":
+ version: 2.0.6
+ resolution: "@trezor/utxo-lib@npm:2.0.6"
+ dependencies:
+ "@trezor/utils": "npm:9.0.21"
+ bchaddrjs: "npm:^0.5.2"
+ bech32: "npm:^2.0.0"
+ bip66: "npm:^1.1.5"
+ bitcoin-ops: "npm:^1.4.1"
+ blake-hash: "npm:^2.0.0"
+ blakejs: "npm:^1.2.1"
+ bn.js: "npm:^5.2.1"
+ bs58: "npm:^5.0.0"
+ bs58check: "npm:^3.0.1"
+ create-hash: "npm:^1.2.0"
+ create-hmac: "npm:^1.1.7"
+ int64-buffer: "npm:^1.0.1"
+ pushdata-bitcoin: "npm:^1.0.1"
+ tiny-secp256k1: "npm:^1.1.6"
+ typeforce: "npm:^1.18.0"
+ varuint-bitcoin: "npm:^1.1.2"
+ wif: "npm:^4.0.0"
+ peerDependencies:
+ tslib: ^2.6.2
+ checksum: c6e7fe4c6604f07d66b6634c775a7d39212f5335417ccfd50fbb9832ae9e3a993e25fc56550db1710b60f9ade97aa2c77d120d83ae0a34da1c28735342478066
+ languageName: node
+ linkType: hard
+
+"@trysound/sax@npm:0.2.0":
+ version: 0.2.0
+ resolution: "@trysound/sax@npm:0.2.0"
+ checksum: 7379713eca480ac0d9b6c7b063e06b00a7eac57092354556c81027066eb65b61ea141a69d0cc2e15d32e05b2834d4c9c2184793a5e36bbf5daf05ee5676af18c
languageName: node
linkType: hard
@@ -15458,16 +14701,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/hoist-non-react-statics@npm:^3.3.1":
- version: 3.3.1
- resolution: "@types/hoist-non-react-statics@npm:3.3.1"
- dependencies:
- "@types/react": "npm:*"
- hoist-non-react-statics: "npm:^3.3.0"
- checksum: 071e6d75a0ed9aa0e9ca2cc529a8c15bf7ac3e4a37aac279772ea6036fd0bf969b67fb627b65cfce65adeab31fec1e9e95b4dcdefeab075b580c0c7174206f63
- languageName: node
- linkType: hard
-
"@types/html-minifier-terser@npm:^6.0.0":
version: 6.1.0
resolution: "@types/html-minifier-terser@npm:6.1.0"
@@ -15612,16 +14845,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/lodash.throttle@npm:^4":
- version: 4.1.9
- resolution: "@types/lodash.throttle@npm:4.1.9"
- dependencies:
- "@types/lodash": "npm:*"
- checksum: 6d330072387f062d408747f0dbe62869820ee3f3fbec43965f703ce9c9083e4ff9082faa4fe92aea000d6367b7645955e9c8db6a4e04e6bd769697fdd19c12b1
- languageName: node
- linkType: hard
-
-"@types/lodash@npm:*":
+"@types/lodash@npm:^4.14.136":
version: 4.14.202
resolution: "@types/lodash@npm:4.14.202"
checksum: 1bb9760a5b1dda120132c4b987330d67979c95dbc22612678682cd61b00302e190f4207228f3728580059cdab5582362262e3819aea59960c1017bd2b9fb26f6
@@ -16012,7 +15236,21 @@ __metadata:
languageName: node
linkType: hard
-"@types/ws@npm:^7.4.4":
+"@types/w3c-web-usb@npm:^1.0.6":
+ version: 1.0.10
+ resolution: "@types/w3c-web-usb@npm:1.0.10"
+ checksum: 6ac6786a0788f0846a48b103ab06ca5fde5eb95674217b522420a2f6157bee3e181a961c1b7011940f497c55f4f5cc46129657d881fdd8112b48764089679ad6
+ languageName: node
+ linkType: hard
+
+"@types/web@npm:^0.0.119":
+ version: 0.0.119
+ resolution: "@types/web@npm:0.0.119"
+ checksum: abaabd19a59368939e5048590d6287bb5a9707031434ca11cdfa6f348ed42744f673f02cdca0de8c744898ffdc5d100df2e606abffaacb32c903b47a2ef8ac7e
+ languageName: node
+ linkType: hard
+
+"@types/ws@npm:^7.2.0, @types/ws@npm:^7.4.4":
version: 7.4.7
resolution: "@types/ws@npm:7.4.7"
dependencies:
@@ -16206,16 +15444,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/scope-manager@npm:6.21.0"
- dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
- checksum: fe91ac52ca8e09356a71dc1a2f2c326480f3cccfec6b2b6d9154c1a90651ab8ea270b07c67df5678956c3bbf0bbe7113ab68f68f21b20912ea528b1214197395
- languageName: node
- linkType: hard
-
"@typescript-eslint/type-utils@npm:6.17.0":
version: 6.17.0
resolution: "@typescript-eslint/type-utils@npm:6.17.0"
@@ -16271,13 +15499,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/types@npm:6.21.0"
- checksum: e26da86d6f36ca5b6ef6322619f8ec55aabcd7d43c840c977ae13ae2c964c3091fc92eb33730d8be08927c9de38466c5323e78bfb270a9ff1d3611fe821046c5
- languageName: node
- linkType: hard
-
"@typescript-eslint/typescript-estree@npm:5.56.0":
version: 5.56.0
resolution: "@typescript-eslint/typescript-estree@npm:5.56.0"
@@ -16334,25 +15555,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/typescript-estree@npm:6.21.0"
- dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
- debug: "npm:^4.3.4"
- globby: "npm:^11.1.0"
- is-glob: "npm:^4.0.3"
- minimatch: "npm:9.0.3"
- semver: "npm:^7.5.4"
- ts-api-utils: "npm:^1.0.1"
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: b32fa35fca2a229e0f5f06793e5359ff9269f63e9705e858df95d55ca2cd7fdb5b3e75b284095a992c48c5fc46a1431a1a4b6747ede2dd08929dc1cbacc589b8
- languageName: node
- linkType: hard
-
"@typescript-eslint/utils@npm:6.17.0":
version: 6.17.0
resolution: "@typescript-eslint/utils@npm:6.17.0"
@@ -16387,23 +15589,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:^6.20.0":
- version: 6.21.0
- resolution: "@typescript-eslint/utils@npm:6.21.0"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.4.0"
- "@types/json-schema": "npm:^7.0.12"
- "@types/semver": "npm:^7.5.0"
- "@typescript-eslint/scope-manager": "npm:6.21.0"
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/typescript-estree": "npm:6.21.0"
- semver: "npm:^7.5.4"
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- checksum: b404a2c55a425a79d054346ae123087d30c7ecf7ed7abcf680c47bf70c1de4fabadc63434f3f460b2fa63df76bc9e4a0b9fa2383bb8a9fcd62733fb5c4e4f3e3
- languageName: node
- linkType: hard
-
"@typescript-eslint/visitor-keys@npm:5.56.0":
version: 5.56.0
resolution: "@typescript-eslint/visitor-keys@npm:5.56.0"
@@ -16434,16 +15619,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/visitor-keys@npm:6.21.0"
- dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- eslint-visitor-keys: "npm:^3.4.1"
- checksum: 30422cdc1e2ffad203df40351a031254b272f9c6f2b7e02e9bfa39e3fc2c7b1c6130333b0057412968deda17a3a68a578a78929a8139c6acef44d9d841dc72e1
- languageName: node
- linkType: hard
-
"@ubeswap/token-math@npm:^4.4.4":
version: 4.4.8
resolution: "@ubeswap/token-math@npm:4.4.8"
@@ -16475,16 +15650,6 @@ __metadata:
languageName: node
linkType: hard
-"@uidotdev/usehooks@npm:^2.0.1":
- version: 2.0.1
- resolution: "@uidotdev/usehooks@npm:2.0.1"
- peerDependencies:
- react: ">=18.0.0"
- react-dom: ">=18.0.0"
- checksum: a099d59f76c338abe980a0b55bc0b09fe38314b4cbcbb4b5a3565384dd407e7fd31a9c040cb50d333162502444433cb10d95238de9b53cc748ea9529f924c190
- languageName: node
- linkType: hard
-
"@uidotdev/usehooks@npm:^2.4.1":
version: 2.4.1
resolution: "@uidotdev/usehooks@npm:2.4.1"
@@ -17265,13 +16430,6 @@ __metadata:
languageName: node
linkType: hard
-"@whatwg-node/events@npm:^0.1.0":
- version: 0.1.1
- resolution: "@whatwg-node/events@npm:0.1.1"
- checksum: 3a356ca23522190201e27446cfd7ebf1cf96815ddb9d1ba5da0a00bbe6c1d28b4094862104411101fbedd47c758b25fe3683033f6a3e80933029efd664c33567
- languageName: node
- linkType: hard
-
"@whatwg-node/fetch@npm:^0.8.0, @whatwg-node/fetch@npm:^0.8.1, @whatwg-node/fetch@npm:^0.8.2":
version: 0.8.5
resolution: "@whatwg-node/fetch@npm:0.8.5"
@@ -17285,16 +16443,6 @@ __metadata:
languageName: node
linkType: hard
-"@whatwg-node/fetch@npm:^0.9.0":
- version: 0.9.4
- resolution: "@whatwg-node/fetch@npm:0.9.4"
- dependencies:
- "@whatwg-node/node-fetch": "npm:^0.4.3"
- urlpattern-polyfill: "npm:^9.0.0"
- checksum: 8b17610358a07f3c559675754507d0cfd70adff0b4e31df7f31b9114c55f294689cc8ef24c56a33030ee819524c3ddd563e6764bd9754beabb7cc583177665f6
- languageName: node
- linkType: hard
-
"@whatwg-node/node-fetch@npm:^0.3.3":
version: 0.3.5
resolution: "@whatwg-node/node-fetch@npm:0.3.5"
@@ -17308,19 +16456,6 @@ __metadata:
languageName: node
linkType: hard
-"@whatwg-node/node-fetch@npm:^0.4.3":
- version: 0.4.3
- resolution: "@whatwg-node/node-fetch@npm:0.4.3"
- dependencies:
- "@whatwg-node/events": "npm:^0.1.0"
- busboy: "npm:^1.6.0"
- fast-querystring: "npm:^1.1.1"
- fast-url-parser: "npm:^1.1.3"
- tslib: "npm:^2.3.1"
- checksum: 9b08fe3d97d9f346273d1b07cc7e027ffbed7a7cca8564cf254aa0ad311862e3d04526504f7f703c10ee0b0975fd098abdc88a515affd9f275fd882b590449ac
- languageName: node
- linkType: hard
-
"@wry/caches@npm:^1.0.0":
version: 1.0.1
resolution: "@wry/caches@npm:1.0.1"
@@ -17582,15 +16717,6 @@ __metadata:
languageName: node
linkType: hard
-"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0":
- version: 7.1.0
- resolution: "agent-base@npm:7.1.0"
- dependencies:
- debug: "npm:^4.3.4"
- checksum: f7828f991470a0cc22cb579c86a18cbae83d8a3cbed39992ab34fc7217c4d126017f1c74d0ab66be87f71455318a8ea3e757d6a37881b8d0f2a2c6aa55e5418f
- languageName: node
- linkType: hard
-
"agentkeepalive@npm:^4.2.1":
version: 4.3.0
resolution: "agentkeepalive@npm:4.3.0"
@@ -17659,18 +16785,6 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:8.11.0":
- version: 8.11.0
- resolution: "ajv@npm:8.11.0"
- dependencies:
- fast-deep-equal: "npm:^3.1.1"
- json-schema-traverse: "npm:^1.0.0"
- require-from-string: "npm:^2.0.2"
- uri-js: "npm:^4.2.2"
- checksum: aa0dfd6cebdedde8e77747e84e7b7c55921930974b8547f54b4156164ff70445819398face32dafda4bd4c61bbc7513d308d4c2bf769f8ea6cb9c8449f9faf54
- languageName: node
- linkType: hard
-
"ajv@npm:^6.12.4, ajv@npm:^6.12.5":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
@@ -18008,13 +17122,6 @@ __metadata:
languageName: node
linkType: hard
-"arg@npm:4.1.0":
- version: 4.1.0
- resolution: "arg@npm:4.1.0"
- checksum: dc0e1ea7f0adee7871c456bd57f06fb9f8c2ccd91fd0537c73b66f3fa0c9697ccdfc25b358a417a3ab263c062aac0ef2df3a5523433861fe6277cb2ff769a9bc
- languageName: node
- linkType: hard
-
"arg@npm:5.0.2, arg@npm:^5.0.2":
version: 5.0.2
resolution: "arg@npm:5.0.2"
@@ -18790,19 +17897,6 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-module-resolver@npm:^5.0.0":
- version: 5.0.0
- resolution: "babel-plugin-module-resolver@npm:5.0.0"
- dependencies:
- find-babel-config: "npm:^2.0.0"
- glob: "npm:^8.0.3"
- pkg-up: "npm:^3.1.0"
- reselect: "npm:^4.1.7"
- resolve: "npm:^1.22.1"
- checksum: 13924d6ec9958405b2ac1a471639f75a7e486f643a6a50363b26dca7b66abd2cf1d9fe301c4e7b50c817e37e782fa06c209d958a4e0570c9ded36e0b8b6c2e48
- languageName: node
- linkType: hard
-
"babel-plugin-polyfill-corejs2@npm:^0.3.3":
version: 0.3.3
resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3"
@@ -18898,13 +17992,6 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-transform-inline-environment-variables@npm:^0.4.4":
- version: 0.4.4
- resolution: "babel-plugin-transform-inline-environment-variables@npm:0.4.4"
- checksum: fa361287411301237fd8ce332aff4f8e8ccb8db30e87a2ddc7224c8bf7cd792eda47aca24dc2e09e70bce4c027bc8cbe22f4999056be37a25d2472945df21ef5
- languageName: node
- linkType: hard
-
"babel-preset-current-node-syntax@npm:^1.0.0":
version: 1.0.1
resolution: "babel-preset-current-node-syntax@npm:1.0.1"
@@ -18927,7 +18014,7 @@ __metadata:
languageName: node
linkType: hard
-"babel-preset-expo@npm:^10.0.0, babel-preset-expo@npm:~10.0.0, babel-preset-expo@npm:~10.0.1":
+"babel-preset-expo@npm:~10.0.0, babel-preset-expo@npm:~10.0.1":
version: 10.0.1
resolution: "babel-preset-expo@npm:10.0.1"
dependencies:
@@ -19058,7 +18145,7 @@ __metadata:
languageName: node
linkType: hard
-"base-x@npm:^3.0.2, base-x@npm:^3.0.6, base-x@npm:^3.0.8":
+"base-x@npm:^3.0.2, base-x@npm:^3.0.6, base-x@npm:^3.0.8, base-x@npm:^3.0.9":
version: 3.0.9
resolution: "base-x@npm:3.0.9"
dependencies:
@@ -19083,7 +18170,7 @@ __metadata:
languageName: node
linkType: hard
-"base64-js@npm:^1.2.3, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1":
+"base64-js@npm:^1.2.3, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1":
version: 1.5.1
resolution: "base64-js@npm:1.5.1"
checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005
@@ -19128,6 +18215,18 @@ __metadata:
languageName: node
linkType: hard
+"bchaddrjs@npm:^0.5.2":
+ version: 0.5.2
+ resolution: "bchaddrjs@npm:0.5.2"
+ dependencies:
+ bs58check: "npm:2.1.2"
+ buffer: "npm:^6.0.3"
+ cashaddrjs: "npm:0.4.4"
+ stream-browserify: "npm:^3.0.0"
+ checksum: ca79899b72efcad8fa696814532a4ded103402fcb18389ae8969df89d9e5415ea4209e707c6625fad855a2a20f9e23cf535902b235c05b897ce5375a19a4dc38
+ languageName: node
+ linkType: hard
+
"bech32@npm:1.1.4":
version: 1.1.4
resolution: "bech32@npm:1.1.4"
@@ -19135,6 +18234,13 @@ __metadata:
languageName: node
linkType: hard
+"bech32@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "bech32@npm:2.0.0"
+ checksum: fa15acb270b59aa496734a01f9155677b478987b773bf701f465858bf1606c6a970085babd43d71ce61895f1baa594cb41a2cd1394bd2c6698f03cc2d811300e
+ languageName: node
+ linkType: hard
+
"better-opn@npm:~3.0.2":
version: 3.0.2
resolution: "better-opn@npm:3.0.2"
@@ -19144,13 +18250,27 @@ __metadata:
languageName: node
linkType: hard
-"big-integer@npm:1.6.x, big-integer@npm:^1.6.51":
+"big-integer@npm:1.6.36":
+ version: 1.6.36
+ resolution: "big-integer@npm:1.6.36"
+ checksum: 961fdd96c847765907e38759053ef4f9e66646739f2e6561087639dce7d1707db180dcb878761bb812a265af600f2d57cc31f5a57645dd790e4bd52c5d28382a
+ languageName: node
+ linkType: hard
+
+"big-integer@npm:1.6.x":
version: 1.6.51
resolution: "big-integer@npm:1.6.51"
checksum: c7a12640901906d6f6b6bdb42a4eaba9578397b6d9a0dd090cf001ec813ff2bfcd441e364068ea0416db6175d2615f8ed19cff7d1a795115bf7c92d44993f991
languageName: node
linkType: hard
+"big-integer@npm:^1.6.48":
+ version: 1.6.52
+ resolution: "big-integer@npm:1.6.52"
+ checksum: 4bc6ae152a96edc9f95020f5fc66b13d26a9ad9a021225a9f0213f7e3dc44269f423aa8c42e19d6ac4a63bb2b22140b95d10be8f9ca7a6d9aa1b22b330d1f514
+ languageName: node
+ linkType: hard
+
"big.js@npm:^5.2.2":
version: 5.2.2
resolution: "big.js@npm:5.2.2"
@@ -19265,6 +18385,22 @@ __metadata:
languageName: node
linkType: hard
+"bip66@npm:^1.1.5":
+ version: 1.1.5
+ resolution: "bip66@npm:1.1.5"
+ dependencies:
+ safe-buffer: "npm:^5.0.1"
+ checksum: 6257e90ff2149aa08740ff4009730c1bceb1a3456571d3006a36b39f30044f2973e05f043ea6977046d6ab66e4a8d6f5c9785094f8317f4ff546a325baece1ab
+ languageName: node
+ linkType: hard
+
+"bitcoin-ops@npm:^1.3.0, bitcoin-ops@npm:^1.4.1":
+ version: 1.4.1
+ resolution: "bitcoin-ops@npm:1.4.1"
+ checksum: 3daa3303d6af49c0727041b5d7801a20c5806d00f1cc1afa2d53099974e30a7b1e7e9e578723dd25f5e120903f2725c595c0205d5d99a6578ad65213d74d806d
+ languageName: node
+ linkType: hard
+
"bl@npm:^1.0.0":
version: 1.2.3
resolution: "bl@npm:1.2.3"
@@ -19286,7 +18422,19 @@ __metadata:
languageName: node
linkType: hard
-"blakejs@npm:^1.1.0":
+"blake-hash@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "blake-hash@npm:2.0.0"
+ dependencies:
+ node-addon-api: "npm:^3.0.0"
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.2.2"
+ readable-stream: "npm:^3.6.0"
+ checksum: 91cb584c2c98bfeb94f2fe01ab1663577fd8a69c330b03ea071ce53eda8e3e28293da891e3eacd78a95ad1275325cf7055e39294535c0474f297ada373083fd2
+ languageName: node
+ linkType: hard
+
+"blakejs@npm:^1.1.0, blakejs@npm:^1.2.1":
version: 1.2.1
resolution: "blakejs@npm:1.2.1"
checksum: 0638b1bd058b21892633929c43005aa6a4cc4b2ac5b338a146c3c076622f1b360795bd7a4d1f077c9b01863ed2df0c1504a81c5b520d164179120434847e6cd7
@@ -19467,7 +18615,7 @@ __metadata:
languageName: node
linkType: hard
-"brorand@npm:^1.0.1, brorand@npm:^1.1.0":
+"brorand@npm:^1.0.1, brorand@npm:^1.0.5, brorand@npm:^1.1.0":
version: 1.1.0
resolution: "brorand@npm:1.1.0"
checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be
@@ -19618,7 +18766,7 @@ __metadata:
languageName: node
linkType: hard
-"bs58check@npm:<3.0.0, bs58check@npm:^2.1.1, bs58check@npm:^2.1.2":
+"bs58check@npm:2.1.2, bs58check@npm:<3.0.0, bs58check@npm:^2.1.1, bs58check@npm:^2.1.2":
version: 2.1.2
resolution: "bs58check@npm:2.1.2"
dependencies:
@@ -19629,6 +18777,16 @@ __metadata:
languageName: node
linkType: hard
+"bs58check@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "bs58check@npm:3.0.1"
+ dependencies:
+ "@noble/hashes": "npm:^1.2.0"
+ bs58: "npm:^5.0.0"
+ checksum: dbbecc7a09f3836e821149266c864c4bbd545539cea43c35f23f4c3c46b54c86c52b65d224b9ea2e916fa6d93bd2ce9fac5b6c6bfcf19621a9c209a5602f71c8
+ languageName: node
+ linkType: hard
+
"bser@npm:2.1.1":
version: 2.1.1
resolution: "bser@npm:2.1.1"
@@ -20048,6 +19206,15 @@ __metadata:
languageName: node
linkType: hard
+"cashaddrjs@npm:0.4.4":
+ version: 0.4.4
+ resolution: "cashaddrjs@npm:0.4.4"
+ dependencies:
+ big-integer: "npm:1.6.36"
+ checksum: f3764cf858938b5087b285e96eb39acf8333ebe67448eab1f5ae04aa1f850f45fdc2dc832fe8b17f6bb360ad8df55d954856facd6f562bd6c3277217e2b61835
+ languageName: node
+ linkType: hard
+
"caw@npm:^2.0.1":
version: 2.0.1
resolution: "caw@npm:2.0.1"
@@ -20095,7 +19262,7 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2, chalk@npm:~4.1.2":
+"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
dependencies:
@@ -20609,13 +19776,6 @@ __metadata:
languageName: node
linkType: hard
-"code-block-writer@npm:^12.0.0":
- version: 12.0.0
- resolution: "code-block-writer@npm:12.0.0"
- checksum: 7dc531e652b4654f6e0487923df74cda7294da01c6ac225f523256c6ae5f7f4eb5c4dc7902a9e64b81dba4b22e7d843454ed71a59954d31aa8656184c6c0c8ff
- languageName: node
- linkType: hard
-
"collect-v8-coverage@npm:^1.0.0":
version: 1.0.1
resolution: "collect-v8-coverage@npm:1.0.1"
@@ -21160,18 +20320,6 @@ __metadata:
languageName: node
linkType: hard
-"cosmiconfig@npm:^8.1.0, cosmiconfig@npm:^8.1.3":
- version: 8.2.0
- resolution: "cosmiconfig@npm:8.2.0"
- dependencies:
- import-fresh: "npm:^3.2.1"
- js-yaml: "npm:^4.1.0"
- parse-json: "npm:^5.0.0"
- path-type: "npm:^4.0.0"
- checksum: e0b188f9a672ee7135851bf9d9fc8f0ba00f9769c95fda5af0ebc274804f6aeb713b753e04e706f595e1fbd0fa67c5073840666019068c0296a06057560ab39d
- languageName: node
- linkType: hard
-
"cosmiconfig@npm:^8.2.0":
version: 8.3.6
resolution: "cosmiconfig@npm:8.3.6"
@@ -21270,6 +20418,15 @@ __metadata:
languageName: node
linkType: hard
+"cross-fetch@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "cross-fetch@npm:4.0.0"
+ dependencies:
+ node-fetch: "npm:^2.6.12"
+ checksum: e231a71926644ef122d334a3a4e73d9ba3ba4b480a8a277fb9badc434c1ba905b3d60c8034e18b348361a09afbec40ba9371036801ba2b675a7b84588f9f55d8
+ languageName: node
+ linkType: hard
+
"cross-spawn@npm:^5.1.0":
version: 5.1.0
resolution: "cross-spawn@npm:5.1.0"
@@ -21859,7 +21016,7 @@ __metadata:
languageName: node
linkType: hard
-"decimal.js@npm:^10.3.1, decimal.js@npm:^10.4.2":
+"decimal.js@npm:^10.2.0, decimal.js@npm:^10.3.1, decimal.js@npm:^10.4.2":
version: 10.4.3
resolution: "decimal.js@npm:10.4.3"
checksum: de663a7bc4d368e3877db95fcd5c87b965569b58d16cdc4258c063d231ca7118748738df17cd638f7e9dd0be8e34cec08d7234b20f1f2a756a52fc5a38b188d0
@@ -22263,15 +21420,6 @@ __metadata:
languageName: node
linkType: hard
-"derive-valtio@npm:0.1.0":
- version: 0.1.0
- resolution: "derive-valtio@npm:0.1.0"
- peerDependencies:
- valtio: "*"
- checksum: 3fec351a46cbe2aa37099059e4fc8f518bc4c2c9e9f29cc3e55811fb9ce61f3fc49302196c620705fc5584e5a8e1be629a4269f9903899450099a487ceea8e3b
- languageName: node
- linkType: hard
-
"des.js@npm:^1.0.0":
version: 1.0.1
resolution: "des.js@npm:1.0.1"
@@ -23433,13 +22581,6 @@ __metadata:
languageName: node
linkType: hard
-"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0":
- version: 2.0.0
- resolution: "escape-string-regexp@npm:2.0.0"
- checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395
- languageName: node
- linkType: hard
-
"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5":
version: 1.0.5
resolution: "escape-string-regexp@npm:1.0.5"
@@ -23447,6 +22588,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "escape-string-regexp@npm:2.0.0"
+ checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^4.0.0":
version: 4.0.0
resolution: "escape-string-regexp@npm:4.0.0"
@@ -23765,13 +22913,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-no-relative-import-paths@npm:^1.5.2":
- version: 1.5.2
- resolution: "eslint-plugin-no-relative-import-paths@npm:1.5.2"
- checksum: 7e507070b7d082e2e418ea263c2a4c3a01acff2d39240410b6002c68c1d53647279c046c04a140fd8b451b5ba79cb9003fc2f48ae0f6e2d9f9e8cee50bc3c6e4
- languageName: node
- linkType: hard
-
"eslint-plugin-node@npm:^11.1.0":
version: 11.1.0
resolution: "eslint-plugin-node@npm:11.1.0"
@@ -23895,13 +23036,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-valtio@npm:^0.6.2":
- version: 0.6.2
- resolution: "eslint-plugin-valtio@npm:0.6.2"
- checksum: c5190d1720e180ff4bfd60de4b0f1856d09cadfe39325e98b918d77046c0c8cdba04e631e8be8179017f51c05733821998d1e2aa111ffc828e86a4d28f1d5168
- languageName: node
- linkType: hard
-
"eslint-scope@npm:5.1.1":
version: 5.1.1
resolution: "eslint-scope@npm:5.1.1"
@@ -24171,6 +23305,18 @@ __metadata:
languageName: node
linkType: hard
+"ethereum-cryptography@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "ethereum-cryptography@npm:2.1.3"
+ dependencies:
+ "@noble/curves": "npm:1.3.0"
+ "@noble/hashes": "npm:1.3.3"
+ "@scure/bip32": "npm:1.3.3"
+ "@scure/bip39": "npm:1.2.2"
+ checksum: cc5aa9a4368dc1dd7680ba921957c098ced7b3d7dbb1666334013ab2f8d4cd25a785ad84e66fd9f5c5a9b6de337930ea24ff8c722938f36a9c00cec597ca16b5
+ languageName: node
+ linkType: hard
+
"ethereumjs-util@npm:^7.1.0":
version: 7.1.5
resolution: "ethereumjs-util@npm:7.1.5"
@@ -24437,15 +23583,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-application@npm:~5.8.3":
- version: 5.8.3
- resolution: "expo-application@npm:5.8.3"
- peerDependencies:
- expo: "*"
- checksum: 5b7d8f3df4cf658a89e62fe25ce00b91c3217bc59115d3a43fd3c4bff38f3c5593568913f59027244196dedeb5766fce98dc58f12bdd30c12581b1b52e51d718
- languageName: node
- linkType: hard
-
"expo-asset@npm:~9.0.2":
version: 9.0.2
resolution: "expo-asset@npm:9.0.2"
@@ -24460,37 +23597,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-barcode-scanner@npm:~12.9.2":
- version: 12.9.2
- resolution: "expo-barcode-scanner@npm:12.9.2"
- dependencies:
- expo-image-loader: "npm:~4.6.0"
- peerDependencies:
- expo: "*"
- checksum: 9388a721c064d48954f81f9c9f23166f4a62a7aa000cca58edfe362fdfc4f64df8b279769a5be724b8dea679dc5dfa9da1bd08c8ac0eba1ebf98208036b523a8
- languageName: node
- linkType: hard
-
-"expo-camera@npm:~14.0.4":
- version: 14.0.4
- resolution: "expo-camera@npm:14.0.4"
- dependencies:
- invariant: "npm:^2.2.4"
- peerDependencies:
- expo: "*"
- checksum: e69539320b8ca12e8ed2a35dab44a8923cf9901b37a5b9c040a052bc859eb4ed319b250a06711ddbbc3695bac6ce010867d16c3c72fb70ccf7da80f677fbfc5c
- languageName: node
- linkType: hard
-
-"expo-clipboard@npm:~5.0.1":
- version: 5.0.1
- resolution: "expo-clipboard@npm:5.0.1"
- peerDependencies:
- expo: "*"
- checksum: d3ac75dddcc4c453ae6268ccc63814b333fb81ea4b565c0a02baae1b422dc9c1da581412aa166cf6e1fe82e1660cd0d698f7a11209b5daf013df61a4d60652cc
- languageName: node
- linkType: hard
-
"expo-constants@npm:~15.4.0, expo-constants@npm:~15.4.3":
version: 15.4.4
resolution: "expo-constants@npm:15.4.4"
@@ -24502,86 +23608,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-constants@npm:~15.4.5":
- version: 15.4.5
- resolution: "expo-constants@npm:15.4.5"
- dependencies:
- "@expo/config": "npm:~8.5.0"
- peerDependencies:
- expo: "*"
- checksum: 9eb256895aa24efd41ca8c48b7dd76c03ecad4662e86c32440ea7d4162397014c80775b73db499add5e9452721f236c6ba333af93d8a277ad964f1fd938305f1
- languageName: node
- linkType: hard
-
-"expo-crypto@npm:~12.8.0":
- version: 12.8.0
- resolution: "expo-crypto@npm:12.8.0"
- dependencies:
- base64-js: "npm:^1.3.0"
- peerDependencies:
- expo: "*"
- checksum: a9c77d0dbd82f8e791a1a5216fcc4775d0b88b1bf1a49fc5c8448c3350029c5c5b1b7f62e6c9ce6b3fb54b72b88f70bc5243d18ec32e28e6fe264d2cb7e52d50
- languageName: node
- linkType: hard
-
-"expo-dev-client@npm:~3.3.8":
- version: 3.3.8
- resolution: "expo-dev-client@npm:3.3.8"
- dependencies:
- expo-dev-launcher: "npm:3.6.6"
- expo-dev-menu: "npm:4.5.5"
- expo-dev-menu-interface: "npm:1.7.2"
- expo-manifests: "npm:~0.13.0"
- expo-updates-interface: "npm:~0.15.1"
- peerDependencies:
- expo: "*"
- checksum: 8f37117ceb767b51d442b6895f0ed8a76a719a5b4084e1f081d6711e2a02b0414405514e360ca4696e4916cc1fd9d019b7559200fc35a811a05526db356e60fb
- languageName: node
- linkType: hard
-
-"expo-dev-launcher@npm:3.6.6":
- version: 3.6.6
- resolution: "expo-dev-launcher@npm:3.6.6"
- dependencies:
- ajv: "npm:8.11.0"
- expo-dev-menu: "npm:4.5.5"
- expo-manifests: "npm:~0.13.0"
- resolve-from: "npm:^5.0.0"
- semver: "npm:^7.5.3"
- peerDependencies:
- expo: "*"
- checksum: 143cad2bda5d8f82f1f7388ac98f9123d3ad4aea6c0a76d2ca5bb2b5beb48c433b782c732eb695d465f43bb339c3c2c1c09f42cb2ce9d6f1f0110f8aadec6515
- languageName: node
- linkType: hard
-
-"expo-dev-menu-interface@npm:1.7.2":
- version: 1.7.2
- resolution: "expo-dev-menu-interface@npm:1.7.2"
- peerDependencies:
- expo: "*"
- checksum: 28df663590af53ec35014e934f61b61113f9acfdefa11dfded9be98a6f3875e32cd25750a6e1e1cccccef3ec6cc3faf08a2bf61ef02c6950e50327d1e01b84b3
- languageName: node
- linkType: hard
-
-"expo-dev-menu@npm:4.5.5":
- version: 4.5.5
- resolution: "expo-dev-menu@npm:4.5.5"
- dependencies:
- expo-dev-menu-interface: "npm:1.7.2"
- semver: "npm:^7.5.3"
- peerDependencies:
- expo: "*"
- checksum: 7389c9a8d00edee6d2490ff4f72117a9dddd22dffa8bc10a2f532e6c0008f82d911d5a8bb0bff20531e0383795f601197233db31c1798e6e00524548af4899f0
- languageName: node
- linkType: hard
-
-"expo-eas-client@npm:~0.11.0":
- version: 0.11.1
- resolution: "expo-eas-client@npm:0.11.1"
- checksum: b36fd4d7366874f3795f7e4caa408c6832f6c992da5b5b78b72a26d9f59e7b98fc6e021ff7c7e496ec847dfed142fc20bd81fce5209644ae62f9ec7fd06520df
- languageName: node
- linkType: hard
-
"expo-file-system@npm:~16.0.0":
version: 16.0.3
resolution: "expo-file-system@npm:16.0.3"
@@ -24611,24 +23637,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-haptics@npm:~12.8.1":
- version: 12.8.1
- resolution: "expo-haptics@npm:12.8.1"
- peerDependencies:
- expo: "*"
- checksum: 62caee68d368c95ec91d0477c14ff538d66bb0c4707521153fc0ff396b72289fda158cd3858edb710f8a65ed9633709f9909af202506007da299813241bdff0b
- languageName: node
- linkType: hard
-
-"expo-image-loader@npm:~4.6.0":
- version: 4.6.0
- resolution: "expo-image-loader@npm:4.6.0"
- peerDependencies:
- expo: "*"
- checksum: 02981667f03dc429cd9db37e0acc302e4a0c4bb5875dc087b1c26388ef64563481e52dddc1d42dd32794eb7051d1acf5bc0c078413469c29025a02d4d4af1154
- languageName: node
- linkType: hard
-
"expo-image@npm:~1.10.6":
version: 1.10.6
resolution: "expo-image@npm:1.10.6"
@@ -24640,13 +23648,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-json-utils@npm:~0.12.0":
- version: 0.12.2
- resolution: "expo-json-utils@npm:0.12.2"
- checksum: 61f3cd5cdbf57b7d19e8e5838dbf27a2eb42367dca011a308c06b025c37c697007c4813f444ea3f9627758114b03390ec367eb632a4f1d6ff182b0c7fc345be0
- languageName: node
- linkType: hard
-
"expo-keep-awake@npm:~12.8.2":
version: 12.8.2
resolution: "expo-keep-awake@npm:12.8.2"
@@ -24666,49 +23667,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-local-authentication@npm:~13.8.0":
- version: 13.8.0
- resolution: "expo-local-authentication@npm:13.8.0"
- dependencies:
- invariant: "npm:^2.2.4"
- peerDependencies:
- expo: "*"
- checksum: 06ad68d96831058e51115fa398479faba9b4059564ecc44ee7eef739be7c5df1c632ec0138e008549dc2e7cd4a8eed9830d30ffb8ae97431e17f7ab8b2d55f87
- languageName: node
- linkType: hard
-
-"expo-localization@npm:~14.8.3":
- version: 14.8.3
- resolution: "expo-localization@npm:14.8.3"
- dependencies:
- rtl-detect: "npm:^1.0.2"
- peerDependencies:
- expo: "*"
- checksum: 8a1c2b4413fde550778b8ed469b4c292b3c66264edede70534bdb468605e3dc092de5894cd634a96a8abfeddc23517ee3e4231a8943117d5619a705c0e59ef03
- languageName: node
- linkType: hard
-
-"expo-manifests@npm:~0.13.0":
- version: 0.13.1
- resolution: "expo-manifests@npm:0.13.1"
- dependencies:
- "@expo/config": "npm:~8.5.0"
- expo-json-utils: "npm:~0.12.0"
- peerDependencies:
- expo: "*"
- checksum: bcb5feb7b3fbe714a8ea3acd470588aacb8e161238097cba69060c831f55f13c0f5dd064a81be18c5b8a7e87bd894acd0cbc159a464f0ba696cb506556b565a0
- languageName: node
- linkType: hard
-
-"expo-media-library@npm:~15.9.1":
- version: 15.9.1
- resolution: "expo-media-library@npm:15.9.1"
- peerDependencies:
- expo: "*"
- checksum: ddd21a2c380618a9dcb7c734c22f9deec70187aa5f9195011149fb72ef807dd3c32eb8ce7b4ecfa1b943f2db75a18bb831f073f90bbe247d2c1dd3233961648f
- languageName: node
- linkType: hard
-
"expo-module-scripts@npm:^3.1.0":
version: 3.4.0
resolution: "expo-module-scripts@npm:3.4.0"
@@ -24787,15 +23745,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-screen-orientation@npm:~6.4.1":
- version: 6.4.1
- resolution: "expo-screen-orientation@npm:6.4.1"
- peerDependencies:
- expo: "*"
- checksum: 6818c50bfe3da747fe42b574e028b030d31232efd35d6c5c049f5c6272464188bea04191702e661c599dc59f7fe70252129964ae8d353385121c971b8c79343f
- languageName: node
- linkType: hard
-
"expo-secure-store@npm:^11.2.0":
version: 11.3.0
resolution: "expo-secure-store@npm:11.3.0"
@@ -24814,63 +23763,6 @@ __metadata:
languageName: node
linkType: hard
-"expo-splash-screen@npm:~0.26.4":
- version: 0.26.4
- resolution: "expo-splash-screen@npm:0.26.4"
- dependencies:
- "@expo/prebuild-config": "npm:6.7.4"
- peerDependencies:
- expo: "*"
- checksum: 1ec3f5440da735542a73ef3355e71b56089d817141cda88cd01dc31bac1a286ee784d367e6e436269260f4537a3c761e5182af8eb8c5b1db1b8d8f35cd1377d9
- languageName: node
- linkType: hard
-
-"expo-status-bar@npm:~1.11.1":
- version: 1.11.1
- resolution: "expo-status-bar@npm:1.11.1"
- checksum: f2c9d51fd5211520d0a53df69310f1b0a1b40c935ded24a267ff23becaf0dfb19517440ab3b1ff8c4adda651e99dafef681c055a1efe397df68056667dde2512
- languageName: node
- linkType: hard
-
-"expo-structured-headers@npm:~3.7.0":
- version: 3.7.1
- resolution: "expo-structured-headers@npm:3.7.1"
- checksum: a57911c5b9f40024d41a18d63f660c8a49363456dba7db6701cf810324d6b16ce8264f235bdcef8b14596353a6f8c85af3edf68b7c9c297f16637b02f3757b3e
- languageName: node
- linkType: hard
-
-"expo-updates-interface@npm:~0.15.1":
- version: 0.15.2
- resolution: "expo-updates-interface@npm:0.15.2"
- peerDependencies:
- expo: "*"
- checksum: e65942b59c284cc7b93942769ab3f0b467d9cf87c0fb7d4ba84e27650928d470e78f88e16aa3c928e6b1d09fdb39ae3f5a28db12e279340f4b04da7ab9489b1d
- languageName: node
- linkType: hard
-
-"expo-updates@npm:~0.24.10":
- version: 0.24.10
- resolution: "expo-updates@npm:0.24.10"
- dependencies:
- "@expo/code-signing-certificates": "npm:0.0.5"
- "@expo/config": "npm:~8.5.0"
- "@expo/config-plugins": "npm:~7.8.0"
- arg: "npm:4.1.0"
- chalk: "npm:^4.1.2"
- expo-eas-client: "npm:~0.11.0"
- expo-manifests: "npm:~0.13.0"
- expo-structured-headers: "npm:~3.7.0"
- expo-updates-interface: "npm:~0.15.1"
- fbemitter: "npm:^3.0.0"
- resolve-from: "npm:^5.0.0"
- peerDependencies:
- expo: "*"
- bin:
- expo-updates: bin/cli.js
- checksum: 510fe79fc830c8c3de7a7d280a65ace50575b5558dfb17c61f2ff3858d86936a0ef5f642f7fb67103c3228c2179de4b836b0e862b4838fd0256c19e5059e3389
- languageName: node
- linkType: hard
-
"expo@npm:~50.0.6":
version: 50.0.6
resolution: "expo@npm:50.0.6"
@@ -25144,13 +24036,6 @@ __metadata:
languageName: node
linkType: hard
-"fastestsmallesttextencoderdecoder@npm:^1.0.22":
- version: 1.0.22
- resolution: "fastestsmallesttextencoderdecoder@npm:1.0.22"
- checksum: 774f759fcb01196e9a66db7cd21f39741e2ad33317b69b27dc1a32ff13a3ca4780fdb6d71f32a1fc2085064cb4ba06556843328bbacc61f8399d78880f4c0e67
- languageName: node
- linkType: hard
-
"fastq@npm:^1.6.0":
version: 1.15.0
resolution: "fastq@npm:1.15.0"
@@ -25368,16 +24253,6 @@ __metadata:
languageName: node
linkType: hard
-"find-babel-config@npm:^2.0.0":
- version: 2.0.0
- resolution: "find-babel-config@npm:2.0.0"
- dependencies:
- json5: "npm:^2.1.1"
- path-exists: "npm:^4.0.0"
- checksum: 06e50e920a2b35ff1c90fe33382e48aae70db4bdb6bbb58a4fdb5e687b50074e8b791a8ef2d9bb4b582c8d624d34b0cc763613c7cb585eeb352cd4521976f35a
- languageName: node
- linkType: hard
-
"find-cache-dir@npm:^2.0.0":
version: 2.1.0
resolution: "find-cache-dir@npm:2.1.0"
@@ -25531,13 +24406,6 @@ __metadata:
languageName: node
linkType: hard
-"flatted@npm:^3.2.9":
- version: 3.2.9
- resolution: "flatted@npm:3.2.9"
- checksum: dc2b89e46a2ebde487199de5a4fcb79e8c46f984043fea5c41dbf4661eb881fefac1c939b5bdcd8a09d7f960ec364f516970c7ec44e58ff451239c07fd3d419b
- languageName: node
- linkType: hard
-
"flow-enums-runtime@npm:^0.0.6":
version: 0.0.6
resolution: "flow-enums-runtime@npm:0.0.6"
@@ -26215,7 +25083,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^8.0.1, glob@npm:^8.0.3":
+"glob@npm:^8.0.1":
version: 8.1.0
resolution: "glob@npm:8.1.0"
dependencies:
@@ -26466,31 +25334,6 @@ __metadata:
languageName: node
linkType: hard
-"graphql-config@npm:^5.0.2":
- version: 5.0.2
- resolution: "graphql-config@npm:5.0.2"
- dependencies:
- "@graphql-tools/graphql-file-loader": "npm:^8.0.0"
- "@graphql-tools/json-file-loader": "npm:^8.0.0"
- "@graphql-tools/load": "npm:^8.0.0"
- "@graphql-tools/merge": "npm:^9.0.0"
- "@graphql-tools/url-loader": "npm:^8.0.0"
- "@graphql-tools/utils": "npm:^10.0.0"
- cosmiconfig: "npm:^8.1.0"
- jiti: "npm:^1.18.2"
- minimatch: "npm:^4.2.3"
- string-env-interpolation: "npm:^1.0.1"
- tslib: "npm:^2.4.0"
- peerDependencies:
- cosmiconfig-toml-loader: ^1.0.0
- graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- peerDependenciesMeta:
- cosmiconfig-toml-loader:
- optional: true
- checksum: 668f177e8c36e482b246ec84e10e0e9d7f29e51b519828d22866c724500cf2cc075a07e4d5d5f057df9eaa189550d485072d3814b15ff0b383367e0fa92f8bbf
- languageName: node
- linkType: hard
-
"graphql-request@npm:^6.0.0":
version: 6.0.0
resolution: "graphql-request@npm:6.0.0"
@@ -26523,15 +25366,6 @@ __metadata:
languageName: node
linkType: hard
-"graphql-ws@npm:5.13.1":
- version: 5.13.1
- resolution: "graphql-ws@npm:5.13.1"
- peerDependencies:
- graphql: ">=0.11 <=16"
- checksum: 5d804aa9c4e724e117f00ffc783c3c9701b55bdfd76489d69c2e5064a351cfa7117f85b24ffea1b7b0b96ad584f950b87588902d0db2ef532f229f106b142f24
- languageName: node
- linkType: hard
-
"graphql@npm:15.8.0":
version: 15.8.0
resolution: "graphql@npm:15.8.0"
@@ -26539,13 +25373,6 @@ __metadata:
languageName: node
linkType: hard
-"graphql@npm:^16.6.0":
- version: 16.6.0
- resolution: "graphql@npm:16.6.0"
- checksum: f2ce5fdd5e1d8f66b40143b791e1063efe50b17071e0b06b30b8cd597a7fc08135d606586935db7e65dbd5ebbf207cd2f9b56c9c5cf4ad818f080d98f47282a4
- languageName: node
- linkType: hard
-
"graphql@npm:^16.8.1":
version: 16.8.1
resolution: "graphql@npm:16.8.1"
@@ -27114,16 +25941,6 @@ __metadata:
languageName: node
linkType: hard
-"http-proxy-agent@npm:^7.0.0":
- version: 7.0.0
- resolution: "http-proxy-agent@npm:7.0.0"
- dependencies:
- agent-base: "npm:^7.1.0"
- debug: "npm:^4.3.4"
- checksum: dbaaf3d9f3fc4df4a5d7ec45d456ec50f575240b557160fa63427b447d1f812dd7fe4a4f17d2e1ba003d231f07edf5a856ea6d91cb32d533062ff20a7803ccac
- languageName: node
- linkType: hard
-
"http-proxy-middleware@npm:^2.0.3":
version: 2.0.6
resolution: "http-proxy-middleware@npm:2.0.6"
@@ -27180,16 +25997,6 @@ __metadata:
languageName: node
linkType: hard
-"https-proxy-agent@npm:^7.0.0":
- version: 7.0.0
- resolution: "https-proxy-agent@npm:7.0.0"
- dependencies:
- agent-base: "npm:^7.0.2"
- debug: "npm:4"
- checksum: 82faa9c9fc6093cdec13a248a4b5a607ea5cc9e0f9a2416d206dc1563dbd6816fb59ca06b5a882a2cb908d97e2f127db2ecbbded1eb261422f6b146ccc563f58
- languageName: node
- linkType: hard
-
"human-signals@npm:^2.1.0":
version: 2.1.0
resolution: "human-signals@npm:2.1.0"
@@ -27451,6 +26258,13 @@ __metadata:
languageName: node
linkType: hard
+"int64-buffer@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "int64-buffer@npm:1.0.1"
+ checksum: 63e358d0c12a7c80bb478519e80af016d2d67a9e9397456bec0ef9c7239a3e15e3c206c6501ed899527c4ea8c058d9773afc35646b7e40688f956842062610f8
+ languageName: node
+ linkType: hard
+
"internal-ip@npm:4.3.0":
version: 4.3.0
resolution: "internal-ip@npm:4.3.0"
@@ -27503,7 +26317,7 @@ __metadata:
languageName: node
linkType: hard
-"invariant@npm:2, invariant@npm:2.2.4, invariant@npm:^2.2.2, invariant@npm:^2.2.4":
+"invariant@npm:2, invariant@npm:^2.2.2, invariant@npm:^2.2.4":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
dependencies:
@@ -27512,6 +26326,16 @@ __metadata:
languageName: node
linkType: hard
+"ip-address@npm:^9.0.5":
+ version: 9.0.5
+ resolution: "ip-address@npm:9.0.5"
+ dependencies:
+ jsbn: "npm:1.1.0"
+ sprintf-js: "npm:^1.1.3"
+ checksum: 1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c
+ languageName: node
+ linkType: hard
+
"ip-regex@npm:^2.1.0":
version: 2.1.0
resolution: "ip-regex@npm:2.1.0"
@@ -29707,7 +28531,7 @@ __metadata:
languageName: node
linkType: hard
-"jiti@npm:^1.17.1, jiti@npm:^1.18.2":
+"jiti@npm:^1.17.1":
version: 1.18.2
resolution: "jiti@npm:1.18.2"
bin:
@@ -29808,6 +28632,13 @@ __metadata:
languageName: node
linkType: hard
+"jsbn@npm:1.1.0":
+ version: 1.1.0
+ resolution: "jsbn@npm:1.1.0"
+ checksum: bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef
+ languageName: node
+ linkType: hard
+
"jsc-android@npm:^250231.0.0":
version: 250231.0.0
resolution: "jsc-android@npm:250231.0.0"
@@ -30050,6 +28881,18 @@ __metadata:
languageName: node
linkType: hard
+"json-stable-stringify@npm:^1.0.2":
+ version: 1.1.1
+ resolution: "json-stable-stringify@npm:1.1.1"
+ dependencies:
+ call-bind: "npm:^1.0.5"
+ isarray: "npm:^2.0.5"
+ jsonify: "npm:^0.0.1"
+ object-keys: "npm:^1.1.1"
+ checksum: 60853c1f63451319b5c7953465a555aa816cf84e60e3ca36b6c05225d8fdc4615127fb4ecb92f9f5ad880c552ab8cbae9a519f78b995e7788d6d89e57afafdeb
+ languageName: node
+ linkType: hard
+
"json-stringify-safe@npm:5, json-stringify-safe@npm:^5.0.1":
version: 5.0.1
resolution: "json-stringify-safe@npm:5.0.1"
@@ -30078,7 +28921,7 @@ __metadata:
languageName: node
linkType: hard
-"json5@npm:^2.1.1, json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3":
+"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3":
version: 2.2.3
resolution: "json5@npm:2.2.3"
bin:
@@ -30126,6 +28969,13 @@ __metadata:
languageName: node
linkType: hard
+"jsonschema@npm:1.2.2":
+ version: 1.2.2
+ resolution: "jsonschema@npm:1.2.2"
+ checksum: aa778e23f1ff879345dabee968c2d7b36d39fe60bb0aa0d251e60d18aed7038499fb203be6c06f4185b0a301b5b187295a46a0a139f19be17b50b6c04b48193d
+ languageName: node
+ linkType: hard
+
"jss-plugin-camel-case@npm:^10.10.0":
version: 10.10.0
resolution: "jss-plugin-camel-case@npm:10.10.0"
@@ -30578,15 +29428,6 @@ __metadata:
languageName: node
linkType: hard
-"lie@npm:3.1.1":
- version: 3.1.1
- resolution: "lie@npm:3.1.1"
- dependencies:
- immediate: "npm:~3.0.5"
- checksum: c2c7d9dcc3a9aae641f41cde4e2e2cd571e4426b1f5915862781d77776672dcbca43461e16f4d382c9a300825c15e1a4923f1def3a5568d97577e077a3cecb44
- languageName: node
- linkType: hard
-
"lie@npm:~3.3.0":
version: 3.3.0
resolution: "lie@npm:3.3.0"
@@ -30929,15 +29770,6 @@ __metadata:
languageName: node
linkType: hard
-"localforage@npm:^1.8.1":
- version: 1.10.0
- resolution: "localforage@npm:1.10.0"
- dependencies:
- lie: "npm:3.1.1"
- checksum: d5c44be3a09169b013a3ebe252e678aaeb6938ffe72e9e12c199fd4307c1ec9d1a057ac2dfdfbb1379dfeec467a34ad0fc3ecd27489a2c43a154fb72b2822542
- languageName: node
- linkType: hard
-
"locate-path@npm:^3.0.0":
version: 3.0.0
resolution: "locate-path@npm:3.0.0"
@@ -31001,7 +29833,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash.debounce@npm:4.0.8, lodash.debounce@npm:^4.0.8":
+"lodash.debounce@npm:^4.0.8":
version: 4.0.8
resolution: "lodash.debounce@npm:4.0.8"
checksum: cd0b2819786e6e80cb9f5cda26b1a8fc073daaf04e48d4cb462fa4663ec9adb3a5387aa22d7129e48eed1afa05b482e2a6b79bfc99b86886364449500cbb00fd
@@ -31154,6 +29986,20 @@ __metadata:
languageName: node
linkType: hard
+"long@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "long@npm:4.0.0"
+ checksum: 8296e2ba7bab30f9cfabb81ebccff89c819af6a7a78b4bb5a70ea411aa764ee0532f7441381549dfa6a1a98d72abe9138bfcf99f4fa41238629849bc035b845b
+ languageName: node
+ linkType: hard
+
+"long@npm:^5.0.0":
+ version: 5.2.3
+ resolution: "long@npm:5.2.3"
+ checksum: 9167ec6947a825b827c30da169a7384eec6c0c9ec2f0b9c74da2e93d81159bbe39fb09c3f13dae9721d4b807ccfa09797a7dd1012f5d478e3e33ca3c78b608e6
+ languageName: node
+ linkType: hard
+
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0":
version: 1.4.0
resolution: "loose-envify@npm:1.4.0"
@@ -32093,7 +30939,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:4.2.3, minimatch@npm:^4.2.3":
+"minimatch@npm:4.2.3":
version: 4.2.3
resolution: "minimatch@npm:4.2.3"
dependencies:
@@ -32120,7 +30966,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^7.4.3, minimatch@npm:^7.4.6":
+"minimatch@npm:^7.4.6":
version: 7.4.6
resolution: "minimatch@npm:7.4.6"
dependencies:
@@ -32260,15 +31106,6 @@ __metadata:
languageName: node
linkType: hard
-"mkdirp@npm:^2.1.6":
- version: 2.1.6
- resolution: "mkdirp@npm:2.1.6"
- bin:
- mkdirp: dist/cjs/src/bin.js
- checksum: 4672fadb94dca8d2eafeb6fff53f2c5ea74e885565ef23251791709064f216105167c2387088c61ef068901bd0776648999785e341d74728164fa551b1c65996
- languageName: node
- linkType: hard
-
"mnemonics@workspace:examples/xnft/mnemonics":
version: 0.0.0-use.local
resolution: "mnemonics@workspace:examples/xnft/mnemonics"
@@ -32726,7 +31563,7 @@ __metadata:
languageName: node
linkType: hard
-"node-addon-api@npm:^3.2.1":
+"node-addon-api@npm:^3.0.0, node-addon-api@npm:^3.2.1":
version: 3.2.1
resolution: "node-addon-api@npm:3.2.1"
dependencies:
@@ -32762,6 +31599,15 @@ __metadata:
languageName: node
linkType: hard
+"node-addon-api@npm:^7.0.0":
+ version: 7.1.0
+ resolution: "node-addon-api@npm:7.1.0"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: e20487e98c76660f4957e81e85c45dfb667140d9be0bf872a3b3dfd86b4ea19c0275939116c90efebc0da7fc6af2c7b7b060512ceebe6417b1ed145a26910453
+ languageName: node
+ linkType: hard
+
"node-dir@npm:^0.1.17":
version: 0.1.17
resolution: "node-dir@npm:0.1.17"
@@ -32806,6 +31652,20 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch@npm:^2.6.12":
+ version: 2.7.0
+ resolution: "node-fetch@npm:2.7.0"
+ dependencies:
+ whatwg-url: "npm:^5.0.0"
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ checksum: b24f8a3dc937f388192e59bcf9d0857d7b6940a2496f328381641cb616efccc9866e89ec43f2ec956bbd6c3d3ee05524ce77fe7b29ccd34692b3a16f237d6676
+ languageName: node
+ linkType: hard
+
"node-forge@npm:^1, node-forge@npm:^1.2.1, node-forge@npm:^1.3.1":
version: 1.3.1
resolution: "node-forge@npm:1.3.1"
@@ -32870,6 +31730,17 @@ __metadata:
languageName: node
linkType: hard
+"node-gyp-build@npm:^4.2.2, node-gyp-build@npm:^4.5.0":
+ version: 4.8.0
+ resolution: "node-gyp-build@npm:4.8.0"
+ bin:
+ node-gyp-build: bin.js
+ node-gyp-build-optional: optional.js
+ node-gyp-build-test: build-test.js
+ checksum: 80f410ab412df38e84171d3634a5716b6c6f14ecfa4eb971424d289381fb76f8bcbe1b666419ceb2c81060e558fd7c6d70cc0f60832bcca6a1559098925d9657
+ languageName: node
+ linkType: hard
+
"node-gyp@npm:latest":
version: 9.3.1
resolution: "node-gyp@npm:9.3.1"
@@ -33542,13 +32413,6 @@ __metadata:
languageName: node
linkType: hard
-"p-debounce@npm:^4.0.0":
- version: 4.0.0
- resolution: "p-debounce@npm:4.0.0"
- checksum: 7f796f6ed264cb964b83601e70c4c0d94dd52d54e1361400ee80df7527217a59074aa14ab746d4d3089b352181c4ffb5329158fd679cb4b4b52c208574e9e56d
- languageName: node
- linkType: hard
-
"p-event@npm:^2.1.0":
version: 2.3.1
resolution: "p-event@npm:2.3.1"
@@ -34160,15 +33024,6 @@ __metadata:
languageName: node
linkType: hard
-"pkg-up@npm:^3.1.0":
- version: 3.1.0
- resolution: "pkg-up@npm:3.1.0"
- dependencies:
- find-up: "npm:^3.0.0"
- checksum: 5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8
- languageName: node
- linkType: hard
-
"please-upgrade-node@npm:^3.2.0":
version: 3.2.0
resolution: "please-upgrade-node@npm:3.2.0"
@@ -34927,7 +33782,7 @@ __metadata:
languageName: node
linkType: hard
-"progress@npm:2.0.3, progress@npm:^2.0.3":
+"progress@npm:2.0.3":
version: 2.0.3
resolution: "progress@npm:2.0.3"
checksum: e6f0bcb71f716eee9dfac0fe8a2606e3704d6a64dd93baaf49fbadbc8499989a610fe14cf1bc6f61b6d6653c49408d94f4a94e124538084efd8e4cf525e0293d
@@ -34979,7 +33834,7 @@ __metadata:
languageName: node
linkType: hard
-"prop-types@npm:15.8.1, prop-types@npm:^15.5.10, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
+"prop-types@npm:^15.5.10, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -34997,6 +33852,26 @@ __metadata:
languageName: node
linkType: hard
+"protobufjs@npm:7.2.5":
+ version: 7.2.5
+ resolution: "protobufjs@npm:7.2.5"
+ dependencies:
+ "@protobufjs/aspromise": "npm:^1.1.2"
+ "@protobufjs/base64": "npm:^1.1.2"
+ "@protobufjs/codegen": "npm:^2.0.4"
+ "@protobufjs/eventemitter": "npm:^1.1.0"
+ "@protobufjs/fetch": "npm:^1.1.0"
+ "@protobufjs/float": "npm:^1.0.2"
+ "@protobufjs/inquire": "npm:^1.1.0"
+ "@protobufjs/path": "npm:^1.1.2"
+ "@protobufjs/pool": "npm:^1.1.0"
+ "@protobufjs/utf8": "npm:^1.1.0"
+ "@types/node": "npm:>=13.7.0"
+ long: "npm:^5.0.0"
+ checksum: 6c5aa62b61dff843f585f3acd9cb7a82d566de2dbf167a300b39afee91b04298c4b4aec61354b7c00308b40596f5f3f4b07d6246cfb4ee0abeaea25101033315
+ languageName: node
+ linkType: hard
+
"proxy-addr@npm:~2.0.7":
version: 2.0.7
resolution: "proxy-addr@npm:2.0.7"
@@ -35007,13 +33882,6 @@ __metadata:
languageName: node
linkType: hard
-"proxy-compare@npm:2.5.1":
- version: 2.5.1
- resolution: "proxy-compare@npm:2.5.1"
- checksum: 64b6277d08d89f0b2c468a84decf43f82a4e88da7075651e6adebc69d1b87fadc17cfeb43c024c00b65faa3f0908f7ac1e61f5f6849a404a547a742e6aa527a6
- languageName: node
- linkType: hard
-
"proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
@@ -35098,6 +33966,15 @@ __metadata:
languageName: node
linkType: hard
+"pushdata-bitcoin@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "pushdata-bitcoin@npm:1.0.1"
+ dependencies:
+ bitcoin-ops: "npm:^1.3.0"
+ checksum: 963fb0b61258e7654d6e3e34e68c8672bc3fdbd154da0a9af0482d2b7b9e9227b11bc17a39f42003f92e996cb552395e903d369347c840381a356964cf553967
+ languageName: node
+ linkType: hard
+
"pvtsutils@npm:^1.3.2":
version: 1.3.2
resolution: "pvtsutils@npm:1.3.2"
@@ -35114,13 +33991,6 @@ __metadata:
languageName: node
linkType: hard
-"qr.js@npm:0.0.0":
- version: 0.0.0
- resolution: "qr.js@npm:0.0.0"
- checksum: a05943d13cbc478e48935de8669b72312fe02de05057c35ebfab59a574c084530a9afb9ee651d53c8c870a54f9ec93ea7b63231de202740ce16a71c797e37ce9
- languageName: node
- linkType: hard
-
"qrcode-terminal@npm:0.11.0":
version: 0.11.0
resolution: "qrcode-terminal@npm:0.11.0"
@@ -35419,7 +34289,7 @@ __metadata:
languageName: node
linkType: hard
-"react-error-boundary@npm:^4.0.4, react-error-boundary@npm:^4.0.9":
+"react-error-boundary@npm:^4.0.9":
version: 4.0.9
resolution: "react-error-boundary@npm:4.0.9"
dependencies:
@@ -35446,15 +34316,6 @@ __metadata:
languageName: node
linkType: hard
-"react-hook-form@npm:^7.40.0":
- version: 7.45.1
- resolution: "react-hook-form@npm:7.45.1"
- peerDependencies:
- react: ^16.8.0 || ^17 || ^18
- checksum: 09efe9876deb072b0ecc716f792e6e0f4a5198150b0fbcacc03bf122ade180bb7f5cec715b4d4eff8d4b44955a8a7b8fb737b7006d90922ca18ff0a094c7a558
- languageName: node
- linkType: hard
-
"react-i18next@npm:^13.0.2":
version: 13.0.2
resolution: "react-i18next@npm:13.0.2"
@@ -35508,28 +34369,6 @@ __metadata:
languageName: node
linkType: hard
-"react-native-ble-plx@npm:^3.1.2":
- version: 3.1.2
- resolution: "react-native-ble-plx@npm:3.1.2"
- dependencies:
- "@expo/config-plugins": "npm:^7.2.5"
- peerDependencies:
- react: "*"
- react-native: "*"
- checksum: 75e3960fcc8c236d0e39fe07a5abd10f617ae8e1cd4114e2179d0e33876aad0932ce229a39e768914f859b5029445b4e44e21e03d5f031cb680f9eee060e9f43
- languageName: node
- linkType: hard
-
-"react-native-date-picker@npm:^4.3.3":
- version: 4.3.3
- resolution: "react-native-date-picker@npm:4.3.3"
- peerDependencies:
- react: ">= 17.0.1"
- react-native: ">= 0.64.3"
- checksum: 10fa62ab702a72e252c2b8d9b3f6b6ab4738cffabfb6ea679993a384b49ccdae0320b6dc87421ecacd641fd8c67bacfabf51617916f3168612bdcf6054f811c1
- languageName: node
- linkType: hard
-
"react-native-gesture-handler@npm:~2.14.0":
version: 2.14.1
resolution: "react-native-gesture-handler@npm:2.14.1"
@@ -35546,37 +34385,6 @@ __metadata:
languageName: node
linkType: hard
-"react-native-pager-view@npm:6.2.3":
- version: 6.2.3
- resolution: "react-native-pager-view@npm:6.2.3"
- peerDependencies:
- react: "*"
- react-native: "*"
- checksum: 9c08c9ffc27f3b6069f23d24ba5c1073a55fb67db4a45bcf490e544a37f26a9cfe7ad72259543f71f3f78a1fb26c78f711c076d905389d599c69c43fe29b7a67
- languageName: node
- linkType: hard
-
-"react-native-reanimated@npm:~3.6.2":
- version: 3.6.2
- resolution: "react-native-reanimated@npm:3.6.2"
- dependencies:
- "@babel/plugin-transform-object-assign": "npm:^7.16.7"
- "@babel/preset-typescript": "npm:^7.16.7"
- convert-source-map: "npm:^2.0.0"
- invariant: "npm:^2.2.4"
- peerDependencies:
- "@babel/core": ^7.0.0-0
- "@babel/plugin-proposal-nullish-coalescing-operator": ^7.0.0-0
- "@babel/plugin-proposal-optional-chaining": ^7.0.0-0
- "@babel/plugin-transform-arrow-functions": ^7.0.0-0
- "@babel/plugin-transform-shorthand-properties": ^7.0.0-0
- "@babel/plugin-transform-template-literals": ^7.0.0-0
- react: "*"
- react-native: "*"
- checksum: 06c44d4dde054e48e1d030369e93e7590b8c56b6bc80f90e03f2deb9766dad8b96bf60b2c1406abf5bb424a78bc3a89d6274d5aba7d2ff89781357a23381a0a6
- languageName: node
- linkType: hard
-
"react-native-safe-area-context@npm:4.8.2":
version: 4.8.2
resolution: "react-native-safe-area-context@npm:4.8.2"
@@ -35626,17 +34434,6 @@ __metadata:
languageName: node
linkType: hard
-"react-native-url-polyfill@npm:^1.3.0":
- version: 1.3.0
- resolution: "react-native-url-polyfill@npm:1.3.0"
- dependencies:
- whatwg-url-without-unicode: "npm:8.0.0-3"
- peerDependencies:
- react-native: "*"
- checksum: e2dcfc11744ab16e841c44d037062dee971cf1387cfc20dd610f175e53eb8c203a1c9d9f0df3570605371560f3e64f6f078f31409846fa1c68dfd316b168df33
- languageName: node
- linkType: hard
-
"react-native-web-internals@npm:1.76.0":
version: 1.76.0
resolution: "react-native-web-internals@npm:1.76.0"
@@ -35705,19 +34502,6 @@ __metadata:
languageName: node
linkType: hard
-"react-native-webview@npm:13.6.4":
- version: 13.6.4
- resolution: "react-native-webview@npm:13.6.4"
- dependencies:
- escape-string-regexp: "npm:2.0.0"
- invariant: "npm:2.2.4"
- peerDependencies:
- react: "*"
- react-native: "*"
- checksum: 54cdecbc12de82b5442c376864830b13f5faff25c1041e4eeded9f1afc6921a69abb56cd448a709e89dc3840bde2183a082cd6f1000fe16df0dc387dc3a298b0
- languageName: node
- linkType: hard
-
"react-native@npm:0.73.4":
version: 0.73.4
resolution: "react-native@npm:0.73.4"
@@ -35768,22 +34552,6 @@ __metadata:
languageName: node
linkType: hard
-"react-qr-code@npm:^2.0.8":
- version: 2.0.11
- resolution: "react-qr-code@npm:2.0.11"
- dependencies:
- prop-types: "npm:^15.8.1"
- qr.js: "npm:0.0.0"
- peerDependencies:
- react: ^16.x || ^17.x || ^18.x
- react-native-svg: "*"
- peerDependenciesMeta:
- react-native-svg:
- optional: true
- checksum: 680f7be35078892a29999013b24e36aae10c3529e4cdd2c1436573603864c45010445d6069969d7f76e4642c54584a3b941b8c944189273c3ac5b705156ad23b
- languageName: node
- linkType: hard
-
"react-reconciler@npm:^0.26.0":
version: 0.26.2
resolution: "react-reconciler@npm:0.26.2"
@@ -36082,20 +34850,6 @@ __metadata:
languageName: node
linkType: hard
-"recyclerlistview@npm:4.2.0":
- version: 4.2.0
- resolution: "recyclerlistview@npm:4.2.0"
- dependencies:
- lodash.debounce: "npm:4.0.8"
- prop-types: "npm:15.8.1"
- ts-object-utils: "npm:0.0.5"
- peerDependencies:
- react: ">= 15.2.1"
- react-native: ">= 0.30.0"
- checksum: 84c2fc1ee7d109e21ca30813f646a5d490a33fa789d1fb3f7f7854c191895de010109563ba1c67a35ec28340a872a039ceb6233a57053480098c48205fc147e9
- languageName: node
- linkType: hard
-
"redent@npm:^3.0.0":
version: 3.0.0
resolution: "redent@npm:3.0.0"
@@ -36414,13 +35168,6 @@ __metadata:
languageName: node
linkType: hard
-"reselect@npm:^4.1.7":
- version: 4.1.8
- resolution: "reselect@npm:4.1.8"
- checksum: 199984d9872f71cd207f4aa6e6fd2bd48d95154f7aa9b3aee3398335f39f5491059e732f28c12e9031d5d434adab2c458dc8af5afb6564d0ad37e1644445e09c
- languageName: node
- linkType: hard
-
"resolve-alpn@npm:^1.2.0":
version: 1.2.1
resolution: "resolve-alpn@npm:1.2.1"
@@ -36808,6 +35555,72 @@ __metadata:
languageName: node
linkType: hard
+"ripple-address-codec@npm:^4.1.1, ripple-address-codec@npm:^4.3.1":
+ version: 4.3.1
+ resolution: "ripple-address-codec@npm:4.3.1"
+ dependencies:
+ base-x: "npm:^3.0.9"
+ create-hash: "npm:^1.1.2"
+ checksum: 6eb258848127ccbe8dd77ae2c96174f31d64b9ec64719ca11f002b560b84a657429a9e9b6fa8d761c51d1fc660be7ca04b4fc7dbdb820a12d3d2cf4d7d306bc6
+ languageName: node
+ linkType: hard
+
+"ripple-binary-codec@npm:^1.1.3":
+ version: 1.11.0
+ resolution: "ripple-binary-codec@npm:1.11.0"
+ dependencies:
+ assert: "npm:^2.0.0"
+ big-integer: "npm:^1.6.48"
+ buffer: "npm:6.0.3"
+ create-hash: "npm:^1.2.0"
+ decimal.js: "npm:^10.2.0"
+ ripple-address-codec: "npm:^4.3.1"
+ checksum: d9efe46557da20ea3a11853bf4de47a02f938e92aaf0a64846657303a1e09ddd78e378eb19eee988c5fd992d3c7e57dc9c7c9cd59007f42058e664f42983587c
+ languageName: node
+ linkType: hard
+
+"ripple-keypairs@npm:^1.0.3":
+ version: 1.3.1
+ resolution: "ripple-keypairs@npm:1.3.1"
+ dependencies:
+ bn.js: "npm:^5.1.1"
+ brorand: "npm:^1.0.5"
+ elliptic: "npm:^6.5.4"
+ hash.js: "npm:^1.0.3"
+ ripple-address-codec: "npm:^4.3.1"
+ checksum: 9669b77dd5da9e1e864d386cba3514ecbef9774f35370c3d4f949368ff0b7045e3faa3f383aa440876c6150d3bb497d56ccbee4f806462c2dec1bafff37059e8
+ languageName: node
+ linkType: hard
+
+"ripple-lib-transactionparser@npm:0.8.2":
+ version: 0.8.2
+ resolution: "ripple-lib-transactionparser@npm:0.8.2"
+ dependencies:
+ bignumber.js: "npm:^9.0.0"
+ lodash: "npm:^4.17.15"
+ checksum: 4b0084d97ac820589fc0ec7b8cfe00d757dc0fb8394dec0dbaf5b8a5e014e169d4b9be3926f41504eb30419f74d47c8beb2b64c74538f667eaa32dd1c91f20b1
+ languageName: node
+ linkType: hard
+
+"ripple-lib@npm:^1.10.1":
+ version: 1.10.1
+ resolution: "ripple-lib@npm:1.10.1"
+ dependencies:
+ "@types/lodash": "npm:^4.14.136"
+ "@types/ws": "npm:^7.2.0"
+ bignumber.js: "npm:^9.0.0"
+ https-proxy-agent: "npm:^5.0.0"
+ jsonschema: "npm:1.2.2"
+ lodash: "npm:^4.17.4"
+ ripple-address-codec: "npm:^4.1.1"
+ ripple-binary-codec: "npm:^1.1.3"
+ ripple-keypairs: "npm:^1.0.3"
+ ripple-lib-transactionparser: "npm:0.8.2"
+ ws: "npm:^7.2.0"
+ checksum: e77ebca3eda5c508d8f404b6ede60f5c9ac4bc23dab1d002b494f51af92c8b4cec3069eab11c0cacb1e06563f7bb0865e6b69060642711a291c04c313cae5a10
+ languageName: node
+ linkType: hard
+
"rlp@npm:^2.2.4":
version: 2.2.7
resolution: "rlp@npm:2.2.7"
@@ -36845,13 +35658,6 @@ __metadata:
languageName: node
linkType: hard
-"rtl-detect@npm:^1.0.2":
- version: 1.1.2
- resolution: "rtl-detect@npm:1.1.2"
- checksum: d19089c3b5f7a6fbabfa2c4724fcdf8694f313d196d44c8eee3625ba2e46418afe65b4da38e3e92822985291efd0656d85daa4b2ef296a46a65a702d0b156876
- languageName: node
- linkType: hard
-
"run-async@npm:^2.4.0":
version: 2.4.1
resolution: "run-async@npm:2.4.1"
@@ -37717,6 +36523,17 @@ __metadata:
languageName: node
linkType: hard
+"socks-proxy-agent@npm:6.1.1":
+ version: 6.1.1
+ resolution: "socks-proxy-agent@npm:6.1.1"
+ dependencies:
+ agent-base: "npm:^6.0.2"
+ debug: "npm:^4.3.1"
+ socks: "npm:^2.6.1"
+ checksum: 53fb7d34bf3e5ed9cf4de73bf5c18b351d75c4a8757a0c0e384c2a7c86adf688e5f5e8f72eee7bc6c01ff619458f621ccf9d172bc986adb05f10fa0c9599c39e
+ languageName: node
+ linkType: hard
+
"socks-proxy-agent@npm:^7.0.0":
version: 7.0.0
resolution: "socks-proxy-agent@npm:7.0.0"
@@ -37728,6 +36545,16 @@ __metadata:
languageName: node
linkType: hard
+"socks@npm:^2.6.1":
+ version: 2.8.1
+ resolution: "socks@npm:2.8.1"
+ dependencies:
+ ip-address: "npm:^9.0.5"
+ smart-buffer: "npm:^4.2.0"
+ checksum: a3cc38e0716ab53a2db3fa00c703ca682ad54dbbc9ed4c7461624a999be6fa7cdc79fc904c411618e698d5eff55a55aa6d9329169a7db11636d0200814a2b5aa
+ languageName: node
+ linkType: hard
+
"socks@npm:^2.6.2":
version: 2.7.1
resolution: "socks@npm:2.7.1"
@@ -37961,6 +36788,13 @@ __metadata:
languageName: node
linkType: hard
+"sprintf-js@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "sprintf-js@npm:1.1.3"
+ checksum: e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb
+ languageName: node
+ linkType: hard
+
"sprintf-js@npm:~1.0.2":
version: 1.0.3
resolution: "sprintf-js@npm:1.0.3"
@@ -39202,7 +38036,7 @@ __metadata:
languageName: node
linkType: hard
-"tiny-secp256k1@npm:^1.1.3":
+"tiny-secp256k1@npm:^1.1.3, tiny-secp256k1@npm:^1.1.6":
version: 1.1.6
resolution: "tiny-secp256k1@npm:1.1.6"
dependencies:
@@ -39533,20 +38367,10 @@ __metadata:
languageName: node
linkType: hard
-"ts-morph@npm:^20.0.0":
- version: 20.0.0
- resolution: "ts-morph@npm:20.0.0"
- dependencies:
- "@ts-morph/common": "npm:~0.21.0"
- code-block-writer: "npm:^12.0.0"
- checksum: e93cf96fd347d45c1031de90f50146707959e1564d6e0bdd4abefc32004717f4f2adf5e155956c80f04fca55f6f1bce79193077c0041616ce9fe619bc15159d0
- languageName: node
- linkType: hard
-
-"ts-object-utils@npm:0.0.5":
- version: 0.0.5
- resolution: "ts-object-utils@npm:0.0.5"
- checksum: 83c48fbdaba392fb2c01cea53b267ed5538d2bb44fc6c3eecc10bcfabc1780bfa6ec8569b52bbf0140d9b521d9049d5f15884e12286918244d463d854dbc73cb
+"ts-mixer@npm:^6.0.3":
+ version: 6.0.4
+ resolution: "ts-mixer@npm:6.0.4"
+ checksum: f20571a4a4ff7b5e1a2ff659208c1ea9d4180dda932b71d289edc99e25a2948c9048e2e676b930302ac0f8e88279e0da6022823183e67de3906a3f3a8b72ea80
languageName: node
linkType: hard
@@ -39870,7 +38694,7 @@ __metadata:
languageName: node
linkType: hard
-"typeforce@npm:^1.11.5":
+"typeforce@npm:^1.11.5, typeforce@npm:^1.18.0":
version: 1.18.0
resolution: "typeforce@npm:1.18.0"
checksum: dbf98c75b1d57e56e33c1e1271d5505e67981f4e6a2e2e6e8e31160b58777fea1726160810b6c606517db16476805b7dce315926ba2d4859b9a56cab05b7a41f
@@ -39979,6 +38803,13 @@ __metadata:
languageName: node
linkType: hard
+"ua-parser-js@npm:^1.0.37":
+ version: 1.0.37
+ resolution: "ua-parser-js@npm:1.0.37"
+ checksum: 56508f2428ebac64382c4d41da14189e5013e3e2a5f5918aff4bee3ba77df1f4eaad6f81f90c24999f1cf12cc1596764684497fec07e0ff5182ce9a323a8c05b
+ languageName: node
+ linkType: hard
+
"unbox-primitive@npm:^1.0.2":
version: 1.0.2
resolution: "unbox-primitive@npm:1.0.2"
@@ -40297,10 +39128,15 @@ __metadata:
languageName: node
linkType: hard
-"urlpattern-polyfill@npm:^9.0.0":
- version: 9.0.0
- resolution: "urlpattern-polyfill@npm:9.0.0"
- checksum: 63d59e08d58189d340e3acb0fb69c11d8f06da5e38c091cdac66cac07e4ca81378ad19cd1a923d5593a899603a0e607fe3ef793ef368fefbc1b2b840b24839b8
+"usb@npm:^2.11.0":
+ version: 2.11.0
+ resolution: "usb@npm:2.11.0"
+ dependencies:
+ "@types/w3c-web-usb": "npm:^1.0.6"
+ node-addon-api: "npm:^7.0.0"
+ node-gyp: "npm:latest"
+ node-gyp-build: "npm:^4.5.0"
+ checksum: f65f513dd5ed5abcfec9e38383276dd1c97d95be09d37b16531cd86766b9fae0f058ad65bac595fdb1db5fe266c5706af1b1a545aa2247034f5e868457094614
languageName: node
linkType: hard
@@ -40507,25 +39343,6 @@ __metadata:
languageName: node
linkType: hard
-"valtio@npm:^1.12.1":
- version: 1.12.1
- resolution: "valtio@npm:1.12.1"
- dependencies:
- derive-valtio: "npm:0.1.0"
- proxy-compare: "npm:2.5.1"
- use-sync-external-store: "npm:1.2.0"
- peerDependencies:
- "@types/react": ">=16.8"
- react: ">=16.8"
- peerDependenciesMeta:
- "@types/react":
- optional: true
- react:
- optional: true
- checksum: d60c83e42670eb41d947a39bf7eb54b4027385d106304d6ef0a3f3f2190f95894b1a149092a2fda4e901bff84d14fff2deea24d87ec8996f480ad8d79b9be415
- languageName: node
- linkType: hard
-
"value-or-promise@npm:1.0.12, value-or-promise@npm:^1.0.11, value-or-promise@npm:^1.0.12":
version: 1.0.12
resolution: "value-or-promise@npm:1.0.12"
@@ -40533,6 +39350,15 @@ __metadata:
languageName: node
linkType: hard
+"varuint-bitcoin@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "varuint-bitcoin@npm:1.1.2"
+ dependencies:
+ safe-buffer: "npm:^5.1.1"
+ checksum: 1c900bf08f2408ae33a6094dc5d809bdb6673eaf6039062d88c230155873e51e29c760053611f93ccd024854d04ebd92ed95c744720e94a79ca4e1150fcce071
+ languageName: node
+ linkType: hard
+
"vary@npm:^1.1.2, vary@npm:~1.1.2":
version: 1.1.2
resolution: "vary@npm:1.1.2"
@@ -41242,6 +40068,15 @@ __metadata:
languageName: node
linkType: hard
+"wif@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "wif@npm:4.0.0"
+ dependencies:
+ bs58check: "npm:^3.0.1"
+ checksum: 5b3438202c0e4509c1963872730d8aa33dd34f0da5c65d8fde8e1cd6338bae78d1f2144099d5cb2a4a9de4679e13a09e4d3da8a22af52be98dc9abf4de0581e4
+ languageName: node
+ linkType: hard
+
"wildcard@npm:^2.0.0":
version: 2.0.0
resolution: "wildcard@npm:2.0.0"
@@ -41433,7 +40268,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:^7, ws@npm:^7.4.0, ws@npm:^7.4.5, ws@npm:^7.5.1":
+"ws@npm:^7, ws@npm:^7.2.0, ws@npm:^7.4.0, ws@npm:^7.4.5, ws@npm:^7.5.1":
version: 7.5.9
resolution: "ws@npm:7.5.9"
peerDependencies:
@@ -41448,7 +40283,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:^8.11.0":
+"ws@npm:^8.11.0, ws@npm:^8.16.0":
version: 8.16.0
resolution: "ws@npm:8.16.0"
peerDependencies: