@hot-labs/kit 1.2.0-alpha.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -9
- package/build/HotConnector.d.ts +105 -0
- package/build/HotConnector.js +303 -0
- package/build/HotConnector.js.map +1 -0
- package/build/OmniConnector.d.ts +90 -0
- package/build/OmniConnector.js +121 -0
- package/build/OmniConnector.js.map +1 -0
- package/build/OmniWallet.d.ts +35 -0
- package/build/OmniWallet.js +56 -0
- package/build/OmniWallet.js.map +1 -0
- package/build/activity.d.ts +18 -0
- package/build/activity.js +87 -0
- package/build/activity.js.map +1 -0
- package/build/core/Intents.d.ts +100 -0
- package/build/core/Intents.js +472 -0
- package/build/core/Intents.js.map +1 -0
- package/build/core/api.d.ts +60 -0
- package/build/core/api.js +108 -0
- package/build/core/api.js.map +1 -0
- package/build/core/bridge.d.ts +3 -0
- package/build/core/bridge.js +36 -0
- package/build/core/bridge.js.map +1 -0
- package/build/core/chains.d.ts +115 -0
- package/build/core/chains.js +381 -0
- package/build/core/chains.js.map +1 -0
- package/build/core/defaultTokens.d.ts +17 -0
- package/build/core/defaultTokens.js +1079 -0
- package/build/core/defaultTokens.js.map +1 -0
- package/build/core/events.d.ts +42 -0
- package/build/core/events.js +64 -0
- package/build/core/events.js.map +1 -0
- package/build/core/index.d.ts +10 -0
- package/build/core/index.js +11 -0
- package/build/core/index.js.map +1 -0
- package/build/core/recipient.d.ts +10 -0
- package/build/core/recipient.js +40 -0
- package/build/core/recipient.js.map +1 -0
- package/build/core/telemetry.d.ts +13 -0
- package/build/core/telemetry.js +27 -0
- package/build/core/telemetry.js.map +1 -0
- package/build/core/token.d.ts +37 -0
- package/build/core/token.js +106 -0
- package/build/core/token.js.map +1 -0
- package/build/core/tokens.d.ts +14 -0
- package/build/core/tokens.js +51 -0
- package/build/core/tokens.js.map +1 -0
- package/build/core/types.d.ts +60 -0
- package/build/core/types.js +2 -0
- package/build/core/types.js.map +1 -0
- package/build/core/utils.d.ts +25 -0
- package/build/core/utils.js +170 -0
- package/build/core/utils.js.map +1 -0
- package/build/cosmos/connector.d.ts +36 -0
- package/build/cosmos/connector.js +211 -0
- package/build/cosmos/connector.js.map +1 -0
- package/build/cosmos/helpers.d.ts +2 -0
- package/build/cosmos/helpers.js +29 -0
- package/build/cosmos/helpers.js.map +1 -0
- package/build/cosmos/index.d.ts +6 -0
- package/build/cosmos/index.js +5 -0
- package/build/cosmos/index.js.map +1 -0
- package/build/cosmos/wallet.d.ts +26 -0
- package/build/cosmos/wallet.js +51 -0
- package/build/cosmos/wallet.js.map +1 -0
- package/build/defaults.d.ts +1 -0
- package/build/defaults.js +7 -0
- package/build/defaults.js.map +1 -0
- package/build/evm/abi.d.ts +17 -0
- package/build/evm/abi.js +38 -0
- package/build/evm/abi.js.map +1 -0
- package/build/evm/connector.d.ts +29 -0
- package/build/evm/connector.js +118 -0
- package/build/evm/connector.js.map +1 -0
- package/build/evm/index.d.ts +6 -0
- package/build/evm/index.js +5 -0
- package/build/evm/index.js.map +1 -0
- package/build/evm/injected.d.ts +1 -0
- package/build/evm/injected.js +33 -0
- package/build/evm/injected.js.map +1 -0
- package/build/evm/wallet.d.ts +42 -0
- package/build/evm/wallet.js +130 -0
- package/build/evm/wallet.js.map +1 -0
- package/build/exchange.d.ts +68 -0
- package/build/exchange.js +384 -0
- package/build/exchange.js.map +1 -0
- package/build/hot-wallet/google.d.ts +25 -0
- package/build/hot-wallet/google.js +117 -0
- package/build/hot-wallet/google.js.map +1 -0
- package/build/hot-wallet/iframe.d.ts +36 -0
- package/build/hot-wallet/iframe.js +140 -0
- package/build/hot-wallet/iframe.js.map +1 -0
- package/build/hot-wallet/index.d.ts +5 -0
- package/build/hot-wallet/index.js +4 -0
- package/build/hot-wallet/index.js.map +1 -0
- package/build/hot-wallet/proxy.d.ts +8 -0
- package/build/hot-wallet/proxy.js +45 -0
- package/build/hot-wallet/proxy.js.map +1 -0
- package/build/index.d.ts +6 -0
- package/build/index.js +7 -0
- package/build/index.js.map +1 -0
- package/build/near/connector.d.ts +18 -0
- package/build/near/connector.js +58 -0
- package/build/near/connector.js.map +1 -0
- package/build/near/index.d.ts +7 -0
- package/build/near/index.js +5 -0
- package/build/near/index.js.map +1 -0
- package/build/near/rpc.d.ts +23 -0
- package/build/near/rpc.js +153 -0
- package/build/near/rpc.js.map +1 -0
- package/build/near/wallet.d.ts +55 -0
- package/build/near/wallet.js +201 -0
- package/build/near/wallet.js.map +1 -0
- package/build/solana/WalletStandard.d.ts +25 -0
- package/build/solana/WalletStandard.js +56 -0
- package/build/solana/WalletStandard.js.map +1 -0
- package/build/solana/connector.d.ts +30 -0
- package/build/solana/connector.js +139 -0
- package/build/solana/connector.js.map +1 -0
- package/build/solana/index.d.ts +6 -0
- package/build/solana/index.js +5 -0
- package/build/solana/index.js.map +1 -0
- package/build/solana/injected/account.d.ts +11 -0
- package/build/solana/injected/account.js +41 -0
- package/build/solana/injected/account.js.map +1 -0
- package/build/solana/injected/index.d.ts +1 -0
- package/build/solana/injected/index.js +82 -0
- package/build/solana/injected/index.js.map +1 -0
- package/build/solana/injected/register.d.ts +2 -0
- package/build/solana/injected/register.js +41 -0
- package/build/solana/injected/register.js.map +1 -0
- package/build/solana/injected/solana-wallet.d.ts +34 -0
- package/build/solana/injected/solana-wallet.js +223 -0
- package/build/solana/injected/solana-wallet.js.map +1 -0
- package/build/solana/injected/utils.d.ts +32 -0
- package/build/solana/injected/utils.js +36 -0
- package/build/solana/injected/utils.js.map +1 -0
- package/build/solana/wallet.d.ts +40 -0
- package/build/solana/wallet.js +181 -0
- package/build/solana/wallet.js.map +1 -0
- package/build/solana/walletStandartList.d.ts +102 -0
- package/build/solana/walletStandartList.js +150 -0
- package/build/solana/walletStandartList.js.map +1 -0
- package/build/stellar/connector.d.ts +29 -0
- package/build/stellar/connector.js +64 -0
- package/build/stellar/connector.js.map +1 -0
- package/build/stellar/freigher.d.ts +46 -0
- package/build/stellar/freigher.js +110 -0
- package/build/stellar/freigher.js.map +1 -0
- package/build/stellar/hotWallet.d.ts +33 -0
- package/build/stellar/hotWallet.js +28 -0
- package/build/stellar/hotWallet.js.map +1 -0
- package/build/stellar/index.d.ts +6 -0
- package/build/stellar/index.js +5 -0
- package/build/stellar/index.js.map +1 -0
- package/build/stellar/wallet.d.ts +67 -0
- package/build/stellar/wallet.js +212 -0
- package/build/stellar/wallet.js.map +1 -0
- package/build/storage.d.ts +10 -0
- package/build/storage.js +12 -0
- package/build/storage.js.map +1 -0
- package/build/ton/connector.d.ts +24 -0
- package/build/ton/connector.js +111 -0
- package/build/ton/connector.js.map +1 -0
- package/build/ton/index.d.ts +7 -0
- package/build/ton/index.js +5 -0
- package/build/ton/index.js.map +1 -0
- package/build/ton/injected.d.ts +1 -0
- package/build/ton/injected.js +49 -0
- package/build/ton/injected.js.map +1 -0
- package/build/ton/utils.d.ts +45 -0
- package/build/ton/utils.js +63 -0
- package/build/ton/utils.js.map +1 -0
- package/build/ton/wallet.d.ts +54 -0
- package/build/ton/wallet.js +138 -0
- package/build/ton/wallet.js.map +1 -0
- package/build/tron/connector.d.ts +51 -0
- package/build/tron/connector.js +65 -0
- package/build/tron/connector.js.map +1 -0
- package/build/tron/index.d.ts +6 -0
- package/build/tron/index.js +5 -0
- package/build/tron/index.js.map +1 -0
- package/build/tron/wallet.d.ts +52 -0
- package/build/tron/wallet.js +122 -0
- package/build/tron/wallet.js.map +1 -0
- package/build/ui/Popup.d.ts +12 -0
- package/build/ui/Popup.js +43 -0
- package/build/ui/Popup.js.map +1 -0
- package/build/ui/bridge/Bridge.d.ts +29 -0
- package/build/ui/bridge/Bridge.js +389 -0
- package/build/ui/bridge/Bridge.js.map +1 -0
- package/build/ui/bridge/SelectRecipient.d.ts +14 -0
- package/build/ui/bridge/SelectRecipient.js +68 -0
- package/build/ui/bridge/SelectRecipient.js.map +1 -0
- package/build/ui/bridge/SelectSender.d.ts +13 -0
- package/build/ui/bridge/SelectSender.js +23 -0
- package/build/ui/bridge/SelectSender.js.map +1 -0
- package/build/ui/bridge/SelectToken.d.ts +13 -0
- package/build/ui/bridge/SelectToken.js +93 -0
- package/build/ui/bridge/SelectToken.js.map +1 -0
- package/build/ui/bridge/TokenCard.d.ts +21 -0
- package/build/ui/bridge/TokenCard.js +65 -0
- package/build/ui/bridge/TokenCard.js.map +1 -0
- package/build/ui/connect/AuthPopup.d.ts +2 -0
- package/build/ui/connect/AuthPopup.js +48 -0
- package/build/ui/connect/AuthPopup.js.map +1 -0
- package/build/ui/connect/ConnectWallet.d.ts +14 -0
- package/build/ui/connect/ConnectWallet.js +22 -0
- package/build/ui/connect/ConnectWallet.js.map +1 -0
- package/build/ui/connect/LogoutPopup.d.ts +10 -0
- package/build/ui/connect/LogoutPopup.js +8 -0
- package/build/ui/connect/LogoutPopup.js.map +1 -0
- package/build/ui/connect/PrimaryWallet.d.ts +6 -0
- package/build/ui/connect/PrimaryWallet.js +18 -0
- package/build/ui/connect/PrimaryWallet.js.map +1 -0
- package/build/ui/connect/WCPopup.d.ts +13 -0
- package/build/ui/connect/WCPopup.js +81 -0
- package/build/ui/connect/WCPopup.js.map +1 -0
- package/build/ui/connect/WCRequest.d.ts +9 -0
- package/build/ui/connect/WCRequest.js +13 -0
- package/build/ui/connect/WCRequest.js.map +1 -0
- package/build/ui/connect/WalletPicker.d.ts +11 -0
- package/build/ui/connect/WalletPicker.js +48 -0
- package/build/ui/connect/WalletPicker.js.map +1 -0
- package/build/ui/icons/arrow-right.d.ts +3 -0
- package/build/ui/icons/arrow-right.js +5 -0
- package/build/ui/icons/arrow-right.js.map +1 -0
- package/build/ui/icons/close.d.ts +1 -0
- package/build/ui/icons/close.js +5 -0
- package/build/ui/icons/close.js.map +1 -0
- package/build/ui/icons/exchange.d.ts +5 -0
- package/build/ui/icons/exchange.js +6 -0
- package/build/ui/icons/exchange.js.map +1 -0
- package/build/ui/icons/logout.d.ts +1 -0
- package/build/ui/icons/logout.js +3 -0
- package/build/ui/icons/logout.js.map +1 -0
- package/build/ui/icons/pending.d.ts +1 -0
- package/build/ui/icons/pending.js +5 -0
- package/build/ui/icons/pending.js.map +1 -0
- package/build/ui/icons/plus.d.ts +2 -0
- package/build/ui/icons/plus.js +6 -0
- package/build/ui/icons/plus.js.map +1 -0
- package/build/ui/icons/qr.d.ts +1 -0
- package/build/ui/icons/qr.js +5 -0
- package/build/ui/icons/qr.js.map +1 -0
- package/build/ui/icons/refresh.d.ts +2 -0
- package/build/ui/icons/refresh.js +6 -0
- package/build/ui/icons/refresh.js.map +1 -0
- package/build/ui/icons/search.d.ts +1 -0
- package/build/ui/icons/search.js +5 -0
- package/build/ui/icons/search.js.map +1 -0
- package/build/ui/icons/switch.d.ts +1 -0
- package/build/ui/icons/switch.js +5 -0
- package/build/ui/icons/switch.js.map +1 -0
- package/build/ui/icons/wallet.d.ts +1 -0
- package/build/ui/icons/wallet.js +5 -0
- package/build/ui/icons/wallet.js.map +1 -0
- package/build/ui/profile/DepositQR.d.ts +9 -0
- package/build/ui/profile/DepositQR.js +56 -0
- package/build/ui/profile/DepositQR.js.map +1 -0
- package/build/ui/profile/Payment.d.ts +23 -0
- package/build/ui/profile/Payment.js +150 -0
- package/build/ui/profile/Payment.js.map +1 -0
- package/build/ui/profile/Profile.d.ts +7 -0
- package/build/ui/profile/Profile.js +135 -0
- package/build/ui/profile/Profile.js.map +1 -0
- package/build/ui/router.d.ts +51 -0
- package/build/ui/router.js +68 -0
- package/build/ui/router.js.map +1 -0
- package/build/ui/styles.d.ts +13 -0
- package/build/ui/styles.js +281 -0
- package/build/ui/styles.js.map +1 -0
- package/build/ui/uikit/Stepper.d.ts +13 -0
- package/build/ui/uikit/Stepper.js +22 -0
- package/build/ui/uikit/Stepper.js.map +1 -0
- package/build/ui/uikit/Toast.d.ts +4 -0
- package/build/ui/uikit/Toast.js +33 -0
- package/build/ui/uikit/Toast.js.map +1 -0
- package/build/ui/uikit/button.d.ts +2 -0
- package/build/ui/uikit/button.js +52 -0
- package/build/ui/uikit/button.js.map +1 -0
- package/build/ui/uikit/image.d.ts +6 -0
- package/build/ui/uikit/image.js +38 -0
- package/build/ui/uikit/image.js.map +1 -0
- package/build/ui/uikit/loader.d.ts +2 -0
- package/build/ui/uikit/loader.js +50 -0
- package/build/ui/uikit/loader.js.map +1 -0
- package/build/ui/uikit/tabs.d.ts +12 -0
- package/build/ui/uikit/tabs.js +35 -0
- package/build/ui/uikit/tabs.js.map +1 -0
- package/build/ui/uikit/text.d.ts +6 -0
- package/build/ui/uikit/text.js +59 -0
- package/build/ui/uikit/text.js.map +1 -0
- package/build/ui/utils.d.ts +1 -0
- package/build/ui/utils.js +20 -0
- package/build/ui/utils.js.map +1 -0
- package/package.json +8 -4
- package/src/HotConnector.ts +24 -31
- package/src/OmniConnector.ts +10 -9
- package/src/OmniWallet.ts +24 -25
- package/src/core/Intents.ts +222 -151
- package/src/core/api.ts +56 -10
- package/src/core/bridge.ts +3 -2
- package/src/core/index.ts +1 -1
- package/src/core/telemetry.ts +28 -0
- package/src/core/token.ts +4 -0
- package/src/core/tokens.ts +0 -9
- package/src/core/types.ts +21 -0
- package/src/core/utils.ts +17 -1
- package/src/cosmos/connector.ts +22 -26
- package/src/cosmos/wallet.ts +3 -8
- package/src/evm/connector.ts +5 -0
- package/src/evm/wallet.ts +9 -6
- package/src/exchange.ts +24 -30
- package/src/hot-wallet/google.ts +12 -5
- package/src/hot-wallet/proxy.ts +2 -2
- package/src/index.ts +3 -1
- package/src/near/connector.ts +2 -2
- package/src/{core/nearRpc.ts → near/rpc.ts} +9 -23
- package/src/near/wallet.ts +39 -31
- package/src/solana/{protocol.ts → WalletStandard.ts} +2 -4
- package/src/solana/connector.ts +9 -8
- package/src/solana/injected/solana-wallet.ts +6 -6
- package/src/solana/wallet.ts +11 -20
- package/src/stellar/connector.ts +1 -6
- package/src/stellar/wallet.ts +17 -17
- package/src/ton/connector.ts +1 -5
- package/src/ton/wallet.ts +3 -3
- package/src/tron/connector.ts +89 -0
- package/src/tron/index.ts +7 -0
- package/src/tron/wallet.ts +146 -0
- package/src/ui/Popup.tsx +12 -4
- package/src/ui/{payment → bridge}/Bridge.tsx +266 -212
- package/src/ui/{payment → bridge}/SelectRecipient.tsx +5 -4
- package/src/ui/{payment → bridge}/SelectSender.tsx +5 -5
- package/src/ui/{payment → bridge}/SelectToken.tsx +6 -4
- package/src/ui/bridge/TokenCard.tsx +99 -0
- package/src/ui/connect/AuthPopup.tsx +1 -1
- package/src/ui/connect/ConnectWallet.tsx +16 -10
- package/src/ui/connect/PrimaryWallet.tsx +65 -0
- package/src/ui/connect/WCRequest.tsx +1 -1
- package/src/ui/connect/WalletPicker.tsx +1 -1
- package/src/ui/icons/arrow-right.tsx +3 -4
- package/src/ui/icons/close.tsx +1 -1
- package/src/ui/icons/exchange.tsx +4 -11
- package/src/ui/icons/logout.tsx +4 -13
- package/src/ui/icons/pending.tsx +2 -4
- package/src/ui/icons/plus.tsx +12 -0
- package/src/ui/icons/qr.tsx +1 -2
- package/src/ui/icons/refresh.tsx +20 -0
- package/src/ui/icons/search.tsx +4 -4
- package/src/ui/icons/switch.tsx +4 -4
- package/src/ui/icons/wallet.tsx +2 -4
- package/src/ui/profile/Payment.tsx +309 -0
- package/src/ui/{payment → profile}/Profile.tsx +110 -70
- package/src/ui/router.tsx +57 -17
- package/src/ui/styles.ts +4 -11
- package/src/ui/uikit/Stepper.tsx +50 -0
- package/src/ui/uikit/Toast.tsx +45 -0
- package/src/ui/uikit/button.tsx +53 -0
- package/src/ui/uikit/image.tsx +45 -0
- package/src/ui/uikit/loader.tsx +52 -0
- package/src/ui/uikit/tabs.tsx +56 -0
- package/src/ui/uikit/text.tsx +64 -0
- package/src/ui/utils.ts +14 -0
- package/src/ui/payment/Payment.tsx +0 -79
- package/src/ui/payment/TokenCard.tsx +0 -98
- /package/src/solana/{wallets.ts → walletStandartList.ts} +0 -0
- /package/src/ui/{payment → profile}/DepositQR.tsx +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { QRIcon } from "../icons/qr";
|
|
4
|
+
import { ArrowRightIcon } from "../icons/arrow-right";
|
|
5
|
+
import { PopupOption, PopupOptionInfo } from "../styles";
|
|
6
|
+
import { ConnectorType } from "../../OmniConnector";
|
|
7
|
+
import { ImageView } from "../uikit/image";
|
|
8
|
+
import { WalletType } from "../../core/chains";
|
|
9
|
+
import { formatter } from "../../core/utils";
|
|
10
|
+
import { openWalletPicker } from "../router";
|
|
11
|
+
import Popup from "../Popup";
|
|
12
|
+
export const SelectSender = observer(({ hot, type, onSelect, onClose }) => {
|
|
13
|
+
const connectors = hot.connectors.filter((t) => t.walletTypes.includes(type) && t.type !== ConnectorType.SOCIAL);
|
|
14
|
+
const noExternal = type === WalletType.OMNI || type === WalletType.COSMOS;
|
|
15
|
+
const selectWallet = async (t) => {
|
|
16
|
+
if (!t.wallets[0])
|
|
17
|
+
return openWalletPicker(t, (w) => (onSelect(w), onClose()));
|
|
18
|
+
onSelect(t.wallets[0]);
|
|
19
|
+
onClose();
|
|
20
|
+
};
|
|
21
|
+
return (_jsxs(Popup, { header: _jsx("p", { children: "Select sender" }), onClose: onClose, children: [!noExternal && (_jsxs(PopupOption, { onClick: () => (onSelect("qr"), onClose()), children: [_jsx("div", { style: { width: 44, height: 44, borderRadius: 16, background: "#000", display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx(QRIcon, {}) }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { style: { fontSize: 20, fontWeight: "bold" }, children: "Send via QR code" }), _jsx("span", { className: "wallet-address", children: "From CEX or external wallet" })] })] })), connectors.map((t) => (_jsxs(PopupOption, { onClick: () => selectWallet(t), children: [_jsx(ImageView, { src: t.icon, alt: t.name, size: 44 }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { style: { fontSize: 20, fontWeight: "bold" }, children: t.name }), t.wallets[0]?.address && _jsx("span", { className: "wallet-address", children: formatter.truncateAddress(t.wallets[0].address) })] }), !t.wallets[0]?.address ? _jsx("p", { children: "Connect" }) : _jsx(ArrowRightIcon, { style: { flexShrink: 0 } })] }, t.id)))] }));
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=SelectSender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectSender.js","sourceRoot":"","sources":["../../../src/ui/bridge/SelectSender.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HotConnector } from "../../HotConnector";
|
|
2
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
3
|
+
import { Token } from "../../core/token";
|
|
4
|
+
interface SelectTokenPopupProps {
|
|
5
|
+
hot: HotConnector;
|
|
6
|
+
initialChain?: number;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
onSelect: (token: Token, wallet?: OmniWallet) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const SelectTokenPopup: (({ hot, initialChain, onClose, onSelect }: SelectTokenPopupProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { observer } from "mobx-react-lite";
|
|
4
|
+
import styled from "styled-components";
|
|
5
|
+
import { Network, OmniToken } from "../../core/chains";
|
|
6
|
+
import { formatter } from "../../core/utils";
|
|
7
|
+
import { tokens } from "../../core/tokens";
|
|
8
|
+
import { PopupOption } from "../styles";
|
|
9
|
+
import Popup from "../Popup";
|
|
10
|
+
import { ImageView } from "../uikit/image";
|
|
11
|
+
import { TokenCard } from "./TokenCard";
|
|
12
|
+
export const SelectTokenPopup = observer(({ hot, initialChain, onClose, onSelect }) => {
|
|
13
|
+
const [chain, setChain] = useState(initialChain || null);
|
|
14
|
+
const [search, setSearch] = useState("");
|
|
15
|
+
if (chain == null) {
|
|
16
|
+
const chains = {};
|
|
17
|
+
tokens.list.forEach((token) => {
|
|
18
|
+
if (!chains[token.chain])
|
|
19
|
+
chains[token.chain] = {
|
|
20
|
+
chain: token.chain,
|
|
21
|
+
name: token.chainName,
|
|
22
|
+
icon: token.chainIcon,
|
|
23
|
+
balance: 0,
|
|
24
|
+
};
|
|
25
|
+
hot.wallets.forEach((wallet) => {
|
|
26
|
+
const balance = hot.balance(wallet, token);
|
|
27
|
+
chains[token.chain].balance += token.float(balance) * token.usd;
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
const sorted = Object.values(chains).sort((a, b) => {
|
|
31
|
+
if (a.chain === Network.Hot)
|
|
32
|
+
return -1;
|
|
33
|
+
return b.balance - a.balance;
|
|
34
|
+
});
|
|
35
|
+
return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: "Select chain" }), style: { minHeight: 300 }, children: [_jsx(SearchInput, { type: "text", placeholder: "Search chain", onChange: (e) => setSearch(e.target.value) }), sorted.map(({ chain, balance, name, icon }) => {
|
|
36
|
+
if (search && !name.toLowerCase().includes(search.toLowerCase()))
|
|
37
|
+
return;
|
|
38
|
+
return (_jsxs(PopupOption, { onClick: () => (setChain(chain), setSearch("")), children: [_jsx(ImageView, { src: icon, alt: name, size: 24 }), _jsx("p", { style: { fontSize: 24, fontWeight: "bold" }, children: name }), balance > 0 && _jsxs("p", { style: { marginLeft: "auto", fontSize: 20, color: "#c6c6c6" }, children: ["$", formatter.amount(balance)] })] }));
|
|
39
|
+
})] }));
|
|
40
|
+
}
|
|
41
|
+
if (chain !== -4) {
|
|
42
|
+
return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: "Select token" }), style: { minHeight: 300 }, children: [_jsx(SearchInput, { type: "text", placeholder: "Search token", onChange: (e) => setSearch(e.target.value) }), tokens.list
|
|
43
|
+
.filter((token) => token.chain === chain)
|
|
44
|
+
.sort((a, b) => {
|
|
45
|
+
const wallet = hot.wallets.find((w) => w.type === a.type);
|
|
46
|
+
const aBalance = a.float(hot.balance(wallet, a)) * a.usd;
|
|
47
|
+
const bBalance = b.float(hot.balance(wallet, b)) * b.usd;
|
|
48
|
+
return bBalance - aBalance;
|
|
49
|
+
})
|
|
50
|
+
.map((token) => {
|
|
51
|
+
const wallet = hot.wallets.find((w) => w.type === token.type);
|
|
52
|
+
if (search && !token.symbol.toLowerCase().includes(search.toLowerCase()))
|
|
53
|
+
return;
|
|
54
|
+
return _jsx(TokenCard, { token: token, onSelect: onSelect, hot: hot, wallet: wallet }, token.id);
|
|
55
|
+
})] }));
|
|
56
|
+
}
|
|
57
|
+
let used = new Set();
|
|
58
|
+
return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: "Select token" }), children: [_jsx(SearchInput, { type: "text", placeholder: "Search token", onChange: (e) => setSearch(e.target.value) }), hot.walletsTokens
|
|
59
|
+
.filter(({ token, balance }) => {
|
|
60
|
+
if (token.chain !== Network.Hot)
|
|
61
|
+
return false;
|
|
62
|
+
if (token.float(balance) < 0.0001)
|
|
63
|
+
return false;
|
|
64
|
+
if (!token.symbol.toLowerCase().includes(search.toLowerCase()))
|
|
65
|
+
return false;
|
|
66
|
+
used.add(token.address);
|
|
67
|
+
return true;
|
|
68
|
+
})
|
|
69
|
+
.sort((a, b) => {
|
|
70
|
+
const aBalance = a.token.float(a.balance) * a.token.usd;
|
|
71
|
+
const bBalance = b.token.float(b.balance) * b.token.usd;
|
|
72
|
+
return bBalance - aBalance;
|
|
73
|
+
})
|
|
74
|
+
.map(({ token, wallet }) => (_jsx(TokenCard, { token: token, onSelect: onSelect, hot: hot, wallet: wallet }, token.id))), Object.values(OmniToken)
|
|
75
|
+
.filter((token) => !used.has(token))
|
|
76
|
+
.map((token) => (_jsx(TokenCard, { token: hot.omni(token), onSelect: onSelect, hot: hot, wallet: hot.priorityWallet }, token)))] }));
|
|
77
|
+
});
|
|
78
|
+
const SearchInput = styled.input `
|
|
79
|
+
width: 100%;
|
|
80
|
+
padding: 12px 16px;
|
|
81
|
+
border-radius: 16px;
|
|
82
|
+
border: 1px solid #282c30;
|
|
83
|
+
background: #282c30;
|
|
84
|
+
color: #fff;
|
|
85
|
+
outline: none;
|
|
86
|
+
font-size: 20px;
|
|
87
|
+
font-weight: 500;
|
|
88
|
+
line-height: 24px;
|
|
89
|
+
letter-spacing: -0.32px;
|
|
90
|
+
text-align: left;
|
|
91
|
+
margin-bottom: 8px;
|
|
92
|
+
`;
|
|
93
|
+
//# sourceMappingURL=SelectToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectToken.js","sourceRoot":"","sources":["../../../src/ui/bridge/SelectToken.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Token } from "../../core/token";
|
|
2
|
+
import { HotConnector } from "../../HotConnector";
|
|
3
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
4
|
+
export declare const TokenIcon: (({ token, wallet, withoutChain, size }: {
|
|
5
|
+
token: Token;
|
|
6
|
+
wallet?: OmniWallet;
|
|
7
|
+
withoutChain?: boolean;
|
|
8
|
+
size?: number;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const TokenCard: (({ token, onSelect, amount, hot, wallet, rightControl }: {
|
|
13
|
+
rightControl?: React.ReactNode;
|
|
14
|
+
token: Token;
|
|
15
|
+
onSelect?: (token: Token, wallet?: OmniWallet) => void;
|
|
16
|
+
amount?: bigint;
|
|
17
|
+
hot: HotConnector;
|
|
18
|
+
wallet?: OmniWallet;
|
|
19
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import styled from "styled-components";
|
|
4
|
+
import { chains } from "../../core/chains";
|
|
5
|
+
import { formatter } from "../../core/utils";
|
|
6
|
+
import { ImageView } from "../uikit/image";
|
|
7
|
+
export const TokenIcon = observer(({ token, wallet, withoutChain, size = 40 }) => {
|
|
8
|
+
return (_jsxs("div", { style: { position: "relative", width: size, height: size, flexShrink: 0 }, children: [_jsx(ImageView, { src: token.icon, alt: token.symbol, size: size }), !withoutChain && _jsx(ImageView, { src: token.chainIcon, alt: token.symbol, size: size / 2 - 6, style: { position: "absolute", bottom: 0, right: 0 } }), token.chain === -4 && wallet?.type && _jsx(ImageView, { src: wallet.icon, alt: chains.getByType(wallet.type)?.[0]?.name || "", size: size / 2 - 6, style: { position: "absolute", bottom: 0, left: 0 } })] }));
|
|
9
|
+
});
|
|
10
|
+
export const TokenCard = observer(({ token, onSelect, amount, hot, wallet, rightControl }) => {
|
|
11
|
+
const balance = amount || hot.balance(wallet, token);
|
|
12
|
+
const symbol = token.chain === -4 && !token.isMainOmni ? `${token.symbol} (${token.originalChainSymbol})` : token.symbol;
|
|
13
|
+
return (_jsxs(Card, { onClick: () => onSelect?.(token, wallet), children: [_jsx(TokenIcon, { token: token, wallet: wallet }), _jsxs(TokenWrap, { children: [_jsx(Text, { style: { textAlign: "left" }, children: symbol }), _jsxs(PSmall, { style: { textAlign: "left" }, children: ["$", formatter.amount(token.usd)] })] }), rightControl || (_jsxs(TokenWrap, { style: { textAlign: "right", paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx(Text, { children: token.readable(balance) }), _jsxs(PSmall, { children: ["$", token.readable(balance, token.usd)] })] }))] }, token.id));
|
|
14
|
+
});
|
|
15
|
+
const Card = styled.div `
|
|
16
|
+
display: flex;
|
|
17
|
+
padding: 12px;
|
|
18
|
+
padding-bottom: 10px;
|
|
19
|
+
gap: 10px;
|
|
20
|
+
border-radius: 16px;
|
|
21
|
+
border: 1px solid #323232;
|
|
22
|
+
background: #272727;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
transition: background 0.2s ease-in-out;
|
|
25
|
+
width: 100%;
|
|
26
|
+
align-items: center;
|
|
27
|
+
|
|
28
|
+
&:hover {
|
|
29
|
+
background: rgba(255, 255, 255, 0.04);
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
const PSmall = styled.p `
|
|
33
|
+
color: #bfbfbf;
|
|
34
|
+
font-family: "Golos Text";
|
|
35
|
+
font-size: 12px;
|
|
36
|
+
font-style: normal;
|
|
37
|
+
line-height: 16px;
|
|
38
|
+
letter-spacing: -0.12px;
|
|
39
|
+
text-align: left;
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
`;
|
|
42
|
+
const Text = styled.p `
|
|
43
|
+
color: #fff;
|
|
44
|
+
text-align: right;
|
|
45
|
+
font-family: "Golos Text";
|
|
46
|
+
font-size: 16px;
|
|
47
|
+
font-style: normal;
|
|
48
|
+
line-height: 22px;
|
|
49
|
+
letter-spacing: -0.16px;
|
|
50
|
+
font-weight: bold;
|
|
51
|
+
`;
|
|
52
|
+
const TokenWrap = styled.div `
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
gap: 2px;
|
|
56
|
+
margin-top: -1px;
|
|
57
|
+
|
|
58
|
+
&,
|
|
59
|
+
p {
|
|
60
|
+
white-space: nowrap;
|
|
61
|
+
overflow: hidden;
|
|
62
|
+
text-overflow: ellipsis;
|
|
63
|
+
}
|
|
64
|
+
`;
|
|
65
|
+
//# sourceMappingURL=TokenCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenCard.js","sourceRoot":"","sources":["../../../src/ui/bridge/TokenCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import Popup, { present } from "../Popup";
|
|
4
|
+
import { PopupButton } from "../styles";
|
|
5
|
+
const Loader = () => {
|
|
6
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid", width: "48", height: "48", style: { shapeRendering: "auto", display: "block", background: "transparent" }, children: _jsx("circle", { strokeDasharray: "75.39822368615503 27.132741228718345", r: "16", strokeWidth: "4", stroke: "#000", fill: "none", cy: "50", cx: "50", children: _jsx("animateTransform", { keyTimes: "0;1", values: "0 50 50;360 50 50", dur: "1.408450704225352s", repeatCount: "indefinite", type: "rotate", attributeName: "transform" }) }) }));
|
|
7
|
+
};
|
|
8
|
+
const AuthIntentPopupComponent = ({ wallet, onApprove, onReject }) => {
|
|
9
|
+
const [loading, setLoading] = useState(false);
|
|
10
|
+
const handleApprove = async () => {
|
|
11
|
+
try {
|
|
12
|
+
setLoading(true);
|
|
13
|
+
await onApprove();
|
|
14
|
+
setLoading(false);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
setLoading(false);
|
|
18
|
+
throw e;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return (_jsxs(Popup, { header: _jsx("p", { children: "Authorize wallet" }), onClose: onReject, children: [_jsx("p", { style: { textAlign: "center", color: "#fff" }, children: "To verify your account, you need to sign a message, this action is safe, the platform does not have access to your assets." }), _jsx(PopupButton, { disabled: loading, onClick: handleApprove, style: {
|
|
22
|
+
marginTop: "16px",
|
|
23
|
+
display: "flex",
|
|
24
|
+
alignItems: "center",
|
|
25
|
+
justifyContent: "center",
|
|
26
|
+
height: "48px",
|
|
27
|
+
opacity: loading ? 0.5 : 1,
|
|
28
|
+
}, children: loading ? _jsx(Loader, {}) : "Sign message" })] }));
|
|
29
|
+
};
|
|
30
|
+
export const openAuthPopup = (wallet, then) => {
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
present((close) => {
|
|
33
|
+
return (_jsx(AuthIntentPopupComponent, { wallet: wallet, onReject: () => (close(), reject()), onApprove: async () => {
|
|
34
|
+
try {
|
|
35
|
+
const result = await then();
|
|
36
|
+
resolve(result);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
reject(e);
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
close();
|
|
43
|
+
}
|
|
44
|
+
} }));
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=AuthPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthPopup.js","sourceRoot":"","sources":["../../../src/ui/connect/AuthPopup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
2
|
+
import { HotConnector } from "../../HotConnector";
|
|
3
|
+
import { WalletType } from "../../core";
|
|
4
|
+
interface MultichainPopupProps {
|
|
5
|
+
hot: HotConnector;
|
|
6
|
+
onClose: (wallet?: OmniWallet) => void;
|
|
7
|
+
title?: string;
|
|
8
|
+
walletType?: WalletType;
|
|
9
|
+
widget?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const Connector: (({ hot, onClose, title, walletType, widget }: MultichainPopupProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { ConnectorType } from "../../OmniConnector";
|
|
4
|
+
import { formatter } from "../../core/utils";
|
|
5
|
+
import { openWalletPicker } from "../router";
|
|
6
|
+
import { PopupOption, PopupOptionInfo } from "../styles";
|
|
7
|
+
import { LogoutIcon } from "../icons/logout";
|
|
8
|
+
import { ImageView } from "../uikit/image";
|
|
9
|
+
import Popup from "../Popup";
|
|
10
|
+
export const Connector = observer(({ hot, onClose, title, walletType, widget }) => {
|
|
11
|
+
const onechain = hot.connectors.filter((t) => t.type === ConnectorType.WALLET && (walletType == null || t.walletTypes.includes(walletType)));
|
|
12
|
+
const social = hot.connectors.filter((t) => t.type === ConnectorType.SOCIAL && (walletType == null || t.walletTypes.includes(walletType)));
|
|
13
|
+
const selectConnector = async (t) => {
|
|
14
|
+
if (t.wallets[0])
|
|
15
|
+
return t.disconnect();
|
|
16
|
+
if (t.options.length > 0)
|
|
17
|
+
return openWalletPicker(t, (w) => onClose(w));
|
|
18
|
+
await t.connect().finally(() => onClose());
|
|
19
|
+
};
|
|
20
|
+
return (_jsxs(Popup, { header: _jsx("p", { children: title || "Connect wallet" }), onClose: onClose, widget: widget, children: [onechain.map((t) => (_jsxs(PopupOption, { onClick: () => selectConnector(t), children: [_jsx(ImageView, { src: t.icon, alt: t.name, size: 44 }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { children: t.name }), t.wallets[0]?.address && _jsx("span", { className: "wallet-address", children: formatter.truncateAddress(t.wallets[0].address, 24) })] }), t.wallets[0]?.address && _jsx(LogoutIcon, { width: 32, height: 32 })] }, t.id))), social.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("div", { style: { margin: "4px 0", display: "flex", width: "100%", alignItems: "center", justifyContent: "center", gap: "8px" }, children: [_jsx("div", { style: { height: "1px", flex: 1, background: "rgba(255,255,255,0.1)" } }), _jsx("div", { children: "or" }), _jsx("div", { style: { height: "1px", flex: 1, background: "rgba(255,255,255,0.1)" } })] }), social.map((t) => (_jsxs(PopupOption, { onClick: () => selectConnector(t), children: [_jsx(ImageView, { src: t.icon, alt: t.name, size: 44 }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { children: t.name }), t.wallets[0]?.address && _jsx("span", { className: "wallet-address", children: "Multichain connected" })] }), t.wallets[0]?.address && _jsx(LogoutIcon, { width: 32, height: 32 })] }, t.id)))] }))] }));
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=ConnectWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectWallet.js","sourceRoot":"","sources":["../../../src/ui/connect/ConnectWallet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OmniConnector } from "../../OmniConnector";
|
|
2
|
+
interface LogoutPopupProps {
|
|
3
|
+
connector: OmniConnector;
|
|
4
|
+
onApprove: () => void;
|
|
5
|
+
onReject: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const LogoutPopup: (({ connector, onApprove, onReject }: LogoutPopupProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import Popup from "../Popup";
|
|
4
|
+
import { PopupButton } from "../styles";
|
|
5
|
+
export const LogoutPopup = observer(({ connector, onApprove, onReject }) => {
|
|
6
|
+
return (_jsxs(Popup, { header: _jsxs("p", { children: ["Disconnect ", connector.name] }), onClose: onReject, children: [_jsx("p", { style: { textAlign: "center", color: "#fff" }, children: "Your local session will be cleared, see you there!" }), _jsx(PopupButton, { onClick: onApprove, children: "Bye-bye" })] }));
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=LogoutPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogoutPopup.js","sourceRoot":"","sources":["../../../src/ui/connect/LogoutPopup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAoB,EAAE,EAAE;IAC3F,OAAO,CACL,MAAC,KAAK,IAAC,MAAM,EAAE,uCAAe,SAAS,CAAC,IAAI,IAAK,EAAE,OAAO,EAAE,QAAQ,aAClE,YAAG,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,mEAAwD,EACxG,KAAC,WAAW,IAAC,OAAO,EAAE,SAAS,wBAAuB,IAChD,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import Popup from "../Popup";
|
|
4
|
+
import { PopupButton } from "../styles";
|
|
5
|
+
import { Connector } from "./ConnectWallet";
|
|
6
|
+
import { chains, WalletType } from "../../core";
|
|
7
|
+
const ConnectPrimaryWallet = ({ hot, onClose }) => {
|
|
8
|
+
const [openConnect, setOpenConnect] = useState(false);
|
|
9
|
+
return (_jsx(Popup, { onClose: onClose, header: _jsx("p", { children: "Connect main wallet" }), children: openConnect ? (_jsx(Connector, { widget: true, walletType: WalletType.OMNI, hot: hot, onClose: onClose })) : (_jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", width: "100%", height: 300 }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", gap: 24, marginTop: 48 }, children: [_jsx(WalletIcon, {}), _jsx(BindIcon, {}), _jsx("img", { src: chains.get(-4).logo, style: { marginLeft: -4, width: 64, height: 64, borderRadius: "50%" } })] }), _jsx("p", { style: { marginTop: 24, fontSize: 20, fontWeight: "bold" }, children: "Connect your primary wallet" }), _jsx("p", { style: { marginTop: 8, fontSize: 16, color: "#c6c6c6" }, children: "Your HEX Balance will be tied to this wallet." }), _jsx(PopupButton, { style: { marginTop: "auto" }, onClick: () => setOpenConnect(true), children: "Connect wallet" })] })) }));
|
|
10
|
+
};
|
|
11
|
+
const WalletIcon = () => {
|
|
12
|
+
return (_jsxs("svg", { width: "56", height: "56", viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M45.333 6C48.6467 6 51.333 8.68629 51.333 12V15.333H52C55.3136 15.333 57.9998 18.0195 58 21.333V30.1826C60.191 31.2759 62 33.3016 62 35.5244V39.333C62 41.9566 60.3157 44.1858 57.9697 45.001C57.9878 45.1091 58 45.2197 58 45.333V53.333C58 56.6467 55.3137 59.333 52 59.333H12C8.68629 59.333 6 56.6467 6 53.333V12C6 8.68629 8.68629 6 12 6H45.333ZM10 53.333C10 54.4376 10.8954 55.333 12 55.333H52C53.1046 55.333 54 54.4376 54 53.333V45.333C54 45.2208 54.0115 45.1111 54.0293 45.0039L48 44C43.9499 44 41.333 42.0501 41.333 38C41.333 33.9499 43.9499 30.667 48 30.667L54 29.4658V21.333C53.9998 20.2286 53.1045 19.333 52 19.333H10V53.333ZM48 33.333C46.159 33.333 44 36.1591 44 38C44 39.8409 46.159 41.333 48 41.333H56C57.1046 41.333 58 40.4376 58 39.333V36.667C58 35.9442 57.0444 34.7412 56.0752 33.9951C56.0502 33.996 56.0252 34 56 34C55.4082 34 54.8779 33.7416 54.5117 33.333H48ZM12 10C10.8954 10 10 10.8954 10 12V15.333H47.333V12C47.333 10.8954 46.4376 10 45.333 10H12Z", fill: "#EBDEDC" }), _jsx("path", { d: "M42.9756 6.00781C46.1457 6.16859 48.667 8.7899 48.667 12V15.333H49.333C52.6466 15.333 55.3328 18.0195 55.333 21.333V30.0371C58.3331 30.3686 60.667 32.9115 60.667 36V38.667C60.6668 41.7553 58.3329 44.2973 55.333 44.6289V50.667C55.3328 53.9806 52.6466 56.667 49.333 56.667H12C8.6864 56.667 6.00018 53.9805 6 50.667V12C6 8.68629 8.6863 6 12 6H42.667L42.9756 6.00781ZM10 50.667C10.0002 51.7714 10.8955 52.667 12 52.667H49.333C50.4375 52.667 51.3328 51.7714 51.333 50.667V44.667H48C43.9501 44.6668 40.667 41.383 40.667 37.333C40.6672 33.2832 43.9502 30.0002 48 30H51.333V21.333C51.3328 20.2286 50.4375 19.333 49.333 19.333H10V50.667ZM48 34C46.1593 34.0002 44.6672 35.4923 44.667 37.333C44.667 39.1738 46.1592 40.6668 48 40.667H54.667C55.7713 40.6668 56.6668 39.7713 56.667 38.667V36C56.667 34.8955 55.7714 34.0002 54.667 34H48ZM12 10C10.8954 10 10 10.8954 10 12V15.333H44.667V12C44.667 10.9645 43.8796 10.1132 42.8711 10.0107L42.667 10H12Z", fill: "#EBDEDC" })] }));
|
|
13
|
+
};
|
|
14
|
+
const BindIcon = () => {
|
|
15
|
+
return (_jsxs("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M10.5552 12.5981C12.2474 10.9059 14.9908 10.9059 16.6831 12.5981L17.6597 13.5737C18.0501 13.9641 18.0499 14.5972 17.6597 14.9878C17.2691 15.3778 16.636 15.3781 16.2456 14.9878L15.269 14.0122C14.3578 13.101 12.8805 13.101 11.9692 14.0122L5.3501 20.6313C4.43935 21.5426 4.43903 23.0201 5.3501 23.9312L7.30225 25.8833C8.21331 26.7944 9.69079 26.794 10.6021 25.8833L13.5786 22.9077C13.9691 22.5172 14.6022 22.5172 14.9927 22.9077C15.383 23.2983 15.3831 23.9313 14.9927 24.3218L12.0161 27.2974C10.3238 28.9892 7.5803 28.9895 5.88818 27.2974L3.93604 25.3452C2.24392 23.6531 2.24424 20.9096 3.93604 19.2173L10.5552 12.5981ZM19.2153 3.97217C20.9038 2.25827 23.6655 2.24848 25.3667 3.94971L27.3013 5.88428C28.9935 7.57655 28.9935 10.3199 27.3013 12.0122L20.6821 18.6313C18.9898 20.3231 16.2463 20.3235 14.5542 18.6313L13.5776 17.6558C13.1874 17.2655 13.1879 16.6323 13.5776 16.2417C13.9682 15.8512 14.6012 15.8512 14.9917 16.2417L15.9683 17.2173C16.8793 18.1283 18.3568 18.128 19.2681 17.2173L25.8872 10.5981C26.7984 9.68692 26.7984 8.20956 25.8872 7.29834L23.9526 5.36377C23.0366 4.44774 21.5493 4.45268 20.6401 5.37549L16.7114 9.36377C16.3238 9.75672 15.6906 9.76194 15.2974 9.37451C14.9042 8.98707 14.8995 8.35389 15.2866 7.96045L19.2153 3.97217Z", fill: "#EBDEDC" }), _jsx("path", { d: "M10.5571 12.6016C12.2494 10.9094 14.9928 10.9093 16.6851 12.6016L17.6616 13.5771C18.0517 13.9675 18.0516 14.6008 17.6616 14.9912C17.2712 15.3816 16.6381 15.3814 16.2476 14.9912L15.271 14.0156C14.3598 13.1044 12.8824 13.1045 11.9712 14.0156L5.35205 20.6348C4.44083 21.546 4.44083 23.0233 5.35205 23.9346L8.03174 26.6143C8.9261 27.5083 10.3702 27.5276 11.2876 26.6572L13.6665 24.3984C13.637 24.375 13.6079 24.3505 13.5806 24.3232C13.1901 23.9327 13.1901 23.2997 13.5806 22.9092C14.1232 22.3666 14.8184 22.1462 15.4761 22.332C16.0272 22.488 16.6206 22.997 16.6206 23.7529C16.6206 23.7809 16.618 23.8085 16.6157 23.8359C16.6413 24.1291 16.539 24.4311 16.3091 24.6494L12.6646 28.1084C10.9608 29.7249 8.27866 29.6897 6.61768 28.0293L3.93799 25.3486C2.24572 23.6564 2.24572 20.913 3.93799 19.2207L10.5571 12.6016ZM19.2183 3.97266C20.9066 2.25916 23.6684 2.24938 25.3696 3.9502L28.1753 6.75586C29.8672 8.44789 29.868 11.1914 28.1763 12.8838L21.5581 19.5039C19.8663 21.1962 17.1218 21.1964 15.4292 19.5049L13.9614 18.0371C13.5709 17.6467 13.571 17.0136 13.9614 16.623C14.3519 16.2329 14.985 16.2327 15.3755 16.623L16.8433 18.0908C17.7547 19.0015 19.2321 19.001 20.1431 18.0898L26.7622 11.4697C27.6729 10.5585 27.6721 9.08097 26.7612 8.16992L23.9556 5.36426C23.0395 4.44844 21.5522 4.45431 20.6431 5.37695L16.7134 9.36523C16.3259 9.75836 15.6927 9.76319 15.2993 9.37598C14.906 8.98837 14.902 8.35531 15.2896 7.96191L19.2183 3.97266Z", fill: "#EBDEDC" })] }));
|
|
16
|
+
};
|
|
17
|
+
export default ConnectPrimaryWallet;
|
|
18
|
+
//# sourceMappingURL=PrimaryWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimaryWallet.js","sourceRoot":"","sources":["../../../src/ui/connect/PrimaryWallet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,oBAAoB,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAA8C,EAAE,EAAE;IAC5F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,8CAA0B,YACxD,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAI,CACrF,CAAC,CAAC,CAAC,CACF,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAClI,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,aACrG,KAAC,UAAU,KAAG,EACd,KAAC,QAAQ,KAAG,EACZ,cAAK,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAI,IACpG,EAEN,YAAG,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,4CAAiC,EAC9F,YAAG,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,8DAAmD,EAE7G,KAAC,WAAW,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,+BAEhE,IACV,CACP,GACK,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,OAAO,CACL,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAC5F,eACE,CAAC,EAAC,q8BAAq8B,EACv8B,IAAI,EAAC,SAAS,GACd,EACF,eACE,CAAC,EAAC,w6BAAw6B,EAC16B,IAAI,EAAC,SAAS,GACd,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,OAAO,CACL,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAC5F,eACE,CAAC,EAAC,0tCAA0tC,EAC5tC,IAAI,EAAC,SAAS,GACd,EACF,eACE,CAAC,EAAC,g5CAAg5C,EACl5C,IAAI,EAAC,SAAS,GACd,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface WCPopupProps {
|
|
2
|
+
title: string;
|
|
3
|
+
uri: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
deeplink?: string;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const WCPopup: (({ title, uri, icon, deeplink, onClose }: WCPopupProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const QrCode: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
|
+
export declare const CopyButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { observer } from "mobx-react-lite";
|
|
4
|
+
import QRCodeStyling from "qr-code-styling";
|
|
5
|
+
import styled from "styled-components";
|
|
6
|
+
import Popup from "../Popup";
|
|
7
|
+
import { WC_ICON } from "../../OmniConnector";
|
|
8
|
+
export const WCPopup = observer(({ title, uri, icon, deeplink, onClose }) => {
|
|
9
|
+
const [copyText, setCopyText] = useState("Copy Link");
|
|
10
|
+
const [iconUrl, setIconUrl] = useState(WC_ICON);
|
|
11
|
+
const qrCodeRef = useRef(null);
|
|
12
|
+
const [qrCode] = useState(new QRCodeStyling({
|
|
13
|
+
data: uri,
|
|
14
|
+
dotsOptions: { color: "#eeeeee", type: "dots" },
|
|
15
|
+
backgroundOptions: { color: "transparent" },
|
|
16
|
+
shape: "square",
|
|
17
|
+
width: 340,
|
|
18
|
+
height: 340,
|
|
19
|
+
type: "svg",
|
|
20
|
+
}));
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
qrCode.update({ data: uri });
|
|
23
|
+
qrCode.append(qrCodeRef.current);
|
|
24
|
+
}, [uri, qrCode]);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!iconUrl)
|
|
27
|
+
return;
|
|
28
|
+
qrCode.update({ image: iconUrl, imageOptions: { margin: 8, imageSize: 0.2 } });
|
|
29
|
+
}, [iconUrl]);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
fetch(icon || WC_ICON)
|
|
32
|
+
.then((res) => res.blob())
|
|
33
|
+
.then(() => setIconUrl(icon || WC_ICON));
|
|
34
|
+
}, [icon]);
|
|
35
|
+
const handleCopy = async () => {
|
|
36
|
+
if (uri && uri !== "LOADING") {
|
|
37
|
+
await navigator.clipboard.writeText(uri);
|
|
38
|
+
setCopyText("Link Copied");
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
setCopyText("Copy Link");
|
|
41
|
+
}, 2000);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return (_jsx(Popup, { header: _jsx("p", { children: title }), onClose: onClose, children: _jsxs("div", { style: { width: "100%", display: "flex", flexDirection: "column", alignItems: "center", gap: 16 }, children: [_jsx("div", { ref: qrCodeRef, style: { width: 340, height: 340 } }), _jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", gap: 8 }, children: [_jsxs(CopyButton, { onClick: handleCopy, children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "currentColor", className: "bi bi-copy", viewBox: "0 0 16 16", children: _jsx("path", { fillRule: "evenodd", d: "M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z" }) }), _jsx("p", { children: copyText })] }), !!deeplink && (_jsx(CopyButton, { onClick: () => window.open(deeplink, "_blank"), children: _jsxs("p", { children: ["Open in ", title] }) }))] })] }) }));
|
|
45
|
+
});
|
|
46
|
+
export const QrCode = styled.div `
|
|
47
|
+
background: url("https://app.hot-labs.org/assets/QR.svg") center center / cover no-repeat;
|
|
48
|
+
position: relative;
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
margin: 0 auto;
|
|
53
|
+
width: 400px;
|
|
54
|
+
height: 400px;
|
|
55
|
+
flex-shrink: 0;
|
|
56
|
+
|
|
57
|
+
canvas {
|
|
58
|
+
transform: translate(1px, 22px);
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
export const CopyButton = styled.div `
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
gap: 8px;
|
|
66
|
+
border: 1px solid #505357;
|
|
67
|
+
transition: background 0.2s ease-in-out;
|
|
68
|
+
background: #282c30;
|
|
69
|
+
padding: 8px;
|
|
70
|
+
border-radius: 16px;
|
|
71
|
+
font-size: 14px;
|
|
72
|
+
font-weight: 500;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
margin: auto;
|
|
75
|
+
flex-shrink: 0;
|
|
76
|
+
|
|
77
|
+
&:hover {
|
|
78
|
+
background: #383c40;
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
//# sourceMappingURL=WCPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WCPopup.js","sourceRoot":"","sources":["../../../src/ui/connect/WCPopup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { useEffect } from "react";
|
|
4
|
+
import { ImageView } from "../uikit/image";
|
|
5
|
+
import { PopupButton } from "../styles";
|
|
6
|
+
import Popup from "../Popup";
|
|
7
|
+
export const WCRequest = observer(({ deeplink, name, icon, onClose, task }) => {
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
task.finally(onClose);
|
|
10
|
+
}, [task]);
|
|
11
|
+
return (_jsx(Popup, { onClose: onClose, children: _jsxs("div", { style: { width: "100%", display: "flex", flexDirection: "column", alignItems: "center", gap: 16 }, children: [_jsx(ImageView, { style: { marginTop: 32 }, src: icon, alt: name, size: 100 }), _jsx("p", { style: { fontSize: 24, fontWeight: "bold" }, children: name }), _jsxs("p", { style: { fontSize: 16, color: "rgba(255, 255, 255, 0.7)" }, children: ["Application request you", _jsx("br", {}), "to approve some action in your wallet"] }), !!deeplink && _jsx(PopupButton, { onClick: () => window.open(deeplink, "_blank"), children: "Open wallet" })] }) }));
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=WCRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WCRequest.js","sourceRoot":"","sources":["../../../src/ui/connect/WCRequest.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA8F,EAAE,EAAE;IACxK,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,YACrB,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,aACpG,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAI,EACxE,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAG,IAAI,GAAK,EAC1D,aAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,wCAE3D,cAAM,6CAEJ,EAEH,CAAC,CAAC,QAAQ,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,4BAA2B,IACjG,GACA,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
2
|
+
import { OmniConnector } from "../../OmniConnector";
|
|
3
|
+
interface WalletPickerProps {
|
|
4
|
+
initialConnector: OmniConnector | null;
|
|
5
|
+
onSelect?: (wallet: OmniWallet) => void;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const WalletPicker: (({ initialConnector, onSelect, onClose }: WalletPickerProps) => import("react/jsx-runtime").JSX.Element | undefined) & {
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
export {};
|