This website would like your public encryption key. By consenting,
diff --git a/src/ui/views/Approval/components/SignTx.tsx b/src/ui/views/Approval/components/SignTx.tsx
index 163e8c786..6c707756e 100644
--- a/src/ui/views/Approval/components/SignTx.tsx
+++ b/src/ui/views/Approval/components/SignTx.tsx
@@ -93,6 +93,7 @@ interface BasicCoboArgusInfo {
networkId: string;
delegates: string[];
}
+import { genMintRabbyTxDetail } from '@/constant/mint-rabby/gen-tx-detail';
const normalizeHex = (value: string | number) => {
if (typeof value === 'number') {
@@ -160,9 +161,9 @@ export const TxTypeComponent = ({
onChange,
isSpeedUp,
engineResults,
- txDetail,
origin,
originLogo,
+ txDetail: oldTxDetail,
}: {
actionRequireData: ActionRequireData;
actionData: ParsedTransactionActionData;
@@ -177,6 +178,11 @@ export const TxTypeComponent = ({
originLogo?: string;
}) => {
if (!isReady) return
;
+
+ const txDetail = useMemo(() => genMintRabbyTxDetail(oldTxDetail), [
+ oldTxDetail,
+ ]);
+
if (actionData && actionRequireData) {
return (
p {
+ color: rgba(255, 255, 255, 0.6) !important;
+ }
+
+ .site-info__icon {
+ .fallback-site-logo .img-wrapper {
+ width: 36px;
+ height: 36px;
+
+ > img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+
+ .connect-footer {
+ background-color: #3e4351;
+ border-top-color: rgba(255, 255, 255, 0.1);
+ }
+}
+
+html.page-notification.__rabbyx-shell-page {
+ @account-card-h: 58px;
+ background: #fff;
+
+ &.__rabbyx-center-sign-window {
+ background-color: transparent;
+
+ body {
+ background-color: transparent;
+ max-width: 100vw !important;
+ }
+
+ #root {
+ background: #fff;
+ width: 100vw !important;
+ }
+ }
+
+ &.os-win32 body {
+ max-width: 399px;
+ overflow-x: hidden;
+ }
+
+ &.os-darwin {
+ border-bottom-left-radius: 12px;
+ border-bottom-right-radius: 12px;
+ }
+
+ body {
+ background-color: transparent;
+ }
+
+ body #root {
+ width: 400px !important;
+ }
+
+ .account-card {
+ background: none;
+ background-color: #8697FF;
+ height: @account-card-h;
+ padding: 0 20px;
+ display: flex;
+ align-items: center;
+ .account-detail {
+ background-color: #8697ff;
+ padding: 0;
+ }
+ }
+}
+
.account-card {
background: @primary-linear;
width: 100%;
@@ -1973,6 +2113,14 @@
}
}
}
+
+.page-LedgerHardwareWaiting {
+ background-color: white !important;
+
+ .ledger-waiting {
+ background-color: white !important;
+ }
+}
.ledger-waiting {
&__nav {
width: 100%;
@@ -2448,3 +2596,15 @@
display: none;
}
}
+.action-buttons {
+ .ant-btn-background-ghost:hover,
+ .ant-btn-background-ghost:focus {
+ background-color: rgba(134, 151, 255, 0.1) !important;
+ color: @primary-color;
+ border-color: @primary-color;
+
+ &::before {
+ background-color: transparent;
+ }
+ }
+}
diff --git a/src/ui/views/CommonPopup/Ledger.tsx b/src/ui/views/CommonPopup/Ledger.tsx
index ce30fa736..4f9db9474 100644
--- a/src/ui/views/CommonPopup/Ledger.tsx
+++ b/src/ui/views/CommonPopup/Ledger.tsx
@@ -52,14 +52,14 @@ export const Ledger: React.FC<{
src="/images/ledger-plug.png"
className="w-[240px] bg-r-neutral-card1 rounded-[4px] mt-[20px] mx-auto py-20 px-40"
/>
-
+ {/*
If it doesn't work, try
reconnecting from the beginning.
-
+
*/}
);
};
diff --git a/src/ui/views/Dashboard/components/AddressRow.tsx b/src/ui/views/Dashboard/components/AddressRow.tsx
index b87c28313..6e82b356a 100644
--- a/src/ui/views/Dashboard/components/AddressRow.tsx
+++ b/src/ui/views/Dashboard/components/AddressRow.tsx
@@ -12,10 +12,10 @@ import { ReactComponent as RcIconPinnedFill } from 'ui/assets/icon-pinned-fill.s
import { splitNumberByStep, useWallet } from 'ui/utils';
import { message } from 'antd';
import {
- KEYRING_ICONS,
KEYRING_WITH_INDEX,
WALLET_BRAND_CONTENT,
} from '@/constant';
+import { KEYRING_ICONS } from 'ui/assets-const';
import { AddressViewer } from '@/ui/component';
import { connectStore, useRabbyDispatch, useRabbySelector } from '@/ui/store';
import useIsMountedRef from '@/ui/hooks/useMountedRef';
diff --git a/src/ui/views/Dashboard/components/CurrentConnection/index.tsx b/src/ui/views/Dashboard/components/CurrentConnection/index.tsx
index 59a4cc84b..e5cbfeeb1 100644
--- a/src/ui/views/Dashboard/components/CurrentConnection/index.tsx
+++ b/src/ui/views/Dashboard/components/CurrentConnection/index.tsx
@@ -1,8 +1,9 @@
import { message, Tooltip } from 'antd';
+import browser, { Tabs } from 'webextension-polyfill';
import { ConnectedSite } from 'background/service/permission';
import clsx from 'clsx';
import { CHAINS_ENUM } from 'consts';
-import React, { memo, useCallback, useEffect, useState } from 'react';
+import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
import { useTranslation } from 'react-i18next';
import IconDisconnect from 'ui/assets/icon-disconnect.svg';
import IconDapps from 'ui/assets/dapps.svg';
@@ -63,7 +64,7 @@ export const CurrentConnection = memo((props: CurrentConnectionProps) => {
...site!,
chain,
};
- setSite(_site);
+ // setSite(_site);
setVisible(false);
onChainChange?.(chain);
await wallet.setSite(_site);
@@ -76,8 +77,58 @@ export const CurrentConnection = memo((props: CurrentConnectionProps) => {
}
};
+ const handleFavoriteChnage = async (value: boolean) => {
+ const _site = {
+ ...site!,
+ isFavorite: value,
+ };
+ setSite(_site);
+ setVisible(false);
+ await wallet.setSite(_site);
+ if (value) {
+ await wallet.updateSiteBasicInfo(_site.origin);
+ }
+ };
+
+ const activeTabIdRef = useRef(-1);
+
useEffect(() => {
getCurrentSite();
+
+ const handleCreated = (tab: Tabs.Tab) => {
+ // generally, tab.status is 'loading' when created, we deplay to get current site
+ setTimeout(() => {
+ getCurrentSite();
+ }, 1000);
+ activeTabIdRef.current = tab.id;
+ };
+ const handleActivated = (activeInfo: Tabs.OnActivatedActiveInfoType) => {
+ if (activeInfo.tabId !== activeTabIdRef.current) {
+ getCurrentSite();
+ }
+ activeTabIdRef.current = activeInfo.tabId;
+ };
+ const handleRemoved = (tabId: number) => {
+ if (activeTabIdRef.current === tabId) {
+ activeTabIdRef.current = -1;
+ }
+ };
+
+ browser.tabs.onCreated.addListener(handleCreated);
+ browser.tabs.onActivated.addListener(handleActivated);
+ browser.tabs.onRemoved.addListener(handleRemoved);
+
+ const dispose1 = window.rabbyDesktop?.ipcRenderer.on('__internal_push:rabby:chainChanged', () => {
+ getCurrentSite();
+ });
+
+ return () => {
+ browser.tabs.onCreated.removeListener(handleCreated);
+ browser.tabs.onActivated.removeListener(handleActivated);
+ browser.tabs.onRemoved.removeListener(handleRemoved);
+
+ dispose1?.();
+ }
}, []);
const Content = site && (
diff --git a/src/ui/views/Dashboard/components/Settings/index.tsx b/src/ui/views/Dashboard/components/Settings/index.tsx
index 16cd95322..43821e9ed 100644
--- a/src/ui/views/Dashboard/components/Settings/index.tsx
+++ b/src/ui/views/Dashboard/components/Settings/index.tsx
@@ -594,7 +594,7 @@ const SettingsInner = ({
? t('page.dashboard.settings.enableWhitelistTip')
: t('page.dashboard.settings.disableWhitelistTip'),
validationHandler: async (password: string) =>
- await wallet.toggleWhitelist(password, value),
+ await wallet.toggleWhitelist(value),
onFinished() {
setWhitelistEnable(value);
},
@@ -619,7 +619,7 @@ const SettingsInner = ({
const { value: hasNewVersion = false } = useAsync(async () => {
const data = await wallet.openapi.getLatestVersion();
- return semver(process.env.release || '0.0.0', data.version_tag) === -1;
+ return semver(globalThis.rabbyDesktop.appVersion || '0.0.0', data.version_tag) === -1;
});
const handleSwitchIsShowTestnet = (value: boolean) => {
diff --git a/src/ui/views/Dashboard/index.tsx b/src/ui/views/Dashboard/index.tsx
index 6fdb3bc95..801d21ac2 100644
--- a/src/ui/views/Dashboard/index.tsx
+++ b/src/ui/views/Dashboard/index.tsx
@@ -7,13 +7,15 @@ import remarkGfm from 'remark-gfm';
import { matomoRequestEvent } from '@/utils/matomo-request';
import {
KEYRING_CLASS,
- KEYRING_ICONS,
- KEYRING_ICONS_WHITE,
KEYRING_TYPE,
KEYRING_TYPE_TEXT,
WALLET_BRAND_CONTENT,
EVENTS,
} from 'consts';
+import {
+ KEYRING_ICONS,
+ KEYRING_ICONS_WHITE
+} from 'ui/assets-const';
import QRCode from 'qrcode.react';
import React, { useEffect, useState } from 'react';
import { useHistory } from 'react-router-dom';
diff --git a/src/ui/views/MainRoute.tsx b/src/ui/views/MainRoute.tsx
index 6232d85df..5894b5422 100644
--- a/src/ui/views/MainRoute.tsx
+++ b/src/ui/views/MainRoute.tsx
@@ -2,12 +2,13 @@ import React, { useEffect } from 'react';
import { Switch, Route } from 'react-router-dom';
import { PrivateRoute } from 'ui/component';
-import Welcome from './Welcome';
-import NoAddress from './NoAddress';
-import CreatePassword from './CreatePassword';
-import ImportMode from './ImportMode';
-import ImportPrivateKey from './ImportPrivateKey';
-import ImportJson from './ImportJson';
+import Welcome from 'ui/views/Welcome';
+import NoAddress from 'ui/views/NoAddress';
+import CreatePassword from 'ui/views/CreatePassword';
+import ImportMode from 'ui/views/ImportMode';
+import ImportPrivateKey from 'ui/views/ImportPrivateKey';
+import ImportJson from 'ui/views/ImportJson';
+
import ImportWatchAddress from './ImportWatchAddress';
import SelectAddress from './SelectAddress';
import ImportSuccess from './ImportSuccess';
@@ -97,6 +98,24 @@ const Main = () => {
})();
}, []);
+ // const history = useHistory();
+ // const [getApproval] = useApproval();
+ // useEffect(() => {
+ // const listener = async (message: any, sender: Runtime.MessageSender) => {
+ // const approval = await getApproval();
+ // if (message.type !== 'rabbyx-openNotification') return ;
+
+ // if (approval) {
+ // history.push('/approval');
+ // }
+ // };
+ // browser.runtime.onMessage.addListener(listener);
+
+ // return () => {
+ // browser.runtime.onMessage.removeListener(listener);
+ // }
+ // }, [ getApproval, history ]);
+
return (
<>
diff --git a/src/ui/views/SendToken/components/ModalConfirmAllowTransfer.tsx b/src/ui/views/SendToken/components/ModalConfirmAllowTransfer.tsx
index 35d2a7198..34219117b 100644
--- a/src/ui/views/SendToken/components/ModalConfirmAllowTransfer.tsx
+++ b/src/ui/views/SendToken/components/ModalConfirmAllowTransfer.tsx
@@ -66,7 +66,7 @@ function ModalConfirmAllowTransfer({
await wallet.verifyPassword(password);
if (toAddr && confirmToAddToWhitelist) {
- await wallet.addWhitelist(password, toAddr);
+ await wallet.addWhitelist(toAddr);
}
onFinished({
confirmedToAddToWhitelist: confirmToAddToWhitelist,
diff --git a/src/ui/views/SortHat.tsx b/src/ui/views/SortHat.tsx
index 1fed101ab..63e0aac7d 100644
--- a/src/ui/views/SortHat.tsx
+++ b/src/ui/views/SortHat.tsx
@@ -1,16 +1,23 @@
-import React from 'react';
+import React, { useRef } from 'react';
import { useEffect, useState } from 'react';
-import { Redirect } from 'react-router-dom';
+import { Redirect, useHistory } from 'react-router-dom';
import { getUiType, useApproval, useWallet } from 'ui/utils';
import { Spin } from 'ui/component';
import { Approval } from 'background/service/notification';
+import browser from 'webextension-polyfill';
+import { getOriginFromUrl } from '@/utils';
+/**
+ * @description used as router's Root Component in fact.
+ */
const SortHat = () => {
const wallet = useWallet();
const [to, setTo] = useState('');
// eslint-disable-next-line prefer-const
let [getApproval] = useApproval();
+
const UIType = getUiType();
+ const history = useHistory();
const loadView = async () => {
const isInNotification = UIType.isNotification;
@@ -18,23 +25,28 @@ const SortHat = () => {
const approval: Approval | undefined = await getApproval();
if (isInNotification && !approval) {
window.close();
+ // // redirect back to dashboard on no approval
+ // history.replace('/dashboard');
+
return;
}
if (!(await wallet.isBooted())) {
setTo('/welcome');
+ // history.replace('/welcome');
return;
}
await wallet.tryUnlock();
if (!(await wallet.isUnlocked())) {
setTo('/unlock');
+ // history.replace('/unlock');
return;
}
if (
(await wallet.hasPageStateCache()) &&
- !isInNotification &&
- !isInTab &&
+ !UIType.isNotification &&
+ !UIType.isTab &&
!approval
) {
const cache = (await wallet.getPageStateCache())!;
@@ -47,14 +59,23 @@ const SortHat = () => {
}
}
+ if ((await wallet.getPreMnemonics()) && !UIType.isNotification && !UIType.isTab) {
+ setTo('/create-mnemonics');
+ // history.replace('/create-mnemonics');
+ return;
+ }
+
const currentAccount = await wallet.getCurrentAccount();
if (!currentAccount) {
setTo('/no-address');
- } else if (approval && isInNotification) {
+ // history.replace('/no-address');
+ } else if (approval && UIType.isNotification) {
setTo('/approval');
+ // history.replace('/approval');
} else {
setTo('/dashboard');
+ // history.replace('/dashboard');
}
};
@@ -69,10 +90,46 @@ const SortHat = () => {
}, 16);
};
}, []);
+
+ const dappOriginRef = useRef<{
+ url: string;
+ tabId?: number;
+ }>({ url: '', tabId: -1 });
+ useEffect(() => {
+ browser.tabs.getCurrent().then(tab => {
+ if (dappOriginRef.current.url) return ;
+ dappOriginRef.current = {
+ url: tab.url ? getOriginFromUrl(tab.url) : '',
+ tabId: tab.id,
+ };
+ });
+
+ // const handleUpdated = async (tabId: number, changeInfo: Tabs.OnUpdatedChangeInfoType, tab: Tabs.Tab) => {
+ // const oldVal = dappOriginRef.current;
+ // const newVal = getOriginFromUrl(changeInfo.url || tab.url || '');
+ // const approval = await wallet.getApproval();
+ // if (approval && oldVal.url && oldVal.url !== newVal) {
+ // await wallet.rejectAllApprovals();
+ // // history.replace('/');
+ // message.destroy();
+ // message.error('focusing Dapp changed! Reject approvals automatically.')
+
+ // window.close();
+ // }
+
+ // dappOriginRef.current = { url: newVal, tabId };
+ // };
+
+ // browser.tabs.onUpdated.addListener(handleUpdated);
+
+ // return () => {
+ // browser.tabs.onUpdated.removeListener(handleUpdated);
+ // }
+ }, [ wallet ]);
return (
- {UIType.isPop ? (
+ {(UIType.isPop) ? (
<>{to && }>
) : (
{to && }
diff --git a/src/ui/views/index.tsx b/src/ui/views/index.tsx
index 263d919ab..16d904f8e 100644
--- a/src/ui/views/index.tsx
+++ b/src/ui/views/index.tsx
@@ -62,7 +62,7 @@ const useAutoLock = () => {
};
const Main = () => {
- useAutoLock();
+ // useAutoLock();
useThemeModeOnMain();
useSubscribeCurrentAccountChanged();
diff --git a/src/utils/matomo-request.ts b/src/utils/matomo-request.ts
index f443b6f54..127185dda 100644
--- a/src/utils/matomo-request.ts
+++ b/src/utils/matomo-request.ts
@@ -12,10 +12,25 @@ async function postData(url = '', params: URLSearchParams) {
return response;
}
-let { extensionId } = await browser.storage.local.get('extensionId');
-if (!extensionId) {
- extensionId = genExtensionId();
- browser.storage.local.set({ extensionId });
+async function getExtensionId() {
+ let { extensionId } = await browser.storage.local.get('extensionId');
+ if (!extensionId) {
+ extensionId = genExtensionId();
+ browser.storage.local.set({ extensionId });
+ }
+
+ return extensionId;
+}
+
+let desktopVersion: string = '';
+async function getDesktopVersion() {
+ if (!desktopVersion) {
+ // @ts-expect-error
+ const { version } = await window.rabbyDesktop.ipcRenderer.invoke('rabbyx:get-app-version')
+ desktopVersion = version;
+ }
+
+ return desktopVersion;
}
const getParams = async () => {
@@ -25,10 +40,10 @@ const getParams = async () => {
const url = `https://${location.host}.com/${pathname}`;
gaParams.append('action_name', pathname);
- gaParams.append('idsite', '2');
+ gaParams.append('idsite', '4');
gaParams.append('rec', '1');
gaParams.append('url', encodeURI(url));
- gaParams.append('_id', extensionId);
+ gaParams.append('_id', await getExtensionId());
gaParams.append('rand', nanoid());
gaParams.append('ca', '1');
gaParams.append('h', new Date().getUTCHours().toString());
@@ -36,7 +51,7 @@ const getParams = async () => {
gaParams.append('s', new Date().getUTCSeconds().toString());
gaParams.append('cookie', '0');
gaParams.append('send_image', '0');
- gaParams.append('dimension1', process.env.release!);
+ gaParams.append('dimension1', await getDesktopVersion());
return gaParams;
};
diff --git a/src/utils/message/index.ts b/src/utils/message/index.ts
index 18ea279c1..b3d6e7ac6 100644
--- a/src/utils/message/index.ts
+++ b/src/utils/message/index.ts
@@ -6,12 +6,12 @@ import { EventEmitter } from 'events';
import { ethErrors } from 'eth-rpc-errors';
import PQueue from 'p-queue';
-const pQueue = new PQueue({ concurrency: 1000 });
+const pQueue = new PQueue({ concurrency: 10000 });
abstract class Message extends EventEmitter {
// available id list
// max concurrent request limit
- private _requestIdPool = [...Array(1000).keys()];
+ private _requestIdPool = [...Array(10000).keys()];
protected _EVENT_PRE = 'ETH_WALLET_';
protected listenCallback: any;
diff --git a/tsconfig.json b/tsconfig.json
index 94eac6c8f..d630a9311 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -35,9 +35,11 @@
"validate": true
}
],
- "outDir": "./dist",
+ "outDir": "../../assets/chrome_exts/rabby",
"sourceMap": true,
- "resolveJsonModule": true
+ "resolveJsonModule": true,
+ "declaration": true,
+ "declarationDir": "../../assets/rabby-types"
},
"exclude": ["./node_modules"],
"include": ["src", "__tests__"]
diff --git a/yarn.lock b/yarn.lock
index 3dd16198a..8ccddd7ef 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1631,10 +1631,10 @@
resolved "https://registry.yarnpkg.com/@debank/common/-/common-0.3.0.tgz#9c67288816d62e3548e0c2193ec4cd73758f5b26"
integrity sha512-PWdFuKuqDtGdYALFToDQQCyas3Tgz1tXXlir6UVTVHz2MPi4uK6ZK8UUNrWdU6lncHNvcRsNf3Xamk0Ga9jxeg==
-"@debank/festats@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@debank/festats/-/festats-1.0.1.tgz#8f76b0919a6c8a7d938a42946272abaff2b971be"
- integrity sha512-mr2N1oqOTYQJ4ezIGn4EWkSuioh5fiAkX82oZnzaLsG1Y71P10HvBb136Cag46m9CRUCsUNG0/wxmvPhHHGUaQ==
+"@debank/festats@1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@debank/festats/-/festats-1.0.3.tgz#68ea438d89f09de565d4d4336d82c29f6a0484a1"
+ integrity sha512-pANPwkNkqfxCBA9MUswRJsRplqgwSBZ5fXiUUfqioc64+lgzShuddSgAlyL0icShwvjM+5FtV4qqQBh2Gti8fw==
"@discoveryjs/json-ext@^0.5.0":
version "0.5.7"
@@ -5546,14 +5546,6 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
-"@trezor/analytics@1.0.15":
- version "1.0.15"
- resolved "https://registry.yarnpkg.com/@trezor/analytics/-/analytics-1.0.15.tgz#87faeae9b98c1f9109bd9110cff4fc6ade980999"
- integrity sha512-HSo/1kYyiouLJBOJPLUidEgHQA85b9yioTjvTY4fP2MIRfJ9sblioihq8BOjW1n+CV914z2y/SLLfnbRgFYGcw==
- dependencies:
- "@trezor/env-utils" "1.0.14"
- "@trezor/utils" "9.0.22"
-
"@trezor/analytics@1.0.16":
version "1.0.16"
resolved "https://registry.yarnpkg.com/@trezor/analytics/-/analytics-1.0.16.tgz#77618db567272de88a454bbf1480363e02809201"
@@ -5562,16 +5554,6 @@
"@trezor/env-utils" "1.0.15"
"@trezor/utils" "9.0.23"
-"@trezor/blockchain-link-types@1.0.14":
- version "1.0.14"
- resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-types/-/blockchain-link-types-1.0.14.tgz#bc79ecee1eee78b485a4a321bc42f64009197372"
- integrity sha512-UDzLCRY7Kig+79KWrbMeiVd1tHQwNaSRFbkJPptkuANIQpQpHRBxOdKk526Fd2EHnCHQa6WVBUhNjAhhzk2hjQ==
- dependencies:
- "@solana/web3.js" "^1.90.0"
- "@trezor/type-utils" "1.0.5"
- "@trezor/utxo-lib" "2.0.7"
- socks-proxy-agent "6.1.1"
-
"@trezor/blockchain-link-types@1.0.15":
version "1.0.15"
resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-types/-/blockchain-link-types-1.0.15.tgz#4f035f52eb7faf8fde3b7b8900421eb1284effc0"
@@ -5582,16 +5564,6 @@
"@trezor/utxo-lib" "2.0.8"
socks-proxy-agent "6.1.1"
-"@trezor/blockchain-link-utils@1.0.15":
- version "1.0.15"
- resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-utils/-/blockchain-link-utils-1.0.15.tgz#c4fc7901b6512e0331bc1bbb24eba2ab98d4727b"
- integrity sha512-2iwPbfYUKBEQqx7awXlq6yqtPNAT7c1fWHJMzW36EvzHW3Nh5lwAtBWaeKUtEsRJmAF0VRfj5Dc7gRnO9Cb8Vw==
- dependencies:
- "@mobily/ts-belt" "^3.13.1"
- "@solana/web3.js" "^1.90.0"
- "@trezor/utils" "9.0.22"
- bignumber.js "^9.1.2"
-
"@trezor/blockchain-link-utils@1.0.16":
version "1.0.16"
resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-utils/-/blockchain-link-utils-1.0.16.tgz#9339a40b256f021e35492f8384cf363a7557b470"
@@ -5602,24 +5574,6 @@
"@trezor/utils" "9.0.23"
bignumber.js "^9.1.2"
-"@trezor/blockchain-link@2.1.27":
- version "2.1.27"
- resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.1.27.tgz#0952ea770f36dc0af8edcfaaabea0a4c1b5706c4"
- integrity sha512-BMoMwjd+3ZeuHrhtphQnPOvJPcyi69NYJ0JGah/+zj3UkrRPodvEf+44qlA0pxCBUjYMjHEDqekppuuuD1hRsg==
- dependencies:
- "@solana/buffer-layout" "^4.0.1"
- "@solana/web3.js" "^1.90.0"
- "@trezor/blockchain-link-types" "1.0.14"
- "@trezor/blockchain-link-utils" "1.0.15"
- "@trezor/utils" "9.0.22"
- "@trezor/utxo-lib" "2.0.7"
- "@types/web" "^0.0.138"
- bignumber.js "^9.1.2"
- events "^3.3.0"
- ripple-lib "^1.10.1"
- socks-proxy-agent "6.1.1"
- ws "^8.16.0"
-
"@trezor/blockchain-link@2.1.28":
version "2.1.28"
resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.1.28.tgz#4c8bf11dbbf1105d97e7fdf9072107536ab5dff2"
@@ -5638,13 +5592,6 @@
socks-proxy-agent "6.1.1"
ws "^8.16.0"
-"@trezor/connect-analytics@1.0.13":
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/@trezor/connect-analytics/-/connect-analytics-1.0.13.tgz#e53d28339846d0feda3da5514f89a4b7611376b1"
- integrity sha512-Cbbv2UpX5zqmf1fB1yYuITO3gOctcxyl4Uxu9X/Sh/qgckU6FrJGJLMMJjUlC5+4DZWegmkhDMaZHXdtNPydZA==
- dependencies:
- "@trezor/analytics" "1.0.15"
-
"@trezor/connect-analytics@1.0.14":
version "1.0.14"
resolved "https://registry.yarnpkg.com/@trezor/connect-analytics/-/connect-analytics-1.0.14.tgz#a7eac60ef6988e47141ee8d02459f1ebaf6ebcf6"
@@ -5652,14 +5599,6 @@
dependencies:
"@trezor/analytics" "1.0.16"
-"@trezor/connect-common@0.0.30":
- version "0.0.30"
- resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.0.30.tgz#4849a5cda86fca0a095f9528408f5fc1f7663b20"
- integrity sha512-F7O3rH4G/U4djv3EqW3vL+f7PCXquNs01sYpgTE/JHjfODp1yoQGnQC+wy3QhAWW+6bETCz9LyIaTZgZ4n/uTQ==
- dependencies:
- "@trezor/env-utils" "1.0.14"
- "@trezor/utils" "9.0.22"
-
"@trezor/connect-common@0.0.31":
version "0.0.31"
resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.0.31.tgz#41d61a669a6c446cf255ffde49fc002206590be7"
@@ -5673,7 +5612,7 @@
resolved "https://registry.yarnpkg.com/@trezor/connect-plugin-ethereum/-/connect-plugin-ethereum-9.0.3.tgz#141791925c241ada9f2f5959dfdfe7c674d6ed70"
integrity sha512-xwsrebfuJ6vq7dFUNEEaLMHgktTKR1UtbP8jIo52dYVy7Nk0YIo7GueMFzKJTpeXE5AUPKUKB71sU0DP0/OGgQ==
-"@trezor/connect-web@9.2.2":
+"@trezor/connect-web@9.2.2", "@trezor/connect-web@^9.2.1":
version "9.2.2"
resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.2.2.tgz#583a607045e189fdd3bbf674e1861ea635fa0def"
integrity sha512-THYlFAt5R3o4rg52dMOrSmfuWzFIxFUu6Oeqj0f9vALzUU4Wzm2nMDIG0Y3MyB5mVzFg70lwmx73tuznx/rfUw==
@@ -5683,16 +5622,6 @@
"@trezor/utils" "9.0.23"
events "^3.3.0"
-"@trezor/connect-web@^9.2.1":
- version "9.2.1"
- resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.2.1.tgz#6e6fa95e93a7c8ea927d0324b60046ce1618844a"
- integrity sha512-PjZQTJsEP9TVZ9gimN1j16CxdLcZoj2kLzXokli+bsgz9IxzuHSAwNYAGIjUWetGydAApQYHTcI+enPXHVi0rg==
- dependencies:
- "@trezor/connect" "9.2.1"
- "@trezor/connect-common" "0.0.30"
- "@trezor/utils" "9.0.22"
- events "^3.3.0"
-
"@trezor/connect-webextension@9.2.2":
version "9.2.2"
resolved "https://registry.yarnpkg.com/@trezor/connect-webextension/-/connect-webextension-9.2.2.tgz#10b8ccd7db8038e8503f2044912f2d21044a02db"
@@ -5704,31 +5633,6 @@
"@trezor/utils" "9.0.23"
events "^3.3.0"
-"@trezor/connect@9.2.1":
- version "9.2.1"
- resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.2.1.tgz#362b1dba4ccb24c2c8ce96e02c6d820c8507fca5"
- integrity sha512-FYiPNT1/GKLu692MjXGsTimvkPSGWEuWJ53jVWEfTiLGy1QhAxoG5ZTmrVe4lqdQ+hbG+AKylrPSuvtOvBsJsA==
- dependencies:
- "@ethereumjs/common" "^4.2.0"
- "@ethereumjs/tx" "^5.2.1"
- "@fivebinaries/coin-selection" "2.2.1"
- "@trezor/blockchain-link" "2.1.27"
- "@trezor/blockchain-link-types" "1.0.14"
- "@trezor/connect-analytics" "1.0.13"
- "@trezor/connect-common" "0.0.30"
- "@trezor/protobuf" "1.0.10"
- "@trezor/protocol" "1.0.6"
- "@trezor/schema-utils" "1.0.2"
- "@trezor/transport" "1.1.26"
- "@trezor/utils" "9.0.22"
- "@trezor/utxo-lib" "2.0.7"
- bignumber.js "^9.1.2"
- blakejs "^1.2.1"
- bs58 "^5.0.0"
- bs58check "^3.0.1"
- cross-fetch "^4.0.0"
- events "^3.3.0"
-
"@trezor/connect@9.2.2":
version "9.2.2"
resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.2.2.tgz#1ff4b9f89d6a7ed4cc7a38256ec7c8e3554f3934"
@@ -5755,14 +5659,6 @@
cross-fetch "^4.0.0"
events "^3.3.0"
-"@trezor/env-utils@1.0.14":
- version "1.0.14"
- resolved "https://registry.yarnpkg.com/@trezor/env-utils/-/env-utils-1.0.14.tgz#eeaad825bd56de2729c59013770a0bdd8e9bf96c"
- integrity sha512-hwJtoLhLEZeUQu2FR1NZk1AhHnck8W5Pc1f385i5VKqwHSuORKvz0ufjMbHrvqj1GBJdXbhE3WXMJI31SkZimw==
- dependencies:
- expo-constants "15.4.5"
- ua-parser-js "^1.0.37"
-
"@trezor/env-utils@1.0.15":
version "1.0.15"
resolved "https://registry.yarnpkg.com/@trezor/env-utils/-/env-utils-1.0.15.tgz#08679e49536db7061a1f5d752fa49e2176a65e17"
@@ -5771,15 +5667,6 @@
expo-constants "15.4.5"
ua-parser-js "^1.0.37"
-"@trezor/protobuf@1.0.10":
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/@trezor/protobuf/-/protobuf-1.0.10.tgz#94eebced4934105c59de79791012e88c900329ad"
- integrity sha512-XsWmHjaBcSRrga/y2gfPCwtx5Cjh+ONqgg043Dj+nwqSEu/G2HKzJeHO915piPWtQBW1nmtnh3FsSo2FltCASw==
- dependencies:
- "@trezor/schema-utils" "1.0.2"
- long "^4.0.0"
- protobufjs "7.2.6"
-
"@trezor/protobuf@1.0.11":
version "1.0.11"
resolved "https://registry.yarnpkg.com/@trezor/protobuf/-/protobuf-1.0.11.tgz#930b4fb7b7429a7ae9bf343d0c00d178c3285227"
@@ -5789,24 +5676,11 @@
long "^4.0.0"
protobufjs "7.2.6"
-"@trezor/protocol@1.0.6":
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/@trezor/protocol/-/protocol-1.0.6.tgz#27295d29929b7249cd18524f36da85cdc43eb927"
- integrity sha512-5agka7qFoS8DysFT+/sJbfV4IJniy+yaUHf4KKhx24CtgtxmqJFNEMF13HzEZeGPLHHg59FAK29G3tSl+I9alw==
-
"@trezor/protocol@1.0.7":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@trezor/protocol/-/protocol-1.0.7.tgz#d4bd9b0734c23d8fbc6cea7c14c7122b5e47b438"
integrity sha512-IYpmureV9cqle7HxSuGkYh4GT5SY1CVbad7zYJn3MgFk1jQpdENQQSK5KpdD2xHoKnoRqyz4TSOHQzhjgqIDLA==
-"@trezor/schema-utils@1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@trezor/schema-utils/-/schema-utils-1.0.2.tgz#187bcaf4455dbe277585d9d8e097bbc98b76edaa"
- integrity sha512-VqD0m/nm0x4fRkK0NXLQMg7sDvQwZLSei/TRjrynXn4LOrL7RhuEbaVTTIUqI536+lNnDEo0d4GwPE38aT0/1g==
- dependencies:
- "@sinclair/typebox" "^0.31.28"
- ts-mixer "^6.0.3"
-
"@trezor/schema-utils@1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@trezor/schema-utils/-/schema-utils-1.0.3.tgz#a718ee0075f7d5ef7fa829585ba989fc79a3742c"
@@ -5815,19 +5689,6 @@
"@sinclair/typebox" "^0.31.28"
ts-mixer "^6.0.3"
-"@trezor/transport@1.1.26":
- version "1.1.26"
- resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.1.26.tgz#c4e29d1dc305aa9e6393929e29dfb76efd153a11"
- integrity sha512-Wb1ht0zy3o+9gKhI3fZZrvIwoGTinWQ3DWIkJlzlimrz+DkVe45Kfar9eqvncBaoc7LbT+F3jK/65+r3QeFlHA==
- dependencies:
- "@trezor/protobuf" "1.0.10"
- "@trezor/protocol" "1.0.6"
- "@trezor/utils" "9.0.22"
- json-stable-stringify "^1.1.1"
- long "^4.0.0"
- protobufjs "7.2.6"
- usb "^2.11.0"
-
"@trezor/transport@1.1.27":
version "1.1.27"
resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.1.27.tgz#05497cec1c1ee4cae4229611f92a733813cfec05"
@@ -5846,40 +5707,11 @@
resolved "https://registry.yarnpkg.com/@trezor/type-utils/-/type-utils-1.0.5.tgz#5efdd6ab1ebd5086878d9123cfe4eb70440072e6"
integrity sha512-AK8Gg5yoPAMvxqK49LXr8yoop1oxIXRxkOhCuWGV51fDM02/L1dhGNKC04UyCTyG7jZ+H1f5ywuna81BVT/ptQ==
-"@trezor/utils@9.0.22":
- version "9.0.22"
- resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.0.22.tgz#f17483f33c7a78a0547d39ff7a6198c12cd3286e"
- integrity sha512-DJ7pORsIoS79cqac/p1hXmf7N72jCleifQqDUGicPOF+fIDiRoAtRSnrtwiwOF3vOXLMa//zXylA15CZl3RSjQ==
-
"@trezor/utils@9.0.23":
version "9.0.23"
resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.0.23.tgz#1dd3977362be9e3ab2a4429c078b3fe1259ef91f"
integrity sha512-lxdGo6j2gzSy5PFSyjxEg/1p3cRGLPyhfC+53OGi002PE7q4uUzU8yUFqJxC7zEXmfeY3HkkJEqqois3rWE66w==
-"@trezor/utxo-lib@2.0.7":
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-2.0.7.tgz#b634f3ed2da8279701eae536b54a560ead1c3a3d"
- integrity sha512-st0HI0cK+wDCnWGM3zJx0N3eja96uGquJ80iODkGUb/Zp/E/ILyDzh9Idh+SiOCvA6II+YIQIRnhltu/iHq4rg==
- dependencies:
- "@trezor/utils" "9.0.22"
- bchaddrjs "^0.5.2"
- bech32 "^2.0.0"
- bip66 "^1.1.5"
- bitcoin-ops "^1.4.1"
- blake-hash "^2.0.0"
- blakejs "^1.2.1"
- bn.js "^5.2.1"
- bs58 "^5.0.0"
- bs58check "^3.0.1"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- int64-buffer "^1.0.1"
- pushdata-bitcoin "^1.0.1"
- tiny-secp256k1 "^1.1.6"
- typeforce "^1.18.0"
- varuint-bitcoin "^1.1.2"
- wif "^4.0.0"
-
"@trezor/utxo-lib@2.0.8":
version "2.0.8"
resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-2.0.8.tgz#eb5df9e627daa5099e2052bb4f8c0130daaafb40"
@@ -12904,6 +12736,11 @@ jiti@^1.21.0:
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d"
integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
+jotai@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.1.0.tgz#b1a9525345518453802e4a64d99e2800598bab76"
+ integrity sha512-fR82PtHAmEQrc/daMEYGc4EteW96/b6wodtDSCzLvoJA/6y4YG70er4hh2f8CYwYjqwQ0eZUModGfG4DmwkTyQ==
+
js-cookie@^2.2.1, js-cookie@^2.x.x:
version "2.2.1"
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"