@hot-labs/kit 1.2.0-alpha.1 → 1.2.0-alpha.2
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/build/HotConnector.d.ts +104 -0
- package/build/HotConnector.js +306 -0
- package/build/HotConnector.js.map +1 -0
- package/build/OmniConnector.d.ts +85 -0
- package/build/OmniConnector.js +121 -0
- package/build/OmniConnector.js.map +1 -0
- package/build/OmniWallet.d.ts +42 -0
- package/build/OmniWallet.js +61 -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 +90 -0
- package/build/core/Intents.js +398 -0
- package/build/core/Intents.js.map +1 -0
- package/build/core/api.d.ts +32 -0
- package/build/core/api.js +75 -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/nearRpc.d.ts +24 -0
- package/build/core/nearRpc.js +167 -0
- package/build/core/nearRpc.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/token.d.ts +36 -0
- package/build/core/token.js +103 -0
- package/build/core/token.js.map +1 -0
- package/build/core/tokens.d.ts +14 -0
- package/build/core/tokens.js +59 -0
- package/build/core/tokens.js.map +1 -0
- package/build/core/types.d.ts +43 -0
- package/build/core/types.js +2 -0
- package/build/core/types.js.map +1 -0
- package/build/core/utils.d.ts +24 -0
- package/build/core/utils.js +150 -0
- package/build/core/utils.js.map +1 -0
- package/build/cosmos/connector.d.ts +36 -0
- package/build/cosmos/connector.js +215 -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 +28 -0
- package/build/cosmos/wallet.js +56 -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 +28 -0
- package/build/evm/connector.js +114 -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 +41 -0
- package/build/evm/wallet.js +128 -0
- package/build/evm/wallet.js.map +1 -0
- package/build/exchange.d.ts +65 -0
- package/build/exchange.js +390 -0
- package/build/exchange.js.map +1 -0
- package/build/hot-wallet/google.d.ts +25 -0
- package/build/hot-wallet/google.js +112 -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 +5 -0
- package/build/index.js +6 -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/wallet.d.ts +55 -0
- package/build/near/wallet.js +195 -0
- package/build/near/wallet.js.map +1 -0
- package/build/solana/connector.d.ts +30 -0
- package/build/solana/connector.js +138 -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/protocol.d.ts +25 -0
- package/build/solana/protocol.js +56 -0
- package/build/solana/protocol.js.map +1 -0
- package/build/solana/wallet.d.ts +42 -0
- package/build/solana/wallet.js +190 -0
- package/build/solana/wallet.js.map +1 -0
- package/build/solana/wallets.d.ts +102 -0
- package/build/solana/wallets.js +150 -0
- package/build/solana/wallets.js.map +1 -0
- package/build/stellar/connector.d.ts +31 -0
- package/build/stellar/connector.js +67 -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 +65 -0
- package/build/stellar/wallet.js +216 -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 +25 -0
- package/build/ton/connector.js +114 -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 +55 -0
- package/build/ton/wallet.js +139 -0
- package/build/ton/wallet.js.map +1 -0
- package/build/ui/Popup.d.ts +12 -0
- package/build/ui/Popup.js +39 -0
- package/build/ui/Popup.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 +9 -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/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 +1 -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 +6 -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/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/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/payment/Bridge.d.ts +29 -0
- package/build/ui/payment/Bridge.js +358 -0
- package/build/ui/payment/Bridge.js.map +1 -0
- package/build/ui/payment/DepositQR.d.ts +9 -0
- package/build/ui/payment/DepositQR.js +56 -0
- package/build/ui/payment/DepositQR.js.map +1 -0
- package/build/ui/payment/Payment.d.ts +16 -0
- package/build/ui/payment/Payment.js +50 -0
- package/build/ui/payment/Payment.js.map +1 -0
- package/build/ui/payment/Profile.d.ts +8 -0
- package/build/ui/payment/Profile.js +110 -0
- package/build/ui/payment/Profile.js.map +1 -0
- package/build/ui/payment/SelectRecipient.d.ts +14 -0
- package/build/ui/payment/SelectRecipient.js +68 -0
- package/build/ui/payment/SelectRecipient.js.map +1 -0
- package/build/ui/payment/SelectSender.d.ts +13 -0
- package/build/ui/payment/SelectSender.js +23 -0
- package/build/ui/payment/SelectSender.js.map +1 -0
- package/build/ui/payment/SelectToken.d.ts +13 -0
- package/build/ui/payment/SelectToken.js +92 -0
- package/build/ui/payment/SelectToken.js.map +1 -0
- package/build/ui/payment/TokenCard.d.ts +23 -0
- package/build/ui/payment/TokenCard.js +63 -0
- package/build/ui/payment/TokenCard.js.map +1 -0
- package/build/ui/router.d.ts +37 -0
- package/build/ui/router.js +56 -0
- package/build/ui/router.js.map +1 -0
- package/build/ui/styles.d.ts +13 -0
- package/build/ui/styles.js +288 -0
- package/build/ui/styles.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,110 @@
|
|
|
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 { useEffect } from "react";
|
|
5
|
+
import { LogoutIcon } from "../icons/logout";
|
|
6
|
+
import { openBridge, openConnector } from "../router";
|
|
7
|
+
import { formatter } from "../../core/utils";
|
|
8
|
+
import { tokens } from "../../core/tokens";
|
|
9
|
+
import Popup from "../Popup";
|
|
10
|
+
import { ImageView, TokenCard, TokenIcon } from "./TokenCard";
|
|
11
|
+
import ExchangeIcon from "../icons/exchange";
|
|
12
|
+
import { PopupOption } from "../styles";
|
|
13
|
+
export const Loader = styled.div `
|
|
14
|
+
border: 4px solid #2a2a2a;
|
|
15
|
+
border-top: 4px solid #fff;
|
|
16
|
+
border-radius: 50%;
|
|
17
|
+
width: 24px;
|
|
18
|
+
height: 24px;
|
|
19
|
+
animation: spin 0.9s linear infinite;
|
|
20
|
+
margin: 0 auto;
|
|
21
|
+
|
|
22
|
+
@keyframes spin {
|
|
23
|
+
0% {
|
|
24
|
+
transform: rotate(0deg);
|
|
25
|
+
}
|
|
26
|
+
100% {
|
|
27
|
+
transform: rotate(360deg);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
export const Profile = observer(({ hot, onClose }) => {
|
|
32
|
+
let totalBalance = 0;
|
|
33
|
+
const tokensList = hot.wallets
|
|
34
|
+
.flatMap((wallet) => {
|
|
35
|
+
return tokens.list.map((token) => ({ token, wallet, balance: hot.balance(wallet, token) }));
|
|
36
|
+
})
|
|
37
|
+
.sort((a, b) => {
|
|
38
|
+
const balanceA = a.token.float(a.balance) * a.token.usd;
|
|
39
|
+
const balanceB = b.token.float(b.balance) * b.token.usd;
|
|
40
|
+
return balanceB - balanceA;
|
|
41
|
+
})
|
|
42
|
+
.map(({ token, wallet, balance }) => {
|
|
43
|
+
if (token.float(balance) < 0.000001)
|
|
44
|
+
return null;
|
|
45
|
+
totalBalance += token.float(balance) * token.usd;
|
|
46
|
+
return {
|
|
47
|
+
chain: token.chain,
|
|
48
|
+
component: (_jsx(TokenCard //
|
|
49
|
+
, { onSelect: () => {
|
|
50
|
+
if (token.chain === -4)
|
|
51
|
+
hot.withdraw(token.address, +token.float(balance).toFixed(6), { sender: wallet });
|
|
52
|
+
else
|
|
53
|
+
openBridge(hot, { title: "Exchange", sender: wallet, from: token });
|
|
54
|
+
}, wallet: wallet, token: token, hot: hot }, `${wallet.type}:${wallet.address}:${token.id}`)),
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (hot.wallets.length > 0)
|
|
59
|
+
return;
|
|
60
|
+
onClose();
|
|
61
|
+
}, [hot.wallets.length]);
|
|
62
|
+
return (_jsxs(Popup, { onClose: onClose, children: [_jsxs("div", { style: { display: "flex", flexWrap: "wrap", width: "100%", gap: 8 }, children: [hot.wallets.map((wallet) => (_jsxs(WalletCard, { onClick: () => wallet.disconnect(), children: [_jsx(ImageView, { src: wallet.icon, alt: wallet.connector.name, size: 20 }), _jsx("div", { children: formatter.truncateAddress(wallet.address, 8) }), _jsx(LogoutIcon, { width: 20, height: 20 })] }))), hot.wallets.length < 6 && (_jsx(WalletCard, { style: { paddingLeft: 12, paddingRight: 12 }, onClick: () => openConnector(hot), children: "Add wallet" }))] }), _jsxs("div", { style: { display: "flex", alignItems: "center", width: "100%", gap: 8, marginTop: 16 }, children: [_jsxs(BalanceCard, { children: ["$", formatter.amount(totalBalance)] }), _jsx(ExchangeButton, { onClick: () => (onClose(), openBridge(hot, { title: "Exchange" })), children: _jsx(ExchangeIcon, { size: 32, strokeColor: "#d2d2d2" }) })] }), hot.activity.withdrawalsList.length > 0 && (_jsxs(TokenCards, { style: { marginTop: 16 }, children: [_jsx("p", { style: { fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }, children: "Pending withdrawals" }), hot.activity.withdrawalsList.map((withdrawal) => {
|
|
63
|
+
const token = tokens.get(withdrawal.token, withdrawal.chain);
|
|
64
|
+
return (_jsxs(PopupOption, { onClick: () => hot.activity.finishWithdrawal(withdrawal), disabled: withdrawal.loading, children: [_jsx(TokenIcon, { token: token }), _jsxs("div", { children: [_jsxs("p", { style: { marginTop: -4, textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: [token.float(withdrawal.amount), " ", token.symbol] }), _jsx("p", { style: { textAlign: "left", fontSize: 12, color: "#828282" }, children: new Date(withdrawal.timestamp).toLocaleString() })] }), _jsx("div", { style: { marginLeft: "auto", padding: "8px 12px", borderRadius: 16, background: "#1a1a1a", color: "#fff" }, children: _jsx("p", { style: { color: "#d6d6d6" }, children: withdrawal.loading ? _jsx(Loader, {}) : "Withdraw" }) })] }, withdrawal.nonce));
|
|
65
|
+
})] })), tokensList.filter((t) => t != null && t.chain === -4).length > 0 && (_jsxs(TokenCards, { style: { marginTop: 16 }, children: [_jsx("p", { style: { fontSize: 16, fontWeight: 600, color: "#d2d2d2", textAlign: "left" }, children: "Tokens to withdraw" }), tokensList.filter((t) => t != null && t.chain === -4).map((t) => t?.component), _jsx("div", { style: { marginTop: 8, marginBottom: -4, width: "100%", height: 1, background: "#383d42" } })] })), tokensList.filter((t) => t != null && t.chain !== -4).length > 0 && (_jsx(TokenCards, { style: { marginTop: 16 }, children: tokensList.filter((t) => t != null && t.chain !== -4).map((t) => t?.component) }))] }));
|
|
66
|
+
});
|
|
67
|
+
const ExchangeButton = styled.button `
|
|
68
|
+
display: flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
gap: 8px;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
outline: none;
|
|
73
|
+
border: none;
|
|
74
|
+
background: transparent;
|
|
75
|
+
padding: 8px;
|
|
76
|
+
border-radius: 24px;
|
|
77
|
+
transition: background 0.2s ease-in-out;
|
|
78
|
+
&:hover {
|
|
79
|
+
background: rgba(255, 255, 255, 0.1);
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
const TokenCards = styled.div `
|
|
83
|
+
display: flex;
|
|
84
|
+
flex-direction: column;
|
|
85
|
+
gap: 8px;
|
|
86
|
+
width: 100%;
|
|
87
|
+
`;
|
|
88
|
+
const WalletCard = styled.div `
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
gap: 8px;
|
|
92
|
+
border-radius: 24px;
|
|
93
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
94
|
+
padding: 6px;
|
|
95
|
+
padding-left: 8px;
|
|
96
|
+
padding-right: 12px;
|
|
97
|
+
background: #1a1a1a;
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
transition: background 0.2s ease-in-out;
|
|
100
|
+
|
|
101
|
+
&:hover {
|
|
102
|
+
background: rgba(255, 255, 255, 0.04);
|
|
103
|
+
}
|
|
104
|
+
`;
|
|
105
|
+
const BalanceCard = styled.h2 `
|
|
106
|
+
font-size: 48px;
|
|
107
|
+
font-weight: 600;
|
|
108
|
+
color: #fff;
|
|
109
|
+
`;
|
|
110
|
+
//# sourceMappingURL=Profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../src/ui/payment/Profile.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HotConnector } from "../../HotConnector";
|
|
2
|
+
import { Recipient } from "../../core/recipient";
|
|
3
|
+
import { WalletType } from "../../core/chains";
|
|
4
|
+
interface SelectRecipientProps {
|
|
5
|
+
recipient?: Recipient;
|
|
6
|
+
type: WalletType;
|
|
7
|
+
onSelect: (recipient?: Recipient) => void;
|
|
8
|
+
hot: HotConnector;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const SelectRecipient: (({ recipient, hot, type, onSelect, onClose }: SelectRecipientProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
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 { useState } from "react";
|
|
5
|
+
import { ArrowRightIcon } from "../icons/arrow-right";
|
|
6
|
+
import { PopupOption, PopupOptionInfo } from "../styles";
|
|
7
|
+
import { ConnectorType } from "../../OmniConnector";
|
|
8
|
+
import { Recipient } from "../../core/recipient";
|
|
9
|
+
import { WalletType } from "../../core/chains";
|
|
10
|
+
import { openWalletPicker } from "../router";
|
|
11
|
+
import { formatter } from "../../core/utils";
|
|
12
|
+
import Popup from "../Popup";
|
|
13
|
+
import { ImageView } from "./TokenCard";
|
|
14
|
+
export const SelectRecipient = observer(({ recipient, hot, type, onSelect, onClose }) => {
|
|
15
|
+
const connectors = hot.connectors.filter((t) => t.walletTypes.includes(type) && t.type !== ConnectorType.SOCIAL);
|
|
16
|
+
const [customAddress, setCustomAddress] = useState(recipient?.address || "");
|
|
17
|
+
const selectCustom = async () => {
|
|
18
|
+
const recipient = await Recipient.fromAddress(type, customAddress);
|
|
19
|
+
onSelect(recipient);
|
|
20
|
+
onClose();
|
|
21
|
+
};
|
|
22
|
+
const selectWallet = async (t) => {
|
|
23
|
+
if (!t.wallets[0])
|
|
24
|
+
return openWalletPicker(t, (w) => (onSelect(Recipient.fromWallet(w)), onClose()));
|
|
25
|
+
onSelect(Recipient.fromWallet(t.wallets[0]));
|
|
26
|
+
onClose();
|
|
27
|
+
};
|
|
28
|
+
return (_jsxs(Popup, { header: _jsx("p", { children: "Select recipient" }), onClose: onClose, children: [type !== WalletType.OMNI && (_jsxs("div", { style: { width: "100%", marginBottom: 24 }, children: [_jsx("p", { style: { fontSize: 16, textAlign: "left" }, children: "Enter recipient address, avoid CEX" }), _jsxs(CustomRecipient, { children: [_jsx("input", { type: "text", placeholder: "Enter wallet address", onChange: (e) => setCustomAddress(e.target.value), value: customAddress }), _jsx("button", { onClick: selectCustom, disabled: customAddress.length === 0, children: "Select" })] })] })), 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)))] }));
|
|
29
|
+
});
|
|
30
|
+
const CustomRecipient = styled.div `
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
border: 1px solid #2d2d2d;
|
|
34
|
+
border-radius: 12px;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
margin-top: 8px;
|
|
37
|
+
height: 50px;
|
|
38
|
+
|
|
39
|
+
input {
|
|
40
|
+
width: 100%;
|
|
41
|
+
padding: 12px;
|
|
42
|
+
background: #161616;
|
|
43
|
+
color: #fff;
|
|
44
|
+
outline: none;
|
|
45
|
+
font-size: 16px;
|
|
46
|
+
font-weight: bold;
|
|
47
|
+
text-align: left;
|
|
48
|
+
outline: none;
|
|
49
|
+
border: none;
|
|
50
|
+
height: 100%;
|
|
51
|
+
flex: 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
button {
|
|
55
|
+
width: 100px;
|
|
56
|
+
color: #fff;
|
|
57
|
+
background: #000000;
|
|
58
|
+
border-radius: 0px;
|
|
59
|
+
margin: 0px;
|
|
60
|
+
outline: none;
|
|
61
|
+
border: none;
|
|
62
|
+
height: 100%;
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
font-weight: bold;
|
|
65
|
+
cursor: pointer;
|
|
66
|
+
}
|
|
67
|
+
`;
|
|
68
|
+
//# sourceMappingURL=SelectRecipient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectRecipient.js","sourceRoot":"","sources":["../../../src/ui/payment/SelectRecipient.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
2
|
+
import { WalletType } from "../../core/chains";
|
|
3
|
+
import { HotConnector } from "../../HotConnector";
|
|
4
|
+
interface SelectSenderProps {
|
|
5
|
+
type: WalletType;
|
|
6
|
+
onSelect: (wallet?: OmniWallet | "qr") => void;
|
|
7
|
+
hot: HotConnector;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const SelectSender: (({ hot, type, onSelect, onClose }: SelectSenderProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -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 { WalletType } from "../../core/chains";
|
|
8
|
+
import { openWalletPicker } from "../router";
|
|
9
|
+
import { formatter } from "../../core/utils";
|
|
10
|
+
import Popup from "../Popup";
|
|
11
|
+
import { ImageView } from "./TokenCard";
|
|
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/payment/SelectSender.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Token } from "../../core/token";
|
|
2
|
+
import { HotConnector } from "../../HotConnector";
|
|
3
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
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,92 @@
|
|
|
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 { formatter } from "../../core/utils";
|
|
6
|
+
import { Network, OmniToken } from "../../core/chains";
|
|
7
|
+
import { PopupOption } from "../styles";
|
|
8
|
+
import Popup from "../Popup";
|
|
9
|
+
import { TokenCard, ImageView } from "./TokenCard";
|
|
10
|
+
import { tokens } from "../../core/tokens";
|
|
11
|
+
export const SelectTokenPopup = observer(({ hot, initialChain, onClose, onSelect }) => {
|
|
12
|
+
const [chain, setChain] = useState(initialChain || null);
|
|
13
|
+
const [search, setSearch] = useState("");
|
|
14
|
+
if (chain == null) {
|
|
15
|
+
const chains = {};
|
|
16
|
+
tokens.list.forEach((token) => {
|
|
17
|
+
if (!chains[token.chain])
|
|
18
|
+
chains[token.chain] = {
|
|
19
|
+
chain: token.chain,
|
|
20
|
+
name: token.chainName,
|
|
21
|
+
icon: token.chainIcon,
|
|
22
|
+
balance: 0,
|
|
23
|
+
};
|
|
24
|
+
hot.wallets.forEach((wallet) => {
|
|
25
|
+
const balance = hot.balance(wallet, token);
|
|
26
|
+
chains[token.chain].balance += token.float(balance) * token.usd;
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
const sorted = Object.values(chains).sort((a, b) => {
|
|
30
|
+
if (a.chain === Network.Hot)
|
|
31
|
+
return -1;
|
|
32
|
+
return b.balance - a.balance;
|
|
33
|
+
});
|
|
34
|
+
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 }) => {
|
|
35
|
+
if (search && !name.toLowerCase().includes(search.toLowerCase()))
|
|
36
|
+
return;
|
|
37
|
+
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)] })] }));
|
|
38
|
+
})] }));
|
|
39
|
+
}
|
|
40
|
+
if (chain !== -4) {
|
|
41
|
+
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
|
|
42
|
+
.filter((token) => token.chain === chain)
|
|
43
|
+
.sort((a, b) => {
|
|
44
|
+
const wallet = hot.wallets.find((w) => w.type === a.type);
|
|
45
|
+
const aBalance = a.float(hot.balance(wallet, a)) * a.usd;
|
|
46
|
+
const bBalance = b.float(hot.balance(wallet, b)) * b.usd;
|
|
47
|
+
return bBalance - aBalance;
|
|
48
|
+
})
|
|
49
|
+
.map((token) => {
|
|
50
|
+
const wallet = hot.wallets.find((w) => w.type === token.type);
|
|
51
|
+
if (search && !token.symbol.toLowerCase().includes(search.toLowerCase()))
|
|
52
|
+
return;
|
|
53
|
+
return _jsx(TokenCard, { token: token, onSelect: onSelect, hot: hot, wallet: wallet }, token.id);
|
|
54
|
+
})] }));
|
|
55
|
+
}
|
|
56
|
+
let used = new Set();
|
|
57
|
+
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
|
|
58
|
+
.filter(({ token, balance }) => {
|
|
59
|
+
if (token.chain !== Network.Hot)
|
|
60
|
+
return false;
|
|
61
|
+
if (token.float(balance) < 0.0001)
|
|
62
|
+
return false;
|
|
63
|
+
if (!token.symbol.toLowerCase().includes(search.toLowerCase()))
|
|
64
|
+
return false;
|
|
65
|
+
used.add(token.address);
|
|
66
|
+
return true;
|
|
67
|
+
})
|
|
68
|
+
.sort((a, b) => {
|
|
69
|
+
const aBalance = a.token.float(a.balance) * a.token.usd;
|
|
70
|
+
const bBalance = b.token.float(b.balance) * b.token.usd;
|
|
71
|
+
return bBalance - aBalance;
|
|
72
|
+
})
|
|
73
|
+
.map(({ token, wallet }) => (_jsx(TokenCard, { token: token, onSelect: onSelect, hot: hot, wallet: wallet }, token.id))), Object.values(OmniToken)
|
|
74
|
+
.filter((token) => !used.has(token))
|
|
75
|
+
.map((token) => (_jsx(TokenCard, { token: hot.omni(token), onSelect: onSelect, hot: hot, wallet: hot.priorityWallet }, token)))] }));
|
|
76
|
+
});
|
|
77
|
+
const SearchInput = styled.input `
|
|
78
|
+
width: 100%;
|
|
79
|
+
padding: 12px 16px;
|
|
80
|
+
border-radius: 16px;
|
|
81
|
+
border: 1px solid #282c30;
|
|
82
|
+
background: #282c30;
|
|
83
|
+
color: #fff;
|
|
84
|
+
outline: none;
|
|
85
|
+
font-size: 20px;
|
|
86
|
+
font-weight: 500;
|
|
87
|
+
line-height: 24px;
|
|
88
|
+
letter-spacing: -0.32px;
|
|
89
|
+
text-align: left;
|
|
90
|
+
margin-bottom: 8px;
|
|
91
|
+
`;
|
|
92
|
+
//# sourceMappingURL=SelectToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectToken.js","sourceRoot":"","sources":["../../../src/ui/payment/SelectToken.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAS3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAyB,EAAE,EAAE;IAC3G,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,YAAY,IAAI,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEjD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAmF,EAAE,CAAC;QAClG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,OAAO,EAAE,CAAC;iBACX,CAAC;YAEJ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,uCAAmB,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAC7E,KAAC,WAAW,IAAC,IAAI,EAAC,MAAM,EAAC,WAAW,EAAC,cAAc,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EAEjG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;oBAC7C,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBAAE,OAAO;oBAEzE,OAAO,CACL,MAAC,WAAW,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,aAC1D,KAAC,SAAS,IAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,EAC7C,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAG,IAAI,GAAK,EACzD,OAAO,GAAG,CAAC,IAAI,aAAG,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAK,IACtG,CACf,CAAC;gBACJ,CAAC,CAAC,IACI,CACT,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,uCAAmB,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAC7E,KAAC,WAAW,IAAC,IAAI,EAAC,MAAM,EAAC,WAAW,EAAC,cAAc,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EAEjG,MAAM,CAAC,IAAI;qBACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;qBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACb,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC;oBAC3D,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;oBACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;oBACzD,OAAO,QAAQ,GAAG,QAAQ,CAAC;gBAC7B,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACb,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9D,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBAAE,OAAO;oBACjF,OAAO,KAAC,SAAS,IAAgB,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,IAApE,KAAK,CAAC,EAAE,CAAgE,CAAC;gBAClG,CAAC,CAAC,IACE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7B,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,uCAAmB,aAClD,KAAC,WAAW,IAAC,IAAI,EAAC,MAAM,EAAC,WAAW,EAAC,cAAc,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EACjG,GAAG,CAAC,aAAa;iBACf,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG;oBAAE,OAAO,KAAK,CAAC;gBAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC7E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACb,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBACxD,OAAO,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAC1B,KAAC,SAAS,IAAgB,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,IAApE,KAAK,CAAC,EAAE,CAAgE,CACzF,CAAC,EAEH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;iBACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,KAAC,SAAS,IAAa,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,cAAc,IAAvF,KAAK,CAAsF,CAC5G,CAAC,IACE,CACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;;;;;;;;;;CAc/B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Token } from "../../core/token";
|
|
2
|
+
import { HotConnector } from "../../HotConnector";
|
|
3
|
+
import { OmniWallet } from "../../OmniWallet";
|
|
4
|
+
export declare const ImageView: ({ src, size, alt, style }: {
|
|
5
|
+
src: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
alt: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const TokenIcon: (({ token, wallet }: {
|
|
11
|
+
token: Token;
|
|
12
|
+
wallet?: OmniWallet;
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const TokenCard: (({ token, onSelect, hot, wallet }: {
|
|
17
|
+
token: Token;
|
|
18
|
+
onSelect: (token: Token, wallet?: OmniWallet) => void;
|
|
19
|
+
hot: HotConnector;
|
|
20
|
+
wallet?: OmniWallet;
|
|
21
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import styled from "styled-components";
|
|
5
|
+
import { chains } from "../../core/chains";
|
|
6
|
+
import { formatter } from "../../core/utils";
|
|
7
|
+
import { PopupOption } from "../styles";
|
|
8
|
+
const images = {
|
|
9
|
+
cached: new Map(),
|
|
10
|
+
cache(url) {
|
|
11
|
+
if (this.cached.has(url))
|
|
12
|
+
return this.cached.get(url);
|
|
13
|
+
const promise = new Promise((resolve, reject) => {
|
|
14
|
+
const img = new Image();
|
|
15
|
+
img.src = url;
|
|
16
|
+
img.onload = () => resolve();
|
|
17
|
+
img.onerror = () => reject(new Error("Failed to load image"));
|
|
18
|
+
});
|
|
19
|
+
this.cached.set(url, promise);
|
|
20
|
+
return promise;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
var ImageState;
|
|
24
|
+
(function (ImageState) {
|
|
25
|
+
ImageState["Loading"] = "loading";
|
|
26
|
+
ImageState["Loaded"] = "loaded";
|
|
27
|
+
ImageState["Error"] = "error";
|
|
28
|
+
})(ImageState || (ImageState = {}));
|
|
29
|
+
export const ImageView = ({ src, size = 40, alt, style }) => {
|
|
30
|
+
const [icon, setIcon] = useState(ImageState.Loading);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
setIcon(ImageState.Loading);
|
|
33
|
+
images
|
|
34
|
+
.cache(src)
|
|
35
|
+
.then(() => setIcon(ImageState.Loaded))
|
|
36
|
+
.catch(() => setIcon(ImageState.Error));
|
|
37
|
+
}, [src]);
|
|
38
|
+
if (icon === ImageState.Loaded) {
|
|
39
|
+
return _jsx("img", { src: src, alt: alt, style: { objectFit: "contain", width: size, height: size, borderRadius: "50%", ...style } });
|
|
40
|
+
}
|
|
41
|
+
return (_jsx("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", width: size, height: size, borderRadius: "50%", backgroundColor: "#0e0e0e", ...style }, children: _jsx("p", { style: { fontWeight: "bold", fontSize: size / 2, color: "#ffffff" }, children: alt.charAt(0)?.toUpperCase() }) }));
|
|
42
|
+
};
|
|
43
|
+
export const TokenIcon = observer(({ token, wallet }) => {
|
|
44
|
+
return (_jsxs("div", { style: { position: "relative", width: 40, height: 40 }, children: [_jsx(ImageView, { src: token.icon, alt: token.symbol, size: 40 }), _jsx(ImageView, { src: token.chainIcon, alt: token.symbol, size: 14, style: { position: "absolute", bottom: 0, right: 0 } }), token.chain === -4 && wallet?.type && _jsx(ImageView, { src: wallet.icon, alt: chains.get(wallet.type)?.name || "", size: 14, style: { position: "absolute", bottom: 0, left: 0 } })] }));
|
|
45
|
+
});
|
|
46
|
+
export const TokenCard = observer(({ token, onSelect, hot, wallet }) => {
|
|
47
|
+
const balance = hot.balance(wallet, token);
|
|
48
|
+
const symbol = token.chain === -4 && !token.isMainOmni ? `${token.originalChainSymbol}_${token.symbol}` : token.symbol;
|
|
49
|
+
return (_jsxs(PopupOption, { onClick: () => onSelect(token, wallet), children: [_jsx(TokenIcon, { token: token, wallet: wallet }), _jsxs(TokenWrap, { style: { marginTop: -2, textAlign: "left" }, children: [_jsx("p", { style: { textAlign: "left", fontSize: 20, fontWeight: "bold" }, children: symbol }), _jsxs("p", { style: { textAlign: "left", fontSize: 14, color: "#c6c6c6" }, children: ["$", formatter.amount(token.usd)] })] }), _jsxs(TokenWrap, { style: { paddingRight: 4, marginLeft: "auto", alignItems: "flex-end" }, children: [_jsx("p", { style: { textAlign: "right", fontSize: 20 }, children: token.readable(balance) }), _jsxs("p", { style: { textAlign: "right", fontSize: 14, color: "#c6c6c6" }, children: ["$", token.readable(balance, token.usd)] })] })] }, token.id));
|
|
50
|
+
});
|
|
51
|
+
const TokenWrap = styled.div `
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
gap: 4px;
|
|
55
|
+
|
|
56
|
+
&,
|
|
57
|
+
p {
|
|
58
|
+
white-space: nowrap;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
text-overflow: ellipsis;
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
//# sourceMappingURL=TokenCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenCard.js","sourceRoot":"","sources":["../../../src/ui/payment/TokenCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HotConnector } from "../HotConnector";
|
|
2
|
+
import { OmniConnector } from "../OmniConnector";
|
|
3
|
+
import { BridgeReview } from "../exchange";
|
|
4
|
+
import { Token } from "../core/token";
|
|
5
|
+
import { OmniWallet } from "../OmniWallet";
|
|
6
|
+
import { WalletType } from "../core/chains";
|
|
7
|
+
import { Recipient } from "../core/recipient";
|
|
8
|
+
import { BridgeProps } from "./payment/Bridge";
|
|
9
|
+
export declare const openPayment: (connector: HotConnector, token: Token, amount: bigint, recipient?: Recipient) => Promise<Promise<BridgeReview>>;
|
|
10
|
+
export declare const openLogoutPopup: (connector: OmniConnector) => Promise<void>;
|
|
11
|
+
export declare const openBridge: (hot: HotConnector, setup?: BridgeProps["setup"]) => Promise<BridgeReview>;
|
|
12
|
+
export declare const openConnector: (hot: HotConnector) => void;
|
|
13
|
+
export declare const openProfile: (hot: HotConnector) => void;
|
|
14
|
+
export declare const openSelectTokenPopup: ({ hot, initialChain, onSelect }: {
|
|
15
|
+
hot: HotConnector;
|
|
16
|
+
initialChain?: number;
|
|
17
|
+
onSelect: (token: Token, wallet?: OmniWallet) => void;
|
|
18
|
+
}) => void;
|
|
19
|
+
export declare const openWalletPicker: (connector: OmniConnector, onSelect?: (wallet: OmniWallet) => void) => void;
|
|
20
|
+
export declare const openSelectSender: (props: {
|
|
21
|
+
hot: HotConnector;
|
|
22
|
+
type: WalletType;
|
|
23
|
+
onSelect: (wallet?: OmniWallet | "qr") => void;
|
|
24
|
+
}) => void;
|
|
25
|
+
export declare const openSelectRecipient: (props: {
|
|
26
|
+
hot: HotConnector;
|
|
27
|
+
recipient?: Recipient;
|
|
28
|
+
type: WalletType;
|
|
29
|
+
onSelect: (wallet?: Recipient) => void;
|
|
30
|
+
}) => void;
|
|
31
|
+
export declare const openWCRequest: <T>(args: {
|
|
32
|
+
task: () => Promise<T>;
|
|
33
|
+
deeplink?: string;
|
|
34
|
+
name: string;
|
|
35
|
+
icon: string;
|
|
36
|
+
request: any;
|
|
37
|
+
}) => Promise<T>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { present } from "./Popup";
|
|
3
|
+
import { Payment } from "./payment/Payment";
|
|
4
|
+
import { LogoutPopup } from "./connect/LogoutPopup";
|
|
5
|
+
import { Bridge } from "./payment/Bridge";
|
|
6
|
+
import { Profile } from "./payment/Profile";
|
|
7
|
+
import { SelectTokenPopup } from "./payment/SelectToken";
|
|
8
|
+
import { WalletPicker } from "./connect/WalletPicker";
|
|
9
|
+
import { Connector } from "./connect/ConnectWallet";
|
|
10
|
+
import { SelectSender } from "./payment/SelectSender";
|
|
11
|
+
import { SelectRecipient } from "./payment/SelectRecipient";
|
|
12
|
+
import { WCRequest } from "./connect/WCRequest";
|
|
13
|
+
export const openPayment = (connector, token, amount, recipient) => {
|
|
14
|
+
return new Promise((resolve, reject) => {
|
|
15
|
+
present((close) => (_jsx(Payment //
|
|
16
|
+
, { onClose: () => (close(), reject(new Error("User rejected"))), onProcess: (task) => (close(), resolve(task)), connector: connector, token: token, amount: amount, recipient: recipient })));
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export const openLogoutPopup = (connector) => {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
present((close) => {
|
|
22
|
+
return (_jsx(LogoutPopup //
|
|
23
|
+
, { connector: connector, onApprove: () => (close(), resolve()), onReject: () => (close(), reject(new Error("User rejected"))) }));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
export const openBridge = (hot, setup) => {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
present((close) => (_jsx(Bridge //
|
|
30
|
+
, { hot: hot, setup: setup, onProcess: resolve, onClose: () => (close(), reject(new Error("User rejected"))) })));
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
export const openConnector = (hot) => {
|
|
34
|
+
present((close) => _jsx(Connector, { hot: hot, onClose: close }));
|
|
35
|
+
};
|
|
36
|
+
export const openProfile = (hot) => {
|
|
37
|
+
present((close) => _jsx(Profile, { hot: hot, onClose: close }));
|
|
38
|
+
};
|
|
39
|
+
export const openSelectTokenPopup = ({ hot, initialChain, onSelect }) => {
|
|
40
|
+
present((close) => _jsx(SelectTokenPopup, { hot: hot, initialChain: initialChain, onClose: close, onSelect: (t, w) => (onSelect(t, w), close()) }));
|
|
41
|
+
};
|
|
42
|
+
export const openWalletPicker = (connector, onSelect) => {
|
|
43
|
+
present((close) => _jsx(WalletPicker, { initialConnector: connector, onSelect: onSelect, onClose: close }));
|
|
44
|
+
};
|
|
45
|
+
export const openSelectSender = (props) => {
|
|
46
|
+
present((close) => _jsx(SelectSender, { ...props, onClose: close }));
|
|
47
|
+
};
|
|
48
|
+
export const openSelectRecipient = (props) => {
|
|
49
|
+
present((close) => _jsx(SelectRecipient, { ...props, onClose: close }));
|
|
50
|
+
};
|
|
51
|
+
export const openWCRequest = (args) => {
|
|
52
|
+
const taskPromise = args.task();
|
|
53
|
+
present((close) => _jsx(WCRequest, { deeplink: args.deeplink, name: args.name, icon: args.icon, onClose: close, task: taskPromise }));
|
|
54
|
+
return taskPromise;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/ui/router.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const ModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
2
|
+
export declare const ModalOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
3
|
+
export declare const ModalContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
4
|
+
$mobileFullscreen?: boolean;
|
|
5
|
+
}>> & string;
|
|
6
|
+
export declare const ModalHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
7
|
+
export declare const ModalBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
8
|
+
export declare const Footer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
9
|
+
export declare const GetWalletLink: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, never>> & string;
|
|
10
|
+
export declare const PopupOption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
|
|
11
|
+
export declare const PopupOptionInfo: 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 PopupButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
|
|
13
|
+
export declare const PopupRoot: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|