rujira.ui 1.0.19 → 1.0.20
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/lib/cjs/components/AssetLabel.js +16 -5
- package/lib/cjs/components/header/Accounts.js +5 -21
- package/lib/cjs/helpers/index.js +30 -3
- package/lib/cjs/i18n/locales/de/header.json +0 -5
- package/lib/cjs/i18n/locales/en/algorithmic.json +4 -0
- package/lib/cjs/i18n/locales/en/header.json +0 -5
- package/lib/esm/components/AssetLabel.d.ts +10 -7
- package/lib/esm/components/AssetLabel.d.ts.map +1 -1
- package/lib/esm/components/AssetLabel.js +14 -4
- package/lib/esm/components/header/Accounts.d.ts.map +1 -1
- package/lib/esm/components/header/Accounts.js +7 -23
- package/lib/esm/helpers/index.d.ts +1 -0
- package/lib/esm/helpers/index.d.ts.map +1 -1
- package/lib/esm/helpers/index.js +29 -3
- package/lib/esm/i18n/locales/de/header.json +0 -5
- package/lib/esm/i18n/locales/en/algorithmic.json +4 -0
- package/lib/esm/i18n/locales/en/header.json +0 -5
- package/package.json +1 -1
- package/src/components/AssetLabel.tsx +21 -8
- package/src/components/header/Accounts.tsx +21 -55
- package/src/helpers/index.ts +28 -3
- package/src/i18n/locales/de/header.json +0 -5
- package/src/i18n/locales/en/header.json +0 -5
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AssetLabel = void 0;
|
|
3
|
+
exports.AssetLabel = exports.assetLabel = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const rujira_js_1 = require("rujira.js");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
// True when an asset uses an ambiguous symbol that needs its network appended
|
|
7
|
+
// to disambiguate it from the canonical token (e.g. a secured USDT that lives
|
|
8
|
+
// on a chain other than Ethereum).
|
|
9
|
+
const needsNetworkSuffix = (asset) => ((asset.metadata.symbol === "USDT" && asset.chain !== rujira_js_1.ETH) ||
|
|
10
|
+
(asset.metadata.symbol === "ETH" && asset.chain !== rujira_js_1.ETH) ||
|
|
11
|
+
(asset.metadata.symbol === "USDC" && asset.chain !== rujira_js_1.ETH)) &&
|
|
12
|
+
asset.type === "SECURED";
|
|
13
|
+
// String form of <AssetLabel> for contexts that require a plain string rather
|
|
14
|
+
// than JSX (e.g. the `symbol` prop of <Decimal>).
|
|
15
|
+
const assetLabel = (asset) => asset
|
|
16
|
+
? asset.metadata.symbol +
|
|
17
|
+
(needsNetworkSuffix(asset) ? `.${asset.chain}` : "")
|
|
18
|
+
: "";
|
|
19
|
+
exports.assetLabel = assetLabel;
|
|
20
|
+
const AssetLabel = ({ asset, Container }) => asset ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [asset.metadata.symbol, needsNetworkSuffix(asset) && (0, jsx_runtime_1.jsxs)(Container, { children: [".", asset.chain] })] })) : null;
|
|
10
21
|
exports.AssetLabel = AssetLabel;
|
|
@@ -6,7 +6,6 @@ const clsx_1 = require("clsx");
|
|
|
6
6
|
const react_1 = require("motion/react");
|
|
7
7
|
const react_2 = require("react");
|
|
8
8
|
const react_hot_toast_1 = require("react-hot-toast");
|
|
9
|
-
const react_router_dom_1 = require("react-router-dom");
|
|
10
9
|
const react_tooltip_1 = require("react-tooltip");
|
|
11
10
|
const rujira_js_1 = require("rujira.js");
|
|
12
11
|
const __1 = require("../..");
|
|
@@ -19,25 +18,13 @@ const Icons_1 = require("../icons/Icons");
|
|
|
19
18
|
const NetworkIcon_1 = require("../icons/NetworkIcon");
|
|
20
19
|
const Fiat_1 = require("../numbers/Fiat");
|
|
21
20
|
const ResolveLink_1 = require("./ResolveLink");
|
|
22
|
-
let referral = localStorage.getItem("referral");
|
|
23
21
|
const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getValue, customActions, }) => {
|
|
24
22
|
const { t } = (0, i18n_1.useTranslation)("header");
|
|
25
23
|
const { accounts: allAccounts, disconnectAll, selected } = provider;
|
|
26
24
|
const [showBlur, setShowBlur] = (0, react_2.useState)(false);
|
|
27
|
-
const { hideModal, showModal } = (0, GlobalModal_1.useGlobalModalContext)();
|
|
28
25
|
const [showBalance, setShowBalance] = (0, __1.useLocalStorage)("rujira-show-balance", "true");
|
|
29
26
|
const accounts = allAccounts?.filter((a) => (0, rujira_js_1.isThor)(a.address));
|
|
30
|
-
|
|
31
|
-
showModal({
|
|
32
|
-
title: t("referAndEarn"),
|
|
33
|
-
backgroundClose: true,
|
|
34
|
-
children: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { className: "p balance", children: t("referralDescription") }), (0, jsx_runtime_1.jsx)("div", { className: "pointer", onClick: () => {
|
|
35
|
-
react_hot_toast_1.default.success(t("referralCopied"));
|
|
36
|
-
navigator.clipboard.writeText(`https://rujira.network/?ref=${referral}`);
|
|
37
|
-
}, children: (0, jsx_runtime_1.jsx)(__1.Input, { value: `https://rujira.network/?ref=${referral}`, readOnly: true, label: t("clickToCopy") }) }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 color-grey mt-2", children: t("referralValidUntil") }), (0, jsx_runtime_1.jsx)("div", { className: "modal__footer mt-4 px-3 py-2 text-right", children: (0, jsx_runtime_1.jsx)(__1.Button, { label: t("close"), onClick: hideModal }) })] })),
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: !accounts || accounts.length === 0 ? ((0, jsx_runtime_1.jsx)(ConnectAnimation, { children: (0, jsx_runtime_1.jsx)(exports.Wallets, { provider: provider, wallets: wallets, routingElement: routingElement }) })) : ((0, jsx_runtime_1.jsxs)(MyAccount, { routingElement: routingElement, provider: provider, value: selected ? getValue(rujira_js_1.Account.fromAddress(selected.address)) : false, onHide: () => setShowBlur(false), children: [selected ? ((0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, to: "portfolio", className: "balance", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex ai-b", children: showBalance === "true" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Fiat_1.Fiat, { amount: getValue(rujira_js_1.Account.fromAddress(selected.address)), decimals: 12, symbol: "~$", padSymbol: false, className: "color-white fs-26 condensed" }), (0, jsx_runtime_1.jsx)("button", { className: "transparent ml-1 color-grey hover-white", onClick: (e) => {
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: !accounts || accounts.length === 0 ? ((0, jsx_runtime_1.jsx)(ConnectAnimation, { routingElement: routingElement, children: (0, jsx_runtime_1.jsx)(exports.Wallets, { provider: provider, wallets: wallets, routingElement: routingElement }) })) : ((0, jsx_runtime_1.jsxs)(MyAccount, { routingElement: routingElement, provider: provider, value: selected ? getValue(rujira_js_1.Account.fromAddress(selected.address)) : false, onHide: () => setShowBlur(false), children: [selected ? ((0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, to: "portfolio", className: "balance", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex ai-b", children: showBalance === "true" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Fiat_1.Fiat, { amount: getValue(rujira_js_1.Account.fromAddress(selected.address)), decimals: 12, symbol: "~$", padSymbol: false, className: "color-white fs-26 condensed" }), (0, jsx_runtime_1.jsx)("button", { className: "transparent ml-1 color-grey hover-white", onClick: (e) => {
|
|
41
28
|
e.stopPropagation();
|
|
42
29
|
e.preventDefault();
|
|
43
30
|
setShowBalance("false");
|
|
@@ -48,17 +35,14 @@ const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getValue, c
|
|
|
48
35
|
setShowBalance("true");
|
|
49
36
|
return false;
|
|
50
37
|
}, style: { marginRight: "-1rem" }, children: (0, jsx_runtime_1.jsx)(Icons_1.EyeSlash, { className: "w-2 h-2" }) })] })) }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 condensed color-grey mt-0.5", children: t("viewPortfolio") })] })) : null, accounts.map((account) => ((0, jsx_runtime_1.jsx)(AddressC, { provider: provider, ProviderIcon: ProviderIcon, account: account, selected: selected?.address.address === account.address.address &&
|
|
51
|
-
selected.provider === account.provider }, `${account.address.address}:${account.provider}`))), (0, jsx_runtime_1.jsxs)("nav", { className: "actions", children: [
|
|
38
|
+
selected.provider === account.provider }, `${account.address.address}:${account.provider}`))), (0, jsx_runtime_1.jsxs)("nav", { className: "actions", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, className: "action transparent", to: "connect", children: [(0, jsx_runtime_1.jsx)(Icons_1.Plus, {}), (0, jsx_runtime_1.jsx)("span", { children: t("connectAnotherWallet") })] }), customActions &&
|
|
52
39
|
customActions.map((e, index) => (0, react_2.cloneElement)(e, { key: index })), (0, jsx_runtime_1.jsxs)("button", { className: "action transparent", onClick: disconnectAll, children: [(0, jsx_runtime_1.jsx)(Icons_1.LinkDisconnect, {}), (0, jsx_runtime_1.jsx)("span", { children: t("disconnectAll") })] })] }), showBlur && (0, jsx_runtime_1.jsx)("div", { className: "blur" })] })) }));
|
|
53
40
|
};
|
|
54
41
|
exports.Accounts = Accounts;
|
|
55
|
-
|
|
56
|
-
return <Link {...props} ref={ref} />;
|
|
57
|
-
}); */
|
|
58
|
-
const ConnectAnimation = ({ children }) => {
|
|
42
|
+
const ConnectAnimation = ({ children, routingElement, }) => {
|
|
59
43
|
const { t } = (0, i18n_1.useTranslation)("header");
|
|
60
44
|
const [show, setShow] = (0, react_2.useState)(false);
|
|
61
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative py-q1 no-underline", onMouseOver: () => setShow(true), onMouseOut: () => setShow(false), children: [(0, jsx_runtime_1.jsxs)("div", { className: "rujira-header__connect", children: [(0, jsx_runtime_1.jsx)("div", { className: "fs-14 fw-500 fs-15 condensed", children: t("connect") }), (0, jsx_runtime_1.jsx)("img", { className: "w-3 h-3 filter-white", src: show ? connect_gif_1.default : connect_png_1.default, alt: "Connect" })] }), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: show && ((0, jsx_runtime_1.jsxs)(react_1.motion.div, { className: "rujira-header__popup right condensed w-32 text-center p-2", initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 4 }, exit: { opacity: 0, marginTop: -4 }, children: [(0, jsx_runtime_1.jsxs)(
|
|
45
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative py-q1 no-underline", onMouseOver: () => setShow(true), onMouseOut: () => setShow(false), children: [(0, jsx_runtime_1.jsxs)("div", { className: "rujira-header__connect", children: [(0, jsx_runtime_1.jsx)("div", { className: "fs-14 fw-500 fs-15 condensed", children: t("connect") }), (0, jsx_runtime_1.jsx)("img", { className: "w-3 h-3 filter-white", src: show ? connect_gif_1.default : connect_png_1.default, alt: "Connect" })] }), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: show && ((0, jsx_runtime_1.jsxs)(react_1.motion.div, { className: "rujira-header__popup right condensed w-32 text-center p-2", initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 4 }, exit: { opacity: 0, marginTop: -4 }, children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, className: "flex dir-c action transparent", to: "connect", children: [(0, jsx_runtime_1.jsx)("p", { className: "color-white", children: t("connectYourWallet") }), (0, jsx_runtime_1.jsx)("small", { className: "color-grey", children: t("createOrConnectWallet") })] }), children] })) })] }));
|
|
62
46
|
};
|
|
63
47
|
const Wallets = ({ modalLayout = false, provider, wallets, routingElement, }) => {
|
|
64
48
|
const { t } = (0, i18n_1.useTranslation)("header");
|
|
@@ -89,7 +73,7 @@ const Wallets = ({ modalLayout = false, provider, wallets, routingElement, }) =>
|
|
|
89
73
|
hr: true,
|
|
90
74
|
"mt-0 mb-1": !modalLayout,
|
|
91
75
|
"my-2": modalLayout,
|
|
92
|
-
}) }), (0, jsx_runtime_1.jsx)(
|
|
76
|
+
}) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routingElement, to: "/tou", className: "terms mb-1", children: "By connecting a wallet, you agree to Rujira's Terms of Use." }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routingElement, to: "/connect", onClick: hideModal, children: t("needHelpDeciding") })] }), (0, jsx_runtime_1.jsx)(react_tooltip_1.Tooltip, { id: "wallet-tip", className: "tooltip" })] }));
|
|
93
77
|
};
|
|
94
78
|
exports.Wallets = Wallets;
|
|
95
79
|
const MyAccount = ({ provider, children, onHide, routingElement, value, }) => {
|
package/lib/cjs/helpers/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bigIntToDecimalString = exports.floatToSubscript = exports.compress = exports.classApr = exports.formatApr = exports.nFormatterInt = exports.nFormatter = exports.uuidv4 = exports.isEmpty = exports.whatDecimalSeparator = exports.getLang = void 0;
|
|
4
|
+
exports.clipFloat = clipFloat;
|
|
4
5
|
exports.clipAmount = clipAmount;
|
|
5
6
|
const getLang = () => {
|
|
6
7
|
if (navigator.languages != undefined)
|
|
@@ -152,6 +153,32 @@ const floatToSubscript = (floatValue, rounding, fractionDigits) => {
|
|
|
152
153
|
return intPart + separator + trimmed;
|
|
153
154
|
};
|
|
154
155
|
exports.floatToSubscript = floatToSubscript;
|
|
156
|
+
function clipFloat(value) {
|
|
157
|
+
if (!isFinite(value) || value === 0)
|
|
158
|
+
return "0";
|
|
159
|
+
const abs = Math.abs(value);
|
|
160
|
+
const sign = value < 0 ? "-" : "";
|
|
161
|
+
const sep = (0, exports.whatDecimalSeparator)();
|
|
162
|
+
if (abs >= 1000)
|
|
163
|
+
return sign + Math.round(abs).toLocaleString();
|
|
164
|
+
if (abs >= 100)
|
|
165
|
+
return sign + abs.toLocaleDecimal(1);
|
|
166
|
+
if (abs >= 10)
|
|
167
|
+
return sign + abs.toLocaleDecimal(2);
|
|
168
|
+
if (abs >= 1)
|
|
169
|
+
return sign + abs.toLocaleDecimal(3);
|
|
170
|
+
if (abs >= 0.1)
|
|
171
|
+
return sign + abs.toLocaleDecimal(4);
|
|
172
|
+
// < 0.1: 4 significant figures, subscript notation if > 3 leading zeros
|
|
173
|
+
const leadingZeros = Math.max(0, -Math.floor(Math.log10(abs)) - 1);
|
|
174
|
+
const totalDecimals = leadingZeros + 4;
|
|
175
|
+
const formatted = abs.toLocaleString(undefined, {
|
|
176
|
+
minimumFractionDigits: totalDecimals,
|
|
177
|
+
maximumFractionDigits: totalDecimals,
|
|
178
|
+
});
|
|
179
|
+
const [intPart, decPart] = formatted.split(sep);
|
|
180
|
+
return sign + (intPart ?? "0") + sep + (0, exports.compress)((decPart ?? "").replace(/0+$/, ""));
|
|
181
|
+
}
|
|
155
182
|
function clipAmount(amount, decimals) {
|
|
156
183
|
const scale = 10n ** BigInt(decimals);
|
|
157
184
|
const intPart = amount / scale;
|
|
@@ -175,9 +202,9 @@ function clipAmount(amount, decimals) {
|
|
|
175
202
|
return { intStr: "0", sep: false, decStr: "" };
|
|
176
203
|
const leadingZeros = (fracStr.match(/^(0*)/) ?? ["", ""])[1].length;
|
|
177
204
|
if (leadingZeros === 0)
|
|
178
|
-
return withDec(fracStr.substring(0, 4), "0");
|
|
179
|
-
// < 0.1: 4 significant figures
|
|
180
|
-
const sigFigStr = fracStr.substring(0, leadingZeros + 4);
|
|
205
|
+
return withDec(fracStr.substring(0, 4).replace(/0+$/, ""), "0");
|
|
206
|
+
// < 0.1: 4 significant figures, trailing zeros trimmed
|
|
207
|
+
const sigFigStr = fracStr.substring(0, leadingZeros + 4).replace(/0+$/, "");
|
|
181
208
|
if (leadingZeros > 3)
|
|
182
209
|
return { intStr: "0", sep: true, decStr: (0, exports.compress)(sigFigStr) };
|
|
183
210
|
return { intStr: "0", sep: true, decStr: sigFigStr };
|
|
@@ -70,8 +70,6 @@
|
|
|
70
70
|
"articlesDesc": "Deine Nachrichtenquelle für alles rund um Rujira",
|
|
71
71
|
"connectYourAccount": "Verbinde dein Konto",
|
|
72
72
|
"viewPortfolio": "Portfolio anzeigen",
|
|
73
|
-
"referAndEarn": "Empfehlen und verdienen",
|
|
74
|
-
"referralLink": "Empfehlungslink",
|
|
75
73
|
"connectAnotherWallet": "Weitere Wallet verbinden",
|
|
76
74
|
"disconnectAll": "Alle trennen",
|
|
77
75
|
"connect": "Verbinden",
|
|
@@ -86,10 +84,7 @@
|
|
|
86
84
|
"lendAndBorrow": "Verleihen & Leihen",
|
|
87
85
|
"ventures": "Ventures",
|
|
88
86
|
"previewWarning": "Rujira Preview ist eine experimentelle Umgebung. Produkte befinden sich manchmal in früher Entwicklung und sind vor dem Audit. Bitte nutze sie auf eigenes Risiko.",
|
|
89
|
-
"referralDescription": "Teile deinen einzigartigen Empfehlungslink und verdiene Affiliate-Gebühren bei Trades, Swaps und allen DeFi-Interaktionen.",
|
|
90
|
-
"referralCopied": "Empfehlungslink in die Zwischenablage kopiert",
|
|
91
87
|
"clickToCopy": "Zum Kopieren klicken",
|
|
92
|
-
"referralValidUntil": "Dieser Empfehlungslink ist gültig bis ...",
|
|
93
88
|
"close": "Schließen",
|
|
94
89
|
"addressCopied": "Adresse in die Zwischenablage kopiert",
|
|
95
90
|
"copyAddress": "Adresse kopieren...",
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Algorithmic Trading",
|
|
3
|
+
"description": "Put your assets at work in automated trading strategies and earn yield for providing liquidty to the orderbook. Explore top performing positions and use as benchmark to set your own parameters, or copy them directly."
|
|
4
|
+
}
|
|
@@ -70,8 +70,6 @@
|
|
|
70
70
|
"articlesDesc": "Your news source for everything Rujira related",
|
|
71
71
|
"connectYourAccount": "Connect Your Account",
|
|
72
72
|
"viewPortfolio": "View portfolio",
|
|
73
|
-
"referAndEarn": "Refer And Earn",
|
|
74
|
-
"referralLink": "Referral Link",
|
|
75
73
|
"connectAnotherWallet": "Connect another wallet",
|
|
76
74
|
"disconnectAll": "Disconnect all",
|
|
77
75
|
"connect": "Connect",
|
|
@@ -86,10 +84,7 @@
|
|
|
86
84
|
"lendAndBorrow": "Lend & Borrow",
|
|
87
85
|
"ventures": "Ventures",
|
|
88
86
|
"previewWarning": "Rujira Preview is an experimental environment. Products will sometimes be in early development and pre-audit. Please use at your own risk.",
|
|
89
|
-
"referralDescription": "Share your unique referral link and earn affiliate fees on trades, swaps, and all DeFi interactions.",
|
|
90
|
-
"referralCopied": "referral copied to clipboard",
|
|
91
87
|
"clickToCopy": "Click to copy",
|
|
92
|
-
"referralValidUntil": "This referral link is valid until ...",
|
|
93
88
|
"close": "Close",
|
|
94
89
|
"addressCopied": "address copied to clipboard",
|
|
95
90
|
"copyAddress": "copy address...",
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { FC, PropsWithChildren } from "react";
|
|
2
|
+
type LabelAsset = {
|
|
3
|
+
metadata: {
|
|
4
|
+
symbol: string;
|
|
5
|
+
};
|
|
6
|
+
type: string;
|
|
7
|
+
chain: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const assetLabel: (asset?: LabelAsset | null) => string;
|
|
2
10
|
export declare const AssetLabel: FC<PropsWithChildren<{
|
|
3
|
-
asset?:
|
|
4
|
-
metadata: {
|
|
5
|
-
symbol: string;
|
|
6
|
-
};
|
|
7
|
-
type: string;
|
|
8
|
-
chain: string;
|
|
9
|
-
} | null | undefined;
|
|
11
|
+
asset?: LabelAsset | null | undefined;
|
|
10
12
|
Container: FC<PropsWithChildren>;
|
|
11
13
|
}>>;
|
|
14
|
+
export {};
|
|
12
15
|
//# sourceMappingURL=AssetLabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetLabel.d.ts","sourceRoot":"","sources":["../../../src/components/AssetLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9C,
|
|
1
|
+
{"version":3,"file":"AssetLabel.d.ts","sourceRoot":"","sources":["../../../src/components/AssetLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9C,KAAK,UAAU,GAAG;IAAE,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAahF,eAAO,MAAM,UAAU,WAAY,UAAU,GAAG,IAAI,KAAG,MAI/C,CAAC;AAET,eAAO,MAAM,UAAU,EAAE,EAAE,CACzB,iBAAiB,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;CAClC,CAAC,CAOM,CAAC"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { ETH } from "rujira.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
// True when an asset uses an ambiguous symbol that needs its network appended
|
|
4
|
+
// to disambiguate it from the canonical token (e.g. a secured USDT that lives
|
|
5
|
+
// on a chain other than Ethereum).
|
|
6
|
+
const needsNetworkSuffix = (asset) => ((asset.metadata.symbol === "USDT" && asset.chain !== ETH) ||
|
|
7
|
+
(asset.metadata.symbol === "ETH" && asset.chain !== ETH) ||
|
|
8
|
+
(asset.metadata.symbol === "USDC" && asset.chain !== ETH)) &&
|
|
9
|
+
asset.type === "SECURED";
|
|
10
|
+
// String form of <AssetLabel> for contexts that require a plain string rather
|
|
11
|
+
// than JSX (e.g. the `symbol` prop of <Decimal>).
|
|
12
|
+
export const assetLabel = (asset) => asset
|
|
13
|
+
? asset.metadata.symbol +
|
|
14
|
+
(needsNetworkSuffix(asset) ? `.${asset.chain}` : "")
|
|
15
|
+
: "";
|
|
16
|
+
export const AssetLabel = ({ asset, Container }) => asset ? (_jsxs(_Fragment, { children: [asset.metadata.symbol, needsNetworkSuffix(asset) && _jsxs(Container, { children: [".", asset.chain] })] })) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accounts.d.ts","sourceRoot":"","sources":["../../../../src/components/header/Accounts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,EAAE,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Accounts.d.ts","sourceRoot":"","sources":["../../../../src/components/header/Accounts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,EAAE,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAE,OAAO,EAAyB,MAAM,WAAW,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,QAAQ,EAGT,MAAM,OAAO,CAAC;AAWf,UAAU,aAAa;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,YAAY,EAAE,EAAE,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,kFAOlB,aAAa,KAAG,YAiHlB,CAAC;AAiDF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,wDAKjB,YAAY,KAAG,YAkFjB,CAAC"}
|