@hot-labs/kit 1.0.33
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/.eslintrc.cjs +11 -0
- package/.github/workflows/deploy-example.yml +55 -0
- package/.github/workflows/release.yml +74 -0
- package/.prettierrc +4 -0
- package/.prototools +2 -0
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +1 -0
- package/README.md +67 -0
- package/build/GoogleConnector.d.ts +20 -0
- package/build/GoogleConnector.js +76 -0
- package/build/GoogleConnector.js.map +1 -0
- package/build/HotConnector.d.ts +91 -0
- package/build/HotConnector.js +285 -0
- package/build/HotConnector.js.map +1 -0
- package/build/OmniConnector.d.ts +95 -0
- package/build/OmniConnector.js +123 -0
- package/build/OmniConnector.js.map +1 -0
- package/build/OmniWallet.d.ts +57 -0
- package/build/OmniWallet.js +56 -0
- package/build/OmniWallet.js.map +1 -0
- package/build/cosmos/connector.d.ts +53 -0
- package/build/cosmos/connector.js +207 -0
- package/build/cosmos/connector.js.map +1 -0
- package/build/cosmos/wallet.d.ts +28 -0
- package/build/cosmos/wallet.js +59 -0
- package/build/cosmos/wallet.js.map +1 -0
- package/build/events.d.ts +42 -0
- package/build/events.js +64 -0
- package/build/events.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 +35 -0
- package/build/evm/connector.js +124 -0
- package/build/evm/connector.js.map +1 -0
- package/build/evm/wallet.d.ts +47 -0
- package/build/evm/wallet.js +136 -0
- package/build/evm/wallet.js.map +1 -0
- package/build/exchange.d.ts +63 -0
- package/build/exchange.js +384 -0
- package/build/exchange.js.map +1 -0
- package/build/hot-wallet/evm.d.ts +1 -0
- package/build/hot-wallet/evm.js +33 -0
- package/build/hot-wallet/evm.js.map +1 -0
- package/build/hot-wallet/hot.d.ts +3 -0
- package/build/hot-wallet/hot.js +40 -0
- package/build/hot-wallet/hot.js.map +1 -0
- package/build/hot-wallet/index.d.ts +4 -0
- package/build/hot-wallet/index.js +5 -0
- package/build/hot-wallet/index.js.map +1 -0
- package/build/hot-wallet/solana/account.d.ts +11 -0
- package/build/hot-wallet/solana/account.js +42 -0
- package/build/hot-wallet/solana/account.js.map +1 -0
- package/build/hot-wallet/solana/index.d.ts +1 -0
- package/build/hot-wallet/solana/index.js +85 -0
- package/build/hot-wallet/solana/index.js.map +1 -0
- package/build/hot-wallet/solana/register.d.ts +2 -0
- package/build/hot-wallet/solana/register.js +41 -0
- package/build/hot-wallet/solana/register.js.map +1 -0
- package/build/hot-wallet/solana/solana-wallet.d.ts +34 -0
- package/build/hot-wallet/solana/solana-wallet.js +223 -0
- package/build/hot-wallet/solana/solana-wallet.js.map +1 -0
- package/build/hot-wallet/solana/utils.d.ts +32 -0
- package/build/hot-wallet/solana/utils.js +36 -0
- package/build/hot-wallet/solana/utils.js.map +1 -0
- package/build/hot-wallet/stellar.d.ts +38 -0
- package/build/hot-wallet/stellar.js +32 -0
- package/build/hot-wallet/stellar.js.map +1 -0
- package/build/hot-wallet/ton.d.ts +1 -0
- package/build/hot-wallet/ton.js +49 -0
- package/build/hot-wallet/ton.js.map +1 -0
- package/build/hot-wallet/wallet.d.ts +1 -0
- package/build/hot-wallet/wallet.js +40 -0
- package/build/hot-wallet/wallet.js.map +1 -0
- package/build/index.d.ts +24 -0
- package/build/index.js +25 -0
- package/build/index.js.map +1 -0
- package/build/near/connector.d.ts +28 -0
- package/build/near/connector.js +56 -0
- package/build/near/connector.js.map +1 -0
- package/build/near/wallet.d.ts +62 -0
- package/build/near/wallet.js +233 -0
- package/build/near/wallet.js.map +1 -0
- package/build/omni/Intents.d.ts +93 -0
- package/build/omni/Intents.js +395 -0
- package/build/omni/Intents.js.map +1 -0
- package/build/omni/bridge.d.ts +3 -0
- package/build/omni/bridge.js +34 -0
- package/build/omni/bridge.js.map +1 -0
- package/build/omni/config.d.ts +99 -0
- package/build/omni/config.js +126 -0
- package/build/omni/config.js.map +1 -0
- package/build/omni/defaultTokens.d.ts +17 -0
- package/build/omni/defaultTokens.js +1079 -0
- package/build/omni/defaultTokens.js.map +1 -0
- package/build/omni/index.d.ts +8 -0
- package/build/omni/index.js +9 -0
- package/build/omni/index.js.map +1 -0
- package/build/omni/nearRpc.d.ts +24 -0
- package/build/omni/nearRpc.js +167 -0
- package/build/omni/nearRpc.js.map +1 -0
- package/build/omni/recipient.d.ts +10 -0
- package/build/omni/recipient.js +40 -0
- package/build/omni/recipient.js.map +1 -0
- package/build/omni/token.d.ts +36 -0
- package/build/omni/token.js +136 -0
- package/build/omni/token.js.map +1 -0
- package/build/omni/tokens.d.ts +14 -0
- package/build/omni/tokens.js +57 -0
- package/build/omni/tokens.js.map +1 -0
- package/build/omni/types.d.ts +41 -0
- package/build/omni/types.js +2 -0
- package/build/omni/types.js.map +1 -0
- package/build/omni/utils.d.ts +24 -0
- package/build/omni/utils.js +150 -0
- package/build/omni/utils.js.map +1 -0
- package/build/settings.d.ts +5 -0
- package/build/settings.js +6 -0
- package/build/settings.js.map +1 -0
- package/build/solana/connector.d.ts +31 -0
- package/build/solana/connector.js +138 -0
- package/build/solana/connector.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 +47 -0
- package/build/solana/wallet.js +188 -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 +25 -0
- package/build/stellar/connector.js +56 -0
- package/build/stellar/connector.js.map +1 -0
- package/build/stellar/wallet.d.ts +70 -0
- package/build/stellar/wallet.js +225 -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 +119 -0
- package/build/ton/connector.js.map +1 -0
- package/build/ton/utils.d.ts +45 -0
- package/build/ton/utils.js +64 -0
- package/build/ton/utils.js.map +1 -0
- package/build/ton/wallet.d.ts +70 -0
- package/build/ton/wallet.js +154 -0
- package/build/ton/wallet.js.map +1 -0
- package/build/ui/Popup.d.ts +10 -0
- package/build/ui/Popup.js +38 -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/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 +27 -0
- package/build/ui/payment/Bridge.js +340 -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 +7 -0
- package/build/ui/payment/Profile.js +88 -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 +50 -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 +11 -0
- package/build/ui/styles.js +273 -0
- package/build/ui/styles.js.map +1 -0
- package/package.json +60 -0
- package/skill.md +989 -0
- package/src/GoogleConnector.ts +102 -0
- package/src/HotConnector.ts +344 -0
- package/src/OmniConnector.ts +161 -0
- package/src/OmniWallet.ts +94 -0
- package/src/cosmos/connector.ts +242 -0
- package/src/cosmos/wallet.ts +77 -0
- package/src/events.ts +66 -0
- package/src/evm/abi.ts +39 -0
- package/src/evm/connector.ts +139 -0
- package/src/evm/wallet.ts +156 -0
- package/src/exchange.ts +426 -0
- package/src/hot-wallet/evm.ts +38 -0
- package/src/hot-wallet/hot.ts +39 -0
- package/src/hot-wallet/index.ts +4 -0
- package/src/hot-wallet/solana/account.ts +52 -0
- package/src/hot-wallet/solana/index.ts +98 -0
- package/src/hot-wallet/solana/register.ts +48 -0
- package/src/hot-wallet/solana/solana-wallet.ts +280 -0
- package/src/hot-wallet/solana/utils.ts +56 -0
- package/src/hot-wallet/stellar.ts +39 -0
- package/src/hot-wallet/ton.ts +56 -0
- package/src/hot-wallet/wallet.ts +44 -0
- package/src/index.ts +30 -0
- package/src/near/connector.ts +71 -0
- package/src/near/wallet.ts +255 -0
- package/src/omni/Intents.ts +454 -0
- package/src/omni/bridge.ts +38 -0
- package/src/omni/config.ts +130 -0
- package/src/omni/defaultTokens.ts +1078 -0
- package/src/omni/index.ts +8 -0
- package/src/omni/nearRpc.ts +187 -0
- package/src/omni/recipient.ts +41 -0
- package/src/omni/token.ts +125 -0
- package/src/omni/tokens.ts +68 -0
- package/src/omni/types.ts +46 -0
- package/src/omni/utils.ts +163 -0
- package/src/settings.ts +5 -0
- package/src/solana/connector.ts +151 -0
- package/src/solana/protocol.ts +66 -0
- package/src/solana/wallet.ts +230 -0
- package/src/solana/wallets.ts +243 -0
- package/src/stellar/connector.ts +69 -0
- package/src/stellar/wallet.ts +267 -0
- package/src/storage.ts +19 -0
- package/src/ton/connector.ts +138 -0
- package/src/ton/utils.ts +73 -0
- package/src/ton/wallet.ts +178 -0
- package/src/ui/Popup.tsx +62 -0
- package/src/ui/connect/AuthPopup.tsx +78 -0
- package/src/ui/connect/ConnectWallet.tsx +63 -0
- package/src/ui/connect/LogoutPopup.tsx +20 -0
- package/src/ui/connect/WCPopup.tsx +122 -0
- package/src/ui/connect/WCRequest.tsx +28 -0
- package/src/ui/connect/WalletPicker.tsx +92 -0
- package/src/ui/icons/arrow-right.tsx +8 -0
- package/src/ui/icons/exchange.tsx +17 -0
- package/src/ui/icons/logout.tsx +18 -0
- package/src/ui/icons/pending.tsx +18 -0
- package/src/ui/icons/qr.tsx +12 -0
- package/src/ui/icons/search.tsx +18 -0
- package/src/ui/icons/switch.tsx +10 -0
- package/src/ui/icons/wallet.tsx +18 -0
- package/src/ui/payment/Bridge.tsx +582 -0
- package/src/ui/payment/DepositQR.tsx +88 -0
- package/src/ui/payment/Payment.tsx +78 -0
- package/src/ui/payment/Profile.tsx +140 -0
- package/src/ui/payment/SelectRecipient.tsx +111 -0
- package/src/ui/payment/SelectSender.tsx +60 -0
- package/src/ui/payment/SelectToken.tsx +134 -0
- package/src/ui/payment/TokenCard.tsx +83 -0
- package/src/ui/router.tsx +92 -0
- package/src/ui/styles.ts +284 -0
- package/tsconfig.json +22 -0
- package/vite.config.ts +17 -0
|
@@ -0,0 +1,50 @@
|
|
|
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 { openBridge, openConnector } from "../router";
|
|
5
|
+
import { Recipient } from "../../omni/recipient";
|
|
6
|
+
import { Network } from "../../omni/config";
|
|
7
|
+
import Popup from "../Popup";
|
|
8
|
+
import { TokenCard } from "./TokenCard";
|
|
9
|
+
import { PopupOption, PopupOptionInfo } from "../styles";
|
|
10
|
+
import { WalletIcon } from "../icons/wallet";
|
|
11
|
+
export const Payment = observer(({ connector, recipient, token: need, amount: needAmount, onProcess, onClose }) => {
|
|
12
|
+
const title = `Need ${need.readable(needAmount)} ${need.symbol}`;
|
|
13
|
+
const selectToken = async (from, wallet) => {
|
|
14
|
+
onProcess(openBridge(connector, {
|
|
15
|
+
sender: wallet,
|
|
16
|
+
autoClose: true,
|
|
17
|
+
type: "exactOut",
|
|
18
|
+
recipient: recipient || Recipient.fromWallet(connector.priorityWallet),
|
|
19
|
+
readonlyTo: recipient ? true : false,
|
|
20
|
+
amount: need.float(needAmount),
|
|
21
|
+
readonlyAmount: true,
|
|
22
|
+
title: title,
|
|
23
|
+
from: from,
|
|
24
|
+
to: need,
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (connector.wallets.length !== 0)
|
|
29
|
+
return;
|
|
30
|
+
openConnector(connector);
|
|
31
|
+
}, [connector.wallets.length, connector]);
|
|
32
|
+
return (_jsxs(Popup, { onClose: onClose, header: _jsx("p", { children: title }), children: [connector.walletsTokens.map(({ token, wallet, balance }) => {
|
|
33
|
+
if (token.id === need.id)
|
|
34
|
+
return null;
|
|
35
|
+
const availableBalance = token.float(balance) - token.reserve;
|
|
36
|
+
if (need.originalChain === Network.Gonka || need.originalChain === Network.Juno) {
|
|
37
|
+
if (token.id === need.id)
|
|
38
|
+
return null;
|
|
39
|
+
if (token.originalAddress !== need.originalAddress)
|
|
40
|
+
return null;
|
|
41
|
+
if (availableBalance <= need.float(needAmount))
|
|
42
|
+
return null;
|
|
43
|
+
return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
|
|
44
|
+
}
|
|
45
|
+
if (availableBalance * token.usd <= need.usd * need.float(needAmount))
|
|
46
|
+
return null;
|
|
47
|
+
return _jsx(TokenCard, { token: token, onSelect: selectToken, hot: connector, wallet: wallet }, token.id);
|
|
48
|
+
}), _jsxs(PopupOption, { onClick: () => openConnector(connector), children: [_jsx("div", { style: { width: 44, height: 44, borderRadius: 16, background: "#000", display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx(WalletIcon, {}) }), _jsxs(PopupOptionInfo, { children: [_jsx("p", { children: "Connect wallet" }), _jsx("span", { className: "wallet-address", children: "To more pay options" })] })] })] }));
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=Payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payment.js","sourceRoot":"","sources":["../../../src/ui/payment/Payment.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 "../../omni/utils";
|
|
8
|
+
import { tokens } from "../../omni/tokens";
|
|
9
|
+
import Popup from "../Popup";
|
|
10
|
+
import { ImageView, TokenCard } from "./TokenCard";
|
|
11
|
+
import ExchangeIcon from "../icons/exchange";
|
|
12
|
+
export const Profile = observer(({ hot, onClose }) => {
|
|
13
|
+
let totalBalance = 0;
|
|
14
|
+
const tokensList = hot.wallets
|
|
15
|
+
.flatMap((wallet) => {
|
|
16
|
+
return tokens.list.map((token) => ({ token, wallet, balance: hot.balance(wallet, token) }));
|
|
17
|
+
})
|
|
18
|
+
.sort((a, b) => {
|
|
19
|
+
const balanceA = a.token.float(a.balance) * a.token.usd;
|
|
20
|
+
const balanceB = b.token.float(b.balance) * b.token.usd;
|
|
21
|
+
return balanceB - balanceA;
|
|
22
|
+
})
|
|
23
|
+
.map(({ token, wallet, balance }) => {
|
|
24
|
+
if (token.float(balance) < 0.000001)
|
|
25
|
+
return null;
|
|
26
|
+
totalBalance += token.float(balance) * token.usd;
|
|
27
|
+
return {
|
|
28
|
+
chain: token.chain,
|
|
29
|
+
component: (_jsx(TokenCard //
|
|
30
|
+
, { onSelect: () => {
|
|
31
|
+
if (token.chain === -4)
|
|
32
|
+
hot.withdraw(token.address, +token.float(balance).toFixed(6), { sender: wallet });
|
|
33
|
+
else
|
|
34
|
+
openBridge(hot, { title: "Exchange", sender: wallet, from: token });
|
|
35
|
+
}, wallet: wallet, token: token, hot: hot }, `${wallet.type}:${wallet.address}:${token.id}`)),
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (hot.wallets.length > 0)
|
|
40
|
+
return;
|
|
41
|
+
onClose();
|
|
42
|
+
}, [hot.wallets.length]);
|
|
43
|
+
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" }) })] }), 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) }))] }));
|
|
44
|
+
});
|
|
45
|
+
const ExchangeButton = styled.button `
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
gap: 8px;
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
outline: none;
|
|
51
|
+
border: none;
|
|
52
|
+
background: transparent;
|
|
53
|
+
padding: 8px;
|
|
54
|
+
border-radius: 24px;
|
|
55
|
+
transition: background 0.2s ease-in-out;
|
|
56
|
+
&:hover {
|
|
57
|
+
background: rgba(255, 255, 255, 0.1);
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
60
|
+
const TokenCards = styled.div `
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
gap: 8px;
|
|
64
|
+
width: 100%;
|
|
65
|
+
`;
|
|
66
|
+
const WalletCard = styled.div `
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: 8px;
|
|
70
|
+
border-radius: 24px;
|
|
71
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
72
|
+
padding: 6px;
|
|
73
|
+
padding-left: 8px;
|
|
74
|
+
padding-right: 12px;
|
|
75
|
+
background: #1a1a1a;
|
|
76
|
+
cursor: pointer;
|
|
77
|
+
transition: background 0.2s ease-in-out;
|
|
78
|
+
|
|
79
|
+
&:hover {
|
|
80
|
+
background: rgba(255, 255, 255, 0.04);
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
const BalanceCard = styled.h2 `
|
|
84
|
+
font-size: 48px;
|
|
85
|
+
font-weight: 600;
|
|
86
|
+
color: #fff;
|
|
87
|
+
`;
|
|
88
|
+
//# 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 "../../omni/recipient";
|
|
3
|
+
import { WalletType } from "../../omni/config";
|
|
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 "../../omni/recipient";
|
|
9
|
+
import { WalletType } from "../../omni/config";
|
|
10
|
+
import { openWalletPicker } from "../router";
|
|
11
|
+
import { formatter } from "../../omni/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 "../../omni/config";
|
|
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 "../../omni/config";
|
|
8
|
+
import { openWalletPicker } from "../router";
|
|
9
|
+
import { formatter } from "../../omni/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 "../../omni/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 "../../omni/utils";
|
|
6
|
+
import { Network, OmniToken } from "../../omni/config";
|
|
7
|
+
import { PopupOption } from "../styles";
|
|
8
|
+
import Popup from "../Popup";
|
|
9
|
+
import { TokenCard, ImageView } from "./TokenCard";
|
|
10
|
+
import { tokens } from "../../omni/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":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Token } from "../../omni/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,50 @@
|
|
|
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 { formatter } from "../../omni/utils";
|
|
5
|
+
import { PopupOption } from "../styles";
|
|
6
|
+
import { chainsMap } from "../../omni/config";
|
|
7
|
+
const images = {
|
|
8
|
+
cached: new Map(),
|
|
9
|
+
cache(url) {
|
|
10
|
+
if (this.cached.has(url))
|
|
11
|
+
return this.cached.get(url);
|
|
12
|
+
const promise = new Promise((resolve, reject) => {
|
|
13
|
+
const img = new Image();
|
|
14
|
+
img.src = url;
|
|
15
|
+
img.onload = () => resolve();
|
|
16
|
+
img.onerror = () => reject(new Error("Failed to load image"));
|
|
17
|
+
});
|
|
18
|
+
this.cached.set(url, promise);
|
|
19
|
+
return promise;
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
var ImageState;
|
|
23
|
+
(function (ImageState) {
|
|
24
|
+
ImageState["Loading"] = "loading";
|
|
25
|
+
ImageState["Loaded"] = "loaded";
|
|
26
|
+
ImageState["Error"] = "error";
|
|
27
|
+
})(ImageState || (ImageState = {}));
|
|
28
|
+
export const ImageView = ({ src, size = 40, alt, style }) => {
|
|
29
|
+
const [icon, setIcon] = useState(ImageState.Loading);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
setIcon(ImageState.Loading);
|
|
32
|
+
images
|
|
33
|
+
.cache(src)
|
|
34
|
+
.then(() => setIcon(ImageState.Loaded))
|
|
35
|
+
.catch(() => setIcon(ImageState.Error));
|
|
36
|
+
}, [src]);
|
|
37
|
+
if (icon === ImageState.Loaded) {
|
|
38
|
+
return _jsx("img", { src: src, alt: alt, style: { objectFit: "contain", width: size, height: size, borderRadius: "50%", ...style } });
|
|
39
|
+
}
|
|
40
|
+
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() }) }));
|
|
41
|
+
};
|
|
42
|
+
export const TokenIcon = observer(({ token, wallet }) => {
|
|
43
|
+
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: chainsMap[wallet.type]?.name || "", size: 14, style: { position: "absolute", bottom: 0, left: 0 } })] }));
|
|
44
|
+
});
|
|
45
|
+
export const TokenCard = observer(({ token, onSelect, hot, wallet }) => {
|
|
46
|
+
const balance = hot.balance(wallet, token);
|
|
47
|
+
const symbol = token.chain === -4 && !token.isMainOmni ? `${token.originalChainSymbol}_${token.symbol}` : token.symbol;
|
|
48
|
+
return (_jsxs(PopupOption, { onClick: () => onSelect(token, wallet), children: [_jsx(TokenIcon, { token: token, wallet: wallet }), _jsxs("div", { style: { marginTop: -2, display: "flex", flexDirection: "column", gap: 4, 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("div", { style: { display: "flex", flexDirection: "column", gap: 4, 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));
|
|
49
|
+
});
|
|
50
|
+
//# 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 "../omni/token";
|
|
5
|
+
import { OmniWallet } from "../OmniWallet";
|
|
6
|
+
import { WalletType } from "../omni/config";
|
|
7
|
+
import { Recipient } from "../omni/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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"}
|