rujira.ui 1.0.7 → 1.0.9
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 +4 -3
- package/lib/cjs/components/balance/OmniBalance.js +1 -1
- package/lib/cjs/components/bridges/DepositModal.js +7 -7
- package/lib/cjs/components/buttons/TxButton.js +23 -7
- package/lib/cjs/components/header/Accounts.js +4 -4
- package/lib/cjs/components/icons/NetworkIcon.js +18 -17
- package/lib/cjs/i18n/locales/de/trade.json +2 -1
- package/lib/cjs/i18n/locales/en/trade.json +2 -1
- package/lib/cjs/wallets/providers/cosmos.js +7 -3
- package/lib/cjs/wallets/providers/eip712.js +1 -1
- package/lib/cjs/wallets/providers/keplr.js +2 -1
- package/lib/cjs/wallets/providers/ledger.js +2 -1
- package/lib/cjs/wallets/providers/okx.js +2 -1
- package/lib/cjs/wallets/providers/ton.js +2 -1
- package/lib/cjs/wallets/providers/tronlink.js +3 -2
- package/lib/cjs/wallets/providers/utxo.js +6 -5
- package/lib/cjs/wallets/providers/xaman.js +3 -2
- package/lib/esm/components/AssetLabel.d.ts.map +1 -1
- package/lib/esm/components/AssetLabel.js +4 -3
- package/lib/esm/components/balance/OmniBalance.d.ts.map +1 -1
- package/lib/esm/components/balance/OmniBalance.js +2 -2
- package/lib/esm/components/bridges/DepositModal.d.ts.map +1 -1
- package/lib/esm/components/bridges/DepositModal.js +8 -8
- package/lib/esm/components/buttons/TxButton.d.ts.map +1 -1
- package/lib/esm/components/buttons/TxButton.js +24 -8
- package/lib/esm/components/header/Accounts.d.ts.map +1 -1
- package/lib/esm/components/header/Accounts.js +5 -5
- package/lib/esm/components/icons/NetworkIcon.d.ts.map +1 -1
- package/lib/esm/components/icons/NetworkIcon.js +18 -17
- package/lib/esm/i18n/locales/de/trade.json +2 -1
- package/lib/esm/i18n/locales/en/trade.json +2 -1
- package/lib/esm/wallets/providers/cosmos.d.ts +1 -1
- package/lib/esm/wallets/providers/cosmos.d.ts.map +1 -1
- package/lib/esm/wallets/providers/cosmos.js +8 -4
- package/lib/esm/wallets/providers/eip712.d.ts +1 -1
- package/lib/esm/wallets/providers/eip712.d.ts.map +1 -1
- package/lib/esm/wallets/providers/eip712.js +2 -2
- package/lib/esm/wallets/providers/keplr.d.ts.map +1 -1
- package/lib/esm/wallets/providers/keplr.js +2 -1
- package/lib/esm/wallets/providers/ledger.d.ts.map +1 -1
- package/lib/esm/wallets/providers/ledger.js +2 -1
- package/lib/esm/wallets/providers/okx.d.ts.map +1 -1
- package/lib/esm/wallets/providers/okx.js +2 -1
- package/lib/esm/wallets/providers/ton.d.ts.map +1 -1
- package/lib/esm/wallets/providers/ton.js +2 -1
- package/lib/esm/wallets/providers/tronlink.d.ts.map +1 -1
- package/lib/esm/wallets/providers/tronlink.js +3 -2
- package/lib/esm/wallets/providers/utxo.d.ts +1 -1
- package/lib/esm/wallets/providers/utxo.d.ts.map +1 -1
- package/lib/esm/wallets/providers/utxo.js +6 -5
- package/lib/esm/wallets/providers/xaman.d.ts.map +1 -1
- package/lib/esm/wallets/providers/xaman.js +3 -2
- package/package.json +2 -2
- package/src/components/AssetLabel.tsx +4 -3
- package/src/components/balance/OmniBalance.tsx +12 -3
- package/src/components/bridges/DepositModal.tsx +9 -8
- package/src/components/buttons/TxButton.tsx +32 -10
- package/src/components/header/Accounts.tsx +5 -5
- package/src/components/icons/NetworkIcon.tsx +37 -18
- package/src/i18n/locales/de/trade.json +2 -1
- package/src/i18n/locales/en/trade.json +2 -1
- package/src/scss/styledcomponents/_tabs.scss +4 -0
- package/src/wallets/providers/cosmos.ts +31 -21
- package/src/wallets/providers/eip712.ts +13 -5
- package/src/wallets/providers/keplr.ts +10 -2
- package/src/wallets/providers/ledger.ts +12 -9
- package/src/wallets/providers/okx.ts +10 -2
- package/src/wallets/providers/ton.ts +10 -2
- package/src/wallets/providers/tronlink.ts +11 -3
- package/src/wallets/providers/utxo.ts +6 -6
- package/src/wallets/providers/xaman.ts +11 -3
|
@@ -4,9 +4,11 @@ import { useEffect, useMemo, useRef, useState, } from "react";
|
|
|
4
4
|
import toast from "react-hot-toast";
|
|
5
5
|
import { Trans } from "react-i18next";
|
|
6
6
|
import { Tooltip } from "react-tooltip";
|
|
7
|
-
import { InsufficientAllowanceError, MsgErc20IncreaseAllowance, MsgErc20ResetAllowance, networkTxLink, translateError,
|
|
7
|
+
import { AVAX, BSC, InsufficientAllowanceError, MsgErc20IncreaseAllowance, MsgErc20ResetAllowance, TxError, networkTxLink, translateError, } from "rujira.js";
|
|
8
|
+
import txSimulateError from "../../assets/images/exclamation.gif";
|
|
8
9
|
import txFail from "../../assets/images/txfail.gif";
|
|
9
10
|
import txSign from "../../assets/images/txsign.gif";
|
|
11
|
+
import txSimulate from "../../assets/images/txsimulate.gif";
|
|
10
12
|
import txSuccess from "../../assets/images/txsuccess.gif";
|
|
11
13
|
import lock from "../../assets/images/unlock.gif";
|
|
12
14
|
import { useTranslation } from "../../i18n";
|
|
@@ -14,8 +16,6 @@ import { Loader } from "../loader/Loader";
|
|
|
14
16
|
import { Warning } from "../notices/Warning";
|
|
15
17
|
import { Decimal } from "../numbers/Decimal";
|
|
16
18
|
import { Button } from "./Button";
|
|
17
|
-
import txSimulate from "../../assets/images/txsimulate.gif";
|
|
18
|
-
import txSimulateError from "../../assets/images/exclamation.gif";
|
|
19
19
|
// Helper to identify spacing/layout classes
|
|
20
20
|
const SPACING_CLASS_REGEX = /^(m|p)(l|r|t|b|x|y)?-\d+$/;
|
|
21
21
|
const isSpacingClass = (className) => SPACING_CLASS_REGEX.test(className);
|
|
@@ -30,7 +30,7 @@ const separateClasses = (className) => {
|
|
|
30
30
|
// Add chains here that do not require the extra reset step, for USDT allowance approvals,
|
|
31
31
|
// when there is already a non-zero allowance approved. We default to the 3-step process
|
|
32
32
|
// to avoid failing deposits for future chain integrations.
|
|
33
|
-
const TWO_STEP_ALLOWANCE_CHAINS = new Set([
|
|
33
|
+
const TWO_STEP_ALLOWANCE_CHAINS = new Set([BSC, AVAX]);
|
|
34
34
|
export const TxButton = (props) => {
|
|
35
35
|
const { t } = useTranslation("common");
|
|
36
36
|
const { accountProvider, msg, onSuccess, onError, SimulationComponent = DefaultSimulationComponent, children, toastOpts = {}, className, hideSimulation, onClick, ...rest } = props;
|
|
@@ -184,19 +184,35 @@ export const TxButton = (props) => {
|
|
|
184
184
|
}),
|
|
185
185
|
};
|
|
186
186
|
return (_jsxs(_Fragment, { children: [_jsxs(Button, { ...modProps, onClick: handleSign, className: clsx(stylingClasses.length > 0 ? stylingClasses : "button", spacingClasses, {
|
|
187
|
-
"button--grey": disabled &&
|
|
187
|
+
"button--grey": disabled &&
|
|
188
|
+
!isSimulating &&
|
|
189
|
+
!stylingClasses.includes("transparent"),
|
|
188
190
|
"button--waiting": (isSigning || isRejected || isSuccess || isSimulating) &&
|
|
189
191
|
!className?.includes("transparent"),
|
|
190
192
|
"button--success": isSuccess,
|
|
191
193
|
"button--rejected": isRejected,
|
|
192
194
|
"button--simulating": isSimulating,
|
|
193
195
|
}), style: {
|
|
194
|
-
cursor: isSigning || isSuccess || isRejected || isSimulating
|
|
196
|
+
cursor: isSigning || isSuccess || isRejected || isSimulating
|
|
197
|
+
? "default"
|
|
198
|
+
: undefined,
|
|
195
199
|
...rest.style,
|
|
196
200
|
}, disabled: disabled, "data-tooltip-id": "tx-button-tip", "data-tooltip-html": showTooltip
|
|
197
201
|
? `<p class="fs-12 lh-16 fw-400 w-36 mb-0.5">${translateError(simulationError.message)}</p>`
|
|
198
|
-
: undefined, children: [(isSuccess ||
|
|
199
|
-
|
|
202
|
+
: undefined, children: [(isSuccess ||
|
|
203
|
+
isRejected ||
|
|
204
|
+
isSigning ||
|
|
205
|
+
isSimulating ||
|
|
206
|
+
!!simulationError) &&
|
|
207
|
+
!className?.includes("transparent") && (_jsx("img", { className: "w-4 h-4 filter-white big", src: isSimulating
|
|
208
|
+
? txSimulate
|
|
209
|
+
: !!simulationError
|
|
210
|
+
? txSimulateError
|
|
211
|
+
: isSigning
|
|
212
|
+
? txSign
|
|
213
|
+
: isSuccess
|
|
214
|
+
? txSuccess
|
|
215
|
+
: txFail, alt: "lock" })), (isSigning || isRejected || isSuccess) &&
|
|
200
216
|
className?.includes("transparent") ? (_jsx(Loader, { className: "w-full h-full" })) : (((!isSigning && !isRejected && !isSuccess) ||
|
|
201
217
|
className?.includes("transparent")) &&
|
|
202
218
|
children)] }), hideSimulation ? null : msg ? (_jsx(SimulationComponent, { simulation: simulation, error: simulationError })) : 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;AAI5E,OAAO,EAAE,OAAO,
|
|
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;AAI5E,OAAO,EAAE,OAAO,EAAyB,MAAM,WAAW,CAAC;AAC3D,OAAO,EACL,eAAe,EAGf,QAAQ,EAGT,MAAM,OAAO,CAAC;AAaf,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,YAuJlB,CAAC;AA4CF,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,wCAIjB,YAAY,KAAG,YAwEjB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { cloneElement, useEffect, useState } from "react";
|
|
|
5
5
|
import toast from "react-hot-toast";
|
|
6
6
|
import { Link } from "react-router-dom";
|
|
7
7
|
import { Tooltip } from "react-tooltip";
|
|
8
|
-
import { isThor } from "rujira.js";
|
|
8
|
+
import { THOR, isThor } from "rujira.js";
|
|
9
9
|
import { Button, Input, Spinner, useLocalStorage, } from "../..";
|
|
10
10
|
import combined from "../../assets/images/combined.png";
|
|
11
11
|
import connect from "../../assets/images/connect.gif";
|
|
@@ -37,11 +37,11 @@ export const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getV
|
|
|
37
37
|
return (_jsx(_Fragment, { children: !accounts || accounts.length === 0 ? (_jsx(ConnectAnimation, { children: _jsx(Wallets, { provider: provider, wallets: wallets }) })) : (_jsxs(MyAccount, { routingElement: routingElement, provider: provider, value: selected
|
|
38
38
|
? getValue({
|
|
39
39
|
address: selected.address,
|
|
40
|
-
network:
|
|
40
|
+
network: THOR,
|
|
41
41
|
})
|
|
42
42
|
: false, onHide: () => setShowBlur(false), children: [selected ? (_jsxs(ResolveLink, { as: routingElement, to: "portfolio", className: "balance", children: [_jsx("div", { className: "flex ai-b", children: showBalance === "true" ? (_jsxs(_Fragment, { children: [_jsx(Fiat, { amount: getValue({
|
|
43
43
|
address: selected.address,
|
|
44
|
-
network:
|
|
44
|
+
network: THOR,
|
|
45
45
|
}), decimals: 12, symbol: "~$", padSymbol: false, className: "color-white fs-26 condensed" }), _jsx("button", { className: "transparent ml-1 color-grey hover-white", onClick: (e) => {
|
|
46
46
|
e.stopPropagation();
|
|
47
47
|
e.preventDefault();
|
|
@@ -103,7 +103,7 @@ const MyAccount = ({ provider, children, onHide, routingElement, value, }) => {
|
|
|
103
103
|
useEffect(() => {
|
|
104
104
|
onHide();
|
|
105
105
|
}, [show]);
|
|
106
|
-
return (_jsxs("div", { className: "relative py-q1", onMouseEnter: () => setShow(true), onMouseLeave: () => setShow(false), children: [_jsxs(ResolveLink, { as: routingElement, to: "portfolio", className: "rujira-header__pfp", children: [value !== false && showBalance === "true" && (_jsx(Fiat, { amount: value, symbol: "~$", decimals: 12, padSymbol: false })), selected && _jsx(NetworkIcon, { network:
|
|
106
|
+
return (_jsxs("div", { className: "relative py-q1", onMouseEnter: () => setShow(true), onMouseLeave: () => setShow(false), children: [_jsxs(ResolveLink, { as: routingElement, to: "portfolio", className: "rujira-header__pfp", children: [value !== false && showBalance === "true" && (_jsx(Fiat, { amount: value, symbol: "~$", decimals: 12, padSymbol: false })), selected && _jsx(NetworkIcon, { network: THOR }), accounts?.length && !selected && _jsx("img", { src: combined, alt: "combined" }), provider.isLoading && _jsx(Spinner, {})] }), _jsx(AnimatePresence, { children: show && (_jsx(motion.div, { className: "rujira-header__popup right condensed p-1.5 br-2", initial: { opacity: 0, marginTop: -4, right: -8 }, animate: { opacity: 1, marginTop: 4, right: -8 }, exit: { opacity: 0, marginTop: -4, right: -8 }, children: children })) })] }));
|
|
107
107
|
};
|
|
108
108
|
const AddressC = ({ account, selected, provider, ProviderIcon, }) => {
|
|
109
109
|
const { t } = useTranslation("header");
|
|
@@ -112,7 +112,7 @@ const AddressC = ({ account, selected, provider, ProviderIcon, }) => {
|
|
|
112
112
|
return (_jsxs("div", { onMouseOver: () => setHover(true), onMouseOut: () => setHover(false), className: clsx({
|
|
113
113
|
"flex ai-c px-1 address": true,
|
|
114
114
|
"address--selected": selected,
|
|
115
|
-
}), children: [_jsx(NetworkIcon, { network:
|
|
115
|
+
}), children: [_jsx(NetworkIcon, { network: THOR, className: "address__wallet", selected: selected || hover }), _jsx("p", { className: "address__address pointer", onClick: () => {
|
|
116
116
|
if (selected) {
|
|
117
117
|
toast.success(t("addressCopied"));
|
|
118
118
|
navigator.clipboard.writeText(account.address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/NetworkIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"NetworkIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/icons/NetworkIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAYL,OAAO,EAOR,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAyGA,CAAC"}
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { AVAX, BASE, BCH, BSC, BTC, DOGE, ETH, GAIA, KUJI, LTC, NOBLE, OSMO, SOL, THOR, TON, TRON, XRP, } from "rujira.js";
|
|
2
3
|
import { NetworkIcons } from "../..";
|
|
3
4
|
export const NetworkIcon = ({ network, className, selected = true }) => {
|
|
4
5
|
switch (network) {
|
|
5
|
-
case
|
|
6
|
+
case AVAX:
|
|
6
7
|
return selected ? (_jsx(NetworkIcons.Avalanche, { className: className })) : (_jsx(NetworkIcons.AvalancheSimple, { className: className }));
|
|
7
|
-
case
|
|
8
|
+
case BASE:
|
|
8
9
|
return selected ? (_jsx(NetworkIcons.Base, { className: className })) : (_jsx(NetworkIcons.BaseSimple, { className: className }));
|
|
9
|
-
case
|
|
10
|
+
case BTC:
|
|
10
11
|
return selected ? (_jsx(NetworkIcons.Bitcoin, { className: className })) : (_jsx(NetworkIcons.BitcoinSimple, { className: className }));
|
|
11
|
-
case
|
|
12
|
+
case BCH:
|
|
12
13
|
return selected ? (_jsx(NetworkIcons.BitcoinCash, { className: className })) : (_jsx(NetworkIcons.BitcoinCashSimple, { className: className }));
|
|
13
|
-
case
|
|
14
|
+
case BSC:
|
|
14
15
|
return selected ? (_jsx(NetworkIcons.BinanceSmartChain, { className: className })) : (_jsx(NetworkIcons.BinanceSmartChainSimple, { className: className }));
|
|
15
|
-
case
|
|
16
|
+
case DOGE:
|
|
16
17
|
return selected ? (_jsx(NetworkIcons.Doge, { className: className })) : (_jsx(NetworkIcons.DogeSimple, { className: className }));
|
|
17
|
-
case
|
|
18
|
+
case ETH:
|
|
18
19
|
return selected ? (_jsx(NetworkIcons.Ethereum, { className: className })) : (_jsx(NetworkIcons.EthereumSimple, { className: className }));
|
|
19
|
-
case
|
|
20
|
+
case GAIA:
|
|
20
21
|
return selected ? (_jsx(NetworkIcons.Cosmos, { className: className })) : (_jsx(NetworkIcons.CosmosSimple, { className: className }));
|
|
21
|
-
case
|
|
22
|
+
case KUJI:
|
|
22
23
|
return selected ? (_jsx(NetworkIcons.Kujira, { className: className })) : (_jsx(NetworkIcons.KujiraSimple, { className: className }));
|
|
23
|
-
case
|
|
24
|
+
case LTC:
|
|
24
25
|
return selected ? (_jsx(NetworkIcons.Litecoin, { className: className })) : (_jsx(NetworkIcons.LitecoinSimple, { className: className }));
|
|
25
|
-
case
|
|
26
|
+
case NOBLE:
|
|
26
27
|
return selected ? (_jsx(NetworkIcons.Noble, { className: className })) : (_jsx(NetworkIcons.NobleSimple, { className: className }));
|
|
27
|
-
case
|
|
28
|
+
case OSMO:
|
|
28
29
|
return selected ? (_jsx(NetworkIcons.Osmosis, { className: className })) : (_jsx(NetworkIcons.OsmosisSimple, { className: className }));
|
|
29
|
-
case
|
|
30
|
+
case THOR:
|
|
30
31
|
return selected ? (_jsx(NetworkIcons.Thorchain, { className: className })) : (_jsx(NetworkIcons.ThorchainSimple, { className: className }));
|
|
31
|
-
case
|
|
32
|
+
case TON:
|
|
32
33
|
return selected ? (_jsx(NetworkIcons.Ton, { className: className })) : (_jsx(NetworkIcons.TonSimple, { className: className }));
|
|
33
|
-
case
|
|
34
|
+
case TRON:
|
|
34
35
|
return selected ? (_jsx(NetworkIcons.Tron, { className: className })) : (_jsx(NetworkIcons.TronSimple, { className: className }));
|
|
35
|
-
case
|
|
36
|
+
case SOL:
|
|
36
37
|
return selected ? (_jsx(NetworkIcons.Solana, { className: className })) : (_jsx(NetworkIcons.SolanaSimple, { className: className }));
|
|
37
|
-
case
|
|
38
|
+
case XRP:
|
|
38
39
|
return selected ? (_jsx(NetworkIcons.XRP, { className: className })) : (_jsx(NetworkIcons.XRPSimple, { className: className }));
|
|
39
40
|
}
|
|
40
41
|
};
|
|
@@ -218,5 +218,6 @@
|
|
|
218
218
|
"depositRange": "Einzahlen",
|
|
219
219
|
"withdrawRange": "Abheben",
|
|
220
220
|
"closeRange": "Schließen",
|
|
221
|
-
"createPosition": "Position Erstellen"
|
|
221
|
+
"createPosition": "Position Erstellen",
|
|
222
|
+
"marketOrderWarning": "Market-Order kann nicht platziert werden. Bitte verwende stattdessen eine optimierte Order."
|
|
222
223
|
}
|
|
@@ -216,5 +216,6 @@
|
|
|
216
216
|
"depositRange": "Deposit",
|
|
217
217
|
"withdrawRange": "Withdraw",
|
|
218
218
|
"closeRange": "Close",
|
|
219
|
-
"createPosition": "Create Position"
|
|
219
|
+
"createPosition": "Create Position",
|
|
220
|
+
"marketOrderWarning": "Cannot place a Market order. Please use an Optimized order instead."
|
|
220
221
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChainInfo, Keplr } from "@keplr-wallet/types";
|
|
2
|
-
import { Account, Address, Msg, Network, Signer,
|
|
2
|
+
import { Account, Address, Msg, Network, Signer, Simulation, TxResult, signers } from "rujira.js";
|
|
3
3
|
export declare class CosmosAdapter implements Signer {
|
|
4
4
|
private k;
|
|
5
5
|
private opts?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,OAAO,EACP,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,OAAO,EACP,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EAEV,QAAQ,EACR,OAAO,EACR,MAAM,WAAW,CAAC;AAMnB,qBAAa,aAAc,YAAW,MAAM;IAExC,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,IAAI,CAAC;gBADL,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,EAC1B,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,YAAA;IAE1C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW,IAAI,OAAO;IAOT,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAqB7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAKvC,gBAAgB,CAC3B,WAAW,EAAE,UAAU,EACvB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,QAAQ,CAAC;IAkBP,WAAW,CACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAOhC,QAAQ,IAAI,OAAO,EAAE;CAW7B;AAED,eAAO,MAAM,WAAW,MAAO,SAAS,KAAG,OAAO,CAAC,MAAM,CAAC,QAMxD,CAAC;AAEH,eAAO,MAAM,UAAU,MAAO,SAAS,KAAG,OAiBzC,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAEtC,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG,SAM1C,CAAC;AAEF,eAAO,MAAM,WAAW,WACd,SAAS,UAEb,OAAO,CAAC,MAAM,CAAC,kBAAkB,GACjC,OAAO,CAAC,MAAM,CAAC,mBAAmB,YAC5B,OAAO,CAAC,MAAM,CAAC,mBAAmB,KAC3C,OAAO,CAAC,MAAM,CAAC,YAmBjB,CAAC;AAEF,eAAO,MAAM,QAAQ,WACX,OAAO,CAAC,MAAM,CAAC,YAAY,OAC9B,GAAG;;;;;EA8CT,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fromBech32 } from "@cosmjs/encoding";
|
|
2
2
|
import { Decimal } from "@cosmjs/math";
|
|
3
|
-
import { signers, } from "rujira.js";
|
|
3
|
+
import { THOR, signers, } from "rujira.js";
|
|
4
4
|
import * as config from "../config";
|
|
5
5
|
const clientCache = new Map();
|
|
6
6
|
export class CosmosAdapter {
|
|
@@ -100,7 +100,8 @@ export const getConfig = (prefix) => {
|
|
|
100
100
|
return c;
|
|
101
101
|
};
|
|
102
102
|
export const buildClient = (config, signer, options) => {
|
|
103
|
-
const client = clientCache.get(config.chainId) ||
|
|
103
|
+
const client = clientCache.get(config.chainId) ||
|
|
104
|
+
new signers.cosmos.HttpBatchClient(config.rpc);
|
|
104
105
|
clientCache.set(config.chainId, client);
|
|
105
106
|
const gasPrice = getGasPrice(config);
|
|
106
107
|
return signers.cosmos.CosmosClient.createWithSigner(signers.cosmos.Comet38Client.create(client), signer, {
|
|
@@ -118,13 +119,16 @@ export const simulate = async (client, msg) => {
|
|
|
118
119
|
const sim = Math.ceil(simRaw * 1.5);
|
|
119
120
|
const fee = client.calculateFee(sim).amount[0];
|
|
120
121
|
const feeAmount = BigInt(fee.amount);
|
|
121
|
-
if (msg.account.network ===
|
|
122
|
+
if (msg.account.network === THOR) {
|
|
122
123
|
// Gas is only charged on thorchain if a signers.cosmos.MsgExecuteContract is in the tx
|
|
123
124
|
const gasCost = encoded.msgs.find((a) => a.typeUrl === signers.cosmos.MsgExecuteContract.typeUrl)
|
|
124
125
|
? feeAmount
|
|
125
126
|
: 0n;
|
|
126
127
|
// And all 0.02 RUNE fees still apply
|
|
127
|
-
const feeCost = BigInt(encoded.msgs.filter((a) => [
|
|
128
|
+
const feeCost = BigInt(encoded.msgs.filter((a) => [
|
|
129
|
+
signers.cosmos.MsgSend.typeUrl,
|
|
130
|
+
signers.cosmos.MsgDeposit.typeUrl,
|
|
131
|
+
].includes(a.typeUrl)).length) * 2000000n;
|
|
128
132
|
return {
|
|
129
133
|
symbol: "RUNE",
|
|
130
134
|
decimals: 8,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Eip1193Provider } from "ethers";
|
|
2
|
-
import { Address, Msg, Network, Signer,
|
|
2
|
+
import { Address, Msg, Network, Signer, Simulation, TxResult, signers } from "rujira.js";
|
|
3
3
|
interface Provider extends Eip1193Provider {
|
|
4
4
|
on?: (event: string, cb: () => void) => any;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/eip712.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/eip712.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EAEV,QAAQ,EACR,OAAO,EACR,MAAM,WAAW,CAAC;AAKnB,UAAU,QAAS,SAAQ,eAAe;IACxC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC;CAC7C;AAED,qBAAa,aAAc,YAAW,MAAM;IAE9B,OAAO,CAAC,CAAC;IADrB,OAAO,CAAC,SAAS,CAAwB;gBACrB,CAAC,EAAE,MAAM,QAAQ,GAAG,SAAS;IAE3C,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAiB7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAQvC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB/D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAgBhE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW;IAGX,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/B,QAAQ,IAAI,OAAO,EAAE;CAG7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { signers, } from "rujira.js";
|
|
1
|
+
import { THOR, signers, } from "rujira.js";
|
|
2
2
|
import * as thor from "../config/thor";
|
|
3
3
|
import { buildClient, simulate } from "./cosmos";
|
|
4
4
|
export class Eip712Adapter {
|
|
@@ -54,6 +54,6 @@ export class Eip712Adapter {
|
|
|
54
54
|
}
|
|
55
55
|
disconnect;
|
|
56
56
|
networks() {
|
|
57
|
-
return [
|
|
57
|
+
return [THOR];
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keplr.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/keplr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,
|
|
1
|
+
{"version":3,"file":"keplr.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/keplr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EACL,OAAO,EAEP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAI3C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAO,SAAQ,WAAW;KAAG;CACxC;AAED,qBAAa,YAAa,YAAW,MAAM;IAGvC,OAAO,CAAC,CAAC;IAFX,OAAO,CAAC,CAAC,CAAgB;gBAEf,CAAC,EAAE,cAAc,EACzB,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS;IAI5B,QAAQ,OAAQ,MAAM,IAAI,UAGxB;IAEF,WAAW,IAAI,OAAO;IAIT,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAcpC,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMjC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBvC,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,QAAQ,CAAC;IAuBb,QAAQ,IAAI,OAAO,EAAE;CAG7B;AAED,QAAA,MAAM,QAAQ,cAGb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Psbt } from "bitcoinjs-lib";
|
|
2
|
+
import { BTC, } from "rujira.js";
|
|
2
3
|
import { CosmosAdapter } from "./cosmos";
|
|
3
4
|
import { Eip6963Adapter } from "./eip6963";
|
|
4
5
|
import { walletType } from "./utils";
|
|
@@ -71,7 +72,7 @@ export class KeplrAdapter {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
networks() {
|
|
74
|
-
return [
|
|
75
|
+
return [BTC, ...this.c.networks(), ...this.e.networks()];
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
const provider = new KeplrAdapter(new Eip6963Adapter("app.keplr"), () => window.keplr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,EACxB,SAAS,EAEV,MAAM,qCAAqC,CAAC;AAG7C,OAAO,
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,EACxB,SAAS,EAEV,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACL,OAAO,EAEP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACT,MAAM,WAAW,CAAC;AAMnB,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAA+C;IAChE,OAAO,CAAC,IAAI,CAAC,CAAO;IACpB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAY;;IAQ3B,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAkB7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAIvC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAGtE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW;IAGX,QAAQ,IAAI,OAAO,EAAE;IAGrB,UAAU;IAIV,QAAQ,YAEK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,UAC7C,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,cAEvB,gBAAgB,UAsBvB;IAEJ,SAAS,YACG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,eAElD,iBAAiB,CACxB,wBAAwB,EACxB,uBAAuB,EACvB,mCAAmC,CACpC,UAoBD;CACL;;AAED,wBAAmC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DeviceActionStatus, DeviceManagementKitBuilder, } from "@ledgerhq/device-management-kit";
|
|
2
2
|
import { DefaultDescriptorTemplate, DefaultWallet, SignerBtcBuilder, } from "@ledgerhq/device-signer-kit-bitcoin";
|
|
3
3
|
import { webHidTransportFactory } from "@ledgerhq/device-transport-kit-web-hid";
|
|
4
|
+
import { BTC, } from "rujira.js";
|
|
4
5
|
import { Subject } from "rxjs";
|
|
5
6
|
import { renderModal } from "./ledger/Modal";
|
|
6
7
|
const PATH = "84'/0'/0'";
|
|
@@ -45,7 +46,7 @@ class LedgerAdapter {
|
|
|
45
46
|
return true;
|
|
46
47
|
}
|
|
47
48
|
networks() {
|
|
48
|
-
return [
|
|
49
|
+
return [BTC];
|
|
49
50
|
}
|
|
50
51
|
disconnect() {
|
|
51
52
|
this.sessionId && this.dmk.disconnect({ sessionId: this.sessionId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"okx.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/okx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,OAAO,EAEP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAI3C,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,QAAQ,EAAE,CACR,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAClC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAO,SAAQ,WAAW;QAClC,SAAS,CAAC,EAAE,eAAe,GAAG;YAC5B,OAAO,EAAE,eAAe,CAAC;YACzB,KAAK,EAAE,KAAK,GAAG;gBAAE,UAAU,EAAE,IAAI,CAAA;aAAE,CAAC;SACrC,CAAC;KACH;CACF;AAED,qBAAa,UAAW,YAAW,MAAM;IAErC,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,CAAC,CAAC;gBAFF,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,aAAa,EAChB,CAAC,CAAC,EAAE,eAAe,YAAA;IAE7B,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQvB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBvC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2B3E,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW;IAIJ,QAAQ,IAAI,OAAO,EAAE;CAG7B;AAED,QAAA,MAAM,QAAQ,YAIb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Psbt } from "bitcoinjs-lib";
|
|
2
|
+
import { BTC, } from "rujira.js";
|
|
2
3
|
import { CosmosAdapter } from "./cosmos";
|
|
3
4
|
import { Eip6963Adapter } from "./eip6963";
|
|
4
5
|
import { walletType } from "./utils";
|
|
@@ -68,7 +69,7 @@ export class OkxAdapter {
|
|
|
68
69
|
return this.e.isAvailable();
|
|
69
70
|
}
|
|
70
71
|
networks() {
|
|
71
|
-
return [
|
|
72
|
+
return [BTC, ...this.c.networks(), ...this.e.networks()];
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
const provider = new OkxAdapter(new Eip6963Adapter("com.okex.wallet"), new CosmosAdapter(() => window.okxwallet?.keplr), window.okxwallet?.bitcoin);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/ton.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/ton.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EAEV,QAAQ,EACT,MAAM,WAAW,CAAC;AAGnB,cAAM,SAAU,YAAW,MAAM;IAC/B,OAAO,CAAC,SAAS,CAEd;;IAGG,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAgCnC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAGvC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAGtE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW,IAAI,OAAO;IAGtB,UAAU;IAGH,QAAQ,IAAI,OAAO,EAAE;CAG7B;;AAED,wBAA+B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import TonConnect, { isWalletInfoCurrentlyEmbedded, isWalletInfoCurrentlyInjected, isWalletInfoRemote, } from "@tonconnect/sdk";
|
|
2
|
+
import { TON, } from "rujira.js";
|
|
2
3
|
import { Address as TonAddress } from "ton-core";
|
|
3
4
|
class TonKeeper {
|
|
4
5
|
connector = new TonConnect({
|
|
@@ -49,7 +50,7 @@ class TonKeeper {
|
|
|
49
50
|
this.connector.disconnect();
|
|
50
51
|
}
|
|
51
52
|
networks() {
|
|
52
|
-
return [
|
|
53
|
+
return [TON];
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
export default new TonKeeper();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tronlink.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/tronlink.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tronlink.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/tronlink.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EAEV,QAAQ,EACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;CACF;AACD,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;AAIvC,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,IAAI,CAA6B;gBAE7B,IAAI,EAAE,MAAM,QAAQ,GAAG,SAAS;IAGtC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBvC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAc5E,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW;IAIJ,QAAQ,IAAI,OAAO,EAAE;CAG7B;;AAED,wBAAmD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TRON, } from "rujira.js";
|
|
1
2
|
const BANDWIDTH_PRICE_SUN_PER_BYTE = 1;
|
|
2
3
|
export class Tronlink {
|
|
3
4
|
tron;
|
|
@@ -37,7 +38,7 @@ export class Tronlink {
|
|
|
37
38
|
const signed = await t.tronWeb.trx.sign(tx);
|
|
38
39
|
const res = await t.tronWeb.trx.sendRawTransaction(signed);
|
|
39
40
|
return {
|
|
40
|
-
network:
|
|
41
|
+
network: TRON,
|
|
41
42
|
address: msg.account.address,
|
|
42
43
|
txHash: res.txid,
|
|
43
44
|
deposited: msg.toDeposit?.(),
|
|
@@ -49,7 +50,7 @@ export class Tronlink {
|
|
|
49
50
|
return !!tron?.isTronLink;
|
|
50
51
|
}
|
|
51
52
|
networks() {
|
|
52
|
-
return [
|
|
53
|
+
return [TRON];
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
export default new Tronlink(() => window.tronLink);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAuB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE5E,qBAAa,WAAW;IAKV,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,SAAS,CAGf;gBACkB,OAAO,EAAE,MAAM;IAEtB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAI1C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAoBrD,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,QAAQ,CAAC;CAyBrB;AAED,qJAAqJ;AACrJ,qBAAa,eAAe;IAIxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,GAAG,CAA+C;gBAGhD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM;IAEnB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;CA4C5C;AAED,eAAO,MAAM,kBAAkB,YAAa,OAAO,KAAG,MAAM,YAa3D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CACP,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EACvC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,KAC/B,IAAI,CAAC;CACX,CAAC;AACF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;CAC3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BCH, BTC, DOGE, LTC } from "rujira.js";
|
|
1
2
|
export class UtxoContext {
|
|
2
3
|
address;
|
|
3
4
|
endpoints = [
|
|
@@ -29,7 +30,7 @@ export class UtxoContext {
|
|
|
29
30
|
case 200:
|
|
30
31
|
const txHash = await res.text();
|
|
31
32
|
return {
|
|
32
|
-
network:
|
|
33
|
+
network: BTC,
|
|
33
34
|
address,
|
|
34
35
|
txHash,
|
|
35
36
|
deposited: deposit,
|
|
@@ -87,13 +88,13 @@ export class UtxoQueryClient {
|
|
|
87
88
|
}
|
|
88
89
|
export const utxoNetworkTochain = (network) => {
|
|
89
90
|
switch (network) {
|
|
90
|
-
case
|
|
91
|
+
case BTC:
|
|
91
92
|
return "bitcoin";
|
|
92
|
-
case
|
|
93
|
+
case BCH:
|
|
93
94
|
return "bitcoincash";
|
|
94
|
-
case
|
|
95
|
+
case DOGE:
|
|
95
96
|
return "dogecoin";
|
|
96
|
-
case
|
|
97
|
+
case LTC:
|
|
97
98
|
return "litecoin";
|
|
98
99
|
default:
|
|
99
100
|
throw new Error(`Unsupported UTXO network: ${network}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xaman.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/xaman.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"xaman.d.ts","sourceRoot":"","sources":["../../../../src/wallets/providers/xaman.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EAET,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC;AAExC,qBAAa,YAAa,YAAW,MAAM;IACzC,OAAO,CAAC,IAAI,CAAO;gBACP,MAAM,EAAE,MAAM;IAGpB,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAM7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IASvC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B5E,WAAW;IAGX,UAAU;IAGV,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI;IAGhB,QAAQ,IAAI,OAAO,EAAE;CAG7B;AAED,QAAA,MAAM,QAAQ,cAGb,CAAC;AACF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { XRP, } from "rujira.js";
|
|
1
2
|
import { Xumm } from "xumm";
|
|
2
3
|
export class XamanAdapter {
|
|
3
4
|
xumm;
|
|
@@ -38,7 +39,7 @@ export class XamanAdapter {
|
|
|
38
39
|
if (!payload.response.txid)
|
|
39
40
|
throw new Error("No txid returned");
|
|
40
41
|
return {
|
|
41
|
-
network:
|
|
42
|
+
network: XRP,
|
|
42
43
|
address: msg.account.address,
|
|
43
44
|
txHash: payload.response.txid,
|
|
44
45
|
deposited: msg.toDeposit?.(),
|
|
@@ -57,7 +58,7 @@ export class XamanAdapter {
|
|
|
57
58
|
this.xumm.on("success", cb);
|
|
58
59
|
}
|
|
59
60
|
networks() {
|
|
60
|
-
return [
|
|
61
|
+
return [XRP];
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
const provider = new XamanAdapter(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rujira.ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./lib/cjs/index.js",
|
|
6
6
|
"module": "./lib/esm/index.js",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"vaul": "^1.1.1",
|
|
66
66
|
"xumm": "^1.8.0",
|
|
67
67
|
"xumm-oauth2-pkce": "^2.8.7",
|
|
68
|
-
"rujira.js": "1.
|
|
68
|
+
"rujira.js": "1.1.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@testing-library/jest-dom": "^6.5.0",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FC, PropsWithChildren } from "react";
|
|
2
|
+
import { ETH } from "rujira.js";
|
|
2
3
|
|
|
3
4
|
export const AssetLabel: FC<
|
|
4
5
|
PropsWithChildren<{
|
|
@@ -12,9 +13,9 @@ export const AssetLabel: FC<
|
|
|
12
13
|
asset ? (
|
|
13
14
|
<>
|
|
14
15
|
{asset.metadata.symbol}
|
|
15
|
-
{((asset.metadata.symbol === "USDT" && asset.chain !==
|
|
16
|
-
(asset.metadata.symbol === "ETH" && asset.chain !==
|
|
17
|
-
(asset.metadata.symbol === "USDC" && asset.chain !==
|
|
16
|
+
{((asset.metadata.symbol === "USDT" && asset.chain !== ETH) ||
|
|
17
|
+
(asset.metadata.symbol === "ETH" && asset.chain !== ETH) ||
|
|
18
|
+
(asset.metadata.symbol === "USDC" && asset.chain !== ETH)) &&
|
|
18
19
|
asset.type === "SECURED" && <Container>.{asset.chain}</Container>}
|
|
19
20
|
</>
|
|
20
21
|
) : null;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Fragment, useId, useMemo } from "react";
|
|
2
2
|
import { Tooltip } from "react-tooltip";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
Address,
|
|
5
|
+
Balance,
|
|
6
|
+
BalanceAccount,
|
|
7
|
+
THOR,
|
|
8
|
+
networkLabel,
|
|
9
|
+
} from "rujira.js";
|
|
4
10
|
import { nFormatter } from "../../helpers";
|
|
5
11
|
import { ProviderIcon } from "../icons/ProviderIcon";
|
|
6
12
|
import { NetworkIcon } from "../icons/NetworkIcon";
|
|
@@ -31,7 +37,10 @@ export const OmniBalance = ({
|
|
|
31
37
|
const tooltipId = useId();
|
|
32
38
|
|
|
33
39
|
const providerLookup = useMemo(
|
|
34
|
-
() =>
|
|
40
|
+
() =>
|
|
41
|
+
new Map(
|
|
42
|
+
accountProviders?.map(({ address, provider }) => [address, provider])
|
|
43
|
+
),
|
|
35
44
|
[accountProviders]
|
|
36
45
|
);
|
|
37
46
|
|
|
@@ -49,7 +58,7 @@ export const OmniBalance = ({
|
|
|
49
58
|
{sortedAccounts.length > 1 && (
|
|
50
59
|
<div className="omni-balance__networks">
|
|
51
60
|
{sortedAccounts.map((x) => {
|
|
52
|
-
const n = x.asset.type === "SECURED" ?
|
|
61
|
+
const n = x.asset.type === "SECURED" ? THOR : x.asset.chain;
|
|
53
62
|
const provider = providerLookup.get(x.address);
|
|
54
63
|
const tipId = `${tooltipId}-${n}`;
|
|
55
64
|
return (
|