rujira.ui 1.0.15 → 1.0.16
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/balance/OmniBalance.js +5 -2
- package/lib/cjs/components/bridges/DepositModal.js +2 -2
- package/lib/cjs/components/buttons/TxButton.js +8 -2
- package/lib/cjs/components/header/Accounts.js +5 -13
- package/lib/cjs/components/header/Header.js +1 -1
- package/lib/cjs/components/icons/ProviderIcon.js +0 -5
- package/lib/cjs/i18n/locales/de/common.json +0 -1
- package/lib/cjs/i18n/locales/de/home.json +1 -1
- package/lib/cjs/i18n/locales/en/common.json +0 -1
- package/lib/cjs/i18n/locales/en/home.json +1 -1
- package/lib/cjs/wallets/providers/cosmos.js +12 -9
- package/lib/cjs/wallets/providers/eip1193.js +13 -4
- package/lib/cjs/wallets/providers/eip712.js +4 -1
- package/lib/cjs/wallets/providers/index.js +18 -3
- package/lib/cjs/wallets/providers/keplr.js +8 -4
- package/lib/cjs/wallets/providers/ledger.js +1 -1
- package/lib/cjs/wallets/providers/okx.js +8 -4
- package/lib/cjs/wallets/providers/ton.js +6 -3
- package/lib/cjs/wallets/providers/tronlink.js +1 -1
- package/lib/cjs/wallets/providers/utils.js +28 -29
- package/lib/cjs/wallets/providers/vulticonnect.js +20 -9
- package/lib/cjs/wallets/providers/vultisig/sol.js +25 -0
- package/lib/cjs/wallets/providers/vultisig.js +71 -30
- package/lib/cjs/wallets/providers/xaman.js +1 -1
- package/lib/cjs/wallets/storage.js +3 -1
- package/lib/esm/components/balance/OmniBalance.d.ts.map +1 -1
- package/lib/esm/components/balance/OmniBalance.js +5 -2
- package/lib/esm/components/bridges/DepositModal.js +2 -2
- package/lib/esm/components/buttons/TxButton.d.ts.map +1 -1
- package/lib/esm/components/buttons/TxButton.js +8 -2
- package/lib/esm/components/header/Accounts.d.ts.map +1 -1
- package/lib/esm/components/header/Accounts.js +6 -14
- package/lib/esm/components/header/Header.js +1 -1
- package/lib/esm/components/icons/ProviderIcon.d.ts.map +1 -1
- package/lib/esm/components/icons/ProviderIcon.js +0 -5
- package/lib/esm/i18n/locales/de/common.json +0 -1
- package/lib/esm/i18n/locales/de/home.json +1 -1
- package/lib/esm/i18n/locales/en/common.json +0 -1
- package/lib/esm/i18n/locales/en/home.json +1 -1
- package/lib/esm/wallets/providers/cosmos.d.ts.map +1 -1
- package/lib/esm/wallets/providers/cosmos.js +13 -10
- package/lib/esm/wallets/providers/eip1193.d.ts +1 -0
- package/lib/esm/wallets/providers/eip1193.d.ts.map +1 -1
- package/lib/esm/wallets/providers/eip1193.js +14 -5
- package/lib/esm/wallets/providers/eip712.d.ts.map +1 -1
- package/lib/esm/wallets/providers/eip712.js +4 -1
- package/lib/esm/wallets/providers/index.d.ts +2 -1
- package/lib/esm/wallets/providers/index.d.ts.map +1 -1
- package/lib/esm/wallets/providers/index.js +18 -3
- package/lib/esm/wallets/providers/keplr.d.ts.map +1 -1
- package/lib/esm/wallets/providers/keplr.js +8 -4
- package/lib/esm/wallets/providers/ledger.js +1 -1
- package/lib/esm/wallets/providers/okx.d.ts.map +1 -1
- package/lib/esm/wallets/providers/okx.js +8 -4
- package/lib/esm/wallets/providers/ton.d.ts.map +1 -1
- package/lib/esm/wallets/providers/ton.js +6 -3
- package/lib/esm/wallets/providers/tronlink.d.ts +1 -1
- package/lib/esm/wallets/providers/tronlink.d.ts.map +1 -1
- package/lib/esm/wallets/providers/tronlink.js +1 -1
- package/lib/esm/wallets/providers/utils.d.ts +2 -2
- package/lib/esm/wallets/providers/utils.d.ts.map +1 -1
- package/lib/esm/wallets/providers/utils.js +28 -29
- package/lib/esm/wallets/providers/vulticonnect.d.ts +1 -1
- package/lib/esm/wallets/providers/vulticonnect.d.ts.map +1 -1
- package/lib/esm/wallets/providers/vulticonnect.js +21 -10
- package/lib/esm/wallets/providers/vultisig/sol.d.ts +9 -0
- package/lib/esm/wallets/providers/vultisig/sol.d.ts.map +1 -0
- package/lib/esm/wallets/providers/vultisig/sol.js +20 -0
- package/lib/esm/wallets/providers/vultisig/tron.d.ts +2 -2
- package/lib/esm/wallets/providers/vultisig/tron.d.ts.map +1 -1
- package/lib/esm/wallets/providers/vultisig/utxo.d.ts +2 -2
- package/lib/esm/wallets/providers/vultisig/utxo.d.ts.map +1 -1
- package/lib/esm/wallets/providers/vultisig/utxo.js +1 -1
- package/lib/esm/wallets/providers/vultisig.d.ts +3 -0
- package/lib/esm/wallets/providers/vultisig.d.ts.map +1 -1
- package/lib/esm/wallets/providers/vultisig.js +72 -31
- package/lib/esm/wallets/providers/xaman.js +1 -1
- package/lib/esm/wallets/storage.d.ts.map +1 -1
- package/lib/esm/wallets/storage.js +3 -1
- package/package.json +2 -2
- package/src/components/balance/OmniBalance.tsx +6 -3
- package/src/components/bridges/DepositModal.tsx +6 -3
- package/src/components/buttons/TxButton.tsx +8 -2
- package/src/components/header/Accounts.tsx +8 -15
- package/src/components/header/Header.tsx +1 -1
- package/src/components/icons/ProviderIcon.tsx +0 -9
- package/src/i18n/locales/de/common.json +0 -1
- package/src/i18n/locales/de/home.json +1 -1
- package/src/i18n/locales/en/common.json +0 -1
- package/src/i18n/locales/en/home.json +1 -1
- package/src/wallets/providers/cosmos.ts +15 -9
- package/src/wallets/providers/eip1193.ts +27 -7
- package/src/wallets/providers/eip712.ts +4 -1
- package/src/wallets/providers/index.ts +19 -4
- package/src/wallets/providers/keplr.ts +8 -4
- package/src/wallets/providers/ledger.ts +1 -1
- package/src/wallets/providers/okx.ts +8 -4
- package/src/wallets/providers/ton.ts +6 -3
- package/src/wallets/providers/tronlink.ts +2 -2
- package/src/wallets/providers/utils.ts +30 -20
- package/src/wallets/providers/vulticonnect.ts +28 -9
- package/src/wallets/providers/vultisig/sol.ts +26 -0
- package/src/wallets/providers/vultisig/tron.ts +2 -2
- package/src/wallets/providers/vultisig/utxo.ts +2 -11
- package/src/wallets/providers/vultisig.ts +91 -31
- package/src/wallets/providers/xaman.ts +1 -1
- package/src/wallets/storage.ts +4 -1
- package/src/wallets/providers/ctrl.ts +0 -166
|
@@ -6,8 +6,8 @@ const react_1 = require("react");
|
|
|
6
6
|
const react_tooltip_1 = require("react-tooltip");
|
|
7
7
|
const rujira_js_1 = require("rujira.js");
|
|
8
8
|
const helpers_1 = require("../../helpers");
|
|
9
|
-
const ProviderIcon_1 = require("../icons/ProviderIcon");
|
|
10
9
|
const NetworkIcon_1 = require("../icons/NetworkIcon");
|
|
10
|
+
const ProviderIcon_1 = require("../icons/ProviderIcon");
|
|
11
11
|
const Decimal_1 = require("../numbers/Decimal");
|
|
12
12
|
const accountSorter = (a, b) => {
|
|
13
13
|
const aIsSecured = a.asset.type === "SECURED";
|
|
@@ -20,7 +20,10 @@ const accountSorter = (a, b) => {
|
|
|
20
20
|
};
|
|
21
21
|
const OmniBalance = ({ balance, onClick, className, accountProviders, }) => {
|
|
22
22
|
const tooltipId = (0, react_1.useId)();
|
|
23
|
-
const providerLookup = (0, react_1.useMemo)(() => new Map(accountProviders?.map(({ address, provider }) => [
|
|
23
|
+
const providerLookup = (0, react_1.useMemo)(() => new Map(accountProviders?.map(({ address, provider }) => [
|
|
24
|
+
address.address,
|
|
25
|
+
provider,
|
|
26
|
+
])), [accountProviders]);
|
|
24
27
|
const sortedAccounts = balance?.accounts
|
|
25
28
|
? [...balance.accounts].sort(accountSorter)
|
|
26
29
|
: [];
|
|
@@ -52,7 +52,7 @@ const Confirm = ({ asset, balance, targets, target: target_, Submit, onSuccess,
|
|
|
52
52
|
const { t } = (0, i18n_1.useTranslation)("common");
|
|
53
53
|
const ref = (0, react_1.useRef)(null);
|
|
54
54
|
const [amount, setAmount] = (0, react_1.useState)(requestAmount || 0n);
|
|
55
|
-
const [target, setTarget] = (0, react_1.useState)(target_ || "");
|
|
55
|
+
const [target, setTarget] = (0, react_1.useState)(target_?.address || "");
|
|
56
56
|
const [custom, setCustom] = (0, react_1.useState)("");
|
|
57
57
|
const [direct, setDirect] = (0, react_1.useState)(false);
|
|
58
58
|
const [advanced, setAdvanced] = (0, react_1.useState)(false);
|
|
@@ -130,7 +130,7 @@ const Confirm = ({ asset, balance, targets, target: target_, Submit, onSuccess,
|
|
|
130
130
|
"w-2 h-2": true,
|
|
131
131
|
"filter-grey": !hoverAd,
|
|
132
132
|
"filter-white": hoverAd,
|
|
133
|
-
}) }), advanced ? t("hideAdvancedOptions") : t("showAdvancedOptions")] })] }), advanced && ((0, jsx_runtime_1.jsxs)("div", { className: "br-1 p-2 bg-black mt-1 row wrap condensed fs-14 px-2 gap-y-1", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-4 text-center text-xs-left color-grey fw-500", children: t("destination") }), (0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-8 text-center text-xs-right", children: (0, jsx_runtime_1.jsxs)(Select_1.Select, { containerClassName: "fs-14", className: "select--inline text-right", value: target, onChange: (e) => setTarget(e.currentTarget.value), children: [targets.map((x) => ((0, jsx_runtime_1.jsx)("option", { value: x, className: "bg-darkGrey", children: x }, x))), (0, jsx_runtime_1.jsx)("option", { className: "bg-darkGrey", value: "custom", children: t("customAddress") })] }) }), target === "custom" && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-4 text-center text-xs-left color-grey fw-500", children: t("customDestination") }), (0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-8 text-center text-xs-right", children: (0, jsx_runtime_1.jsx)(Input_1.Input, { containerClassName: "fs-14", value: custom, onChange: (e) => setCustom(e.currentTarget.value), className: "input--inline text-right", innerRef: ref }) })] })), canSwap && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [asset.chain === rujira_js_1.THOR ? null : ((0, jsx_runtime_1.jsx)("div", { className: "col-12 text-center text-xs-right", children: (0, jsx_runtime_1.jsx)(__1.Toggle, { className: "toggle--xs", label: `Deposit ${account?.asset.chain}.${account?.asset.metadata.symbol} directly`, checked: direct, onChange: () => setDirect((prev) => !prev) }) })), direct && ((0, jsx_runtime_1.jsxs)(__1.Warning, { className: "warning--sm condensed flex ai-c mt-1", color: "orange", children: [(0, jsx_runtime_1.jsx)("img", { src: swap_gif_1.default, alt: "", className: "filter-orange block no-shrink", style: { width: "2.5rem", height: "2.5rem" } }), (0, jsx_runtime_1.jsxs)("small", { className: "text-left fs-14", children: ["You are depositing a version of", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: asset.metadata.symbol }), " ", "that is not the standard on Rujira. Our products use the", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: "Ethereum" }), " version of", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: asset.metadata.symbol }), "."] })] }))] })), isCustomAddressInvalid && ((0, jsx_runtime_1.jsx)("div", { className: "flex dir-r jc-c grow mt-1", children: (0, jsx_runtime_1.jsxs)(__1.Warning, { color: "red", className: "condensed iflex grow", children: [(0, jsx_runtime_1.jsx)(__1.Icons.ExclamationTriangle, { className: "color-red" }), (0, jsx_runtime_1.jsx)("span", { className: "warning__msg", children: t("invalidThorAddress") })] }) }))] })), (0, jsx_runtime_1.jsx)(Submit, { selected: account, amount: amount, target: target !== "custom" ? target : custom, swapMemo: "memo", onSuccess: onSuccess, disabled: isCustomAddressInvalid, isDangerous: false, quote: quote, shouldSwap: shouldSwap })] }));
|
|
133
|
+
}) }), advanced ? t("hideAdvancedOptions") : t("showAdvancedOptions")] })] }), advanced && ((0, jsx_runtime_1.jsxs)("div", { className: "br-1 p-2 bg-black mt-1 row wrap condensed fs-14 px-2 gap-y-1", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-4 text-center text-xs-left color-grey fw-500", children: t("destination") }), (0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-8 text-center text-xs-right", children: (0, jsx_runtime_1.jsxs)(Select_1.Select, { containerClassName: "fs-14", className: "select--inline text-right", value: target, onChange: (e) => setTarget(e.currentTarget.value), children: [targets.map((x) => ((0, jsx_runtime_1.jsx)("option", { value: x.address, className: "bg-darkGrey", children: x.address }, x.address))), (0, jsx_runtime_1.jsx)("option", { className: "bg-darkGrey", value: "custom", children: t("customAddress") })] }) }), target === "custom" && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-4 text-center text-xs-left color-grey fw-500", children: t("customDestination") }), (0, jsx_runtime_1.jsx)("div", { className: "col-12 col-xs-8 text-center text-xs-right", children: (0, jsx_runtime_1.jsx)(Input_1.Input, { containerClassName: "fs-14", value: custom, onChange: (e) => setCustom(e.currentTarget.value), className: "input--inline text-right", innerRef: ref }) })] })), canSwap && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [asset.chain === rujira_js_1.THOR ? null : ((0, jsx_runtime_1.jsx)("div", { className: "col-12 text-center text-xs-right", children: (0, jsx_runtime_1.jsx)(__1.Toggle, { className: "toggle--xs", label: `Deposit ${account?.asset.chain}.${account?.asset.metadata.symbol} directly`, checked: direct, onChange: () => setDirect((prev) => !prev) }) })), direct && ((0, jsx_runtime_1.jsxs)(__1.Warning, { className: "warning--sm condensed flex ai-c mt-1", color: "orange", children: [(0, jsx_runtime_1.jsx)("img", { src: swap_gif_1.default, alt: "", className: "filter-orange block no-shrink", style: { width: "2.5rem", height: "2.5rem" } }), (0, jsx_runtime_1.jsxs)("small", { className: "text-left fs-14", children: ["You are depositing a version of", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: asset.metadata.symbol }), " ", "that is not the standard on Rujira. Our products use the", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: "Ethereum" }), " version of", " ", (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: asset.metadata.symbol }), "."] })] }))] })), isCustomAddressInvalid && ((0, jsx_runtime_1.jsx)("div", { className: "flex dir-r jc-c grow mt-1", children: (0, jsx_runtime_1.jsxs)(__1.Warning, { color: "red", className: "condensed iflex grow", children: [(0, jsx_runtime_1.jsx)(__1.Icons.ExclamationTriangle, { className: "color-red" }), (0, jsx_runtime_1.jsx)("span", { className: "warning__msg", children: t("invalidThorAddress") })] }) }))] })), (0, jsx_runtime_1.jsx)(Submit, { selected: account, amount: amount, target: target !== "custom" ? target : custom, swapMemo: "memo", onSuccess: onSuccess, disabled: isCustomAddressInvalid, isDangerous: false, quote: quote, shouldSwap: shouldSwap })] }));
|
|
134
134
|
};
|
|
135
135
|
const Success = ({ tx, dismiss, }) => {
|
|
136
136
|
const { t } = (0, i18n_1.useTranslation)("common");
|
|
@@ -194,13 +194,19 @@ const TxButton = (props) => {
|
|
|
194
194
|
"button--grey": disabled &&
|
|
195
195
|
!isSimulating &&
|
|
196
196
|
!stylingClasses.includes("transparent"),
|
|
197
|
-
"button--waiting": (isSigning ||
|
|
197
|
+
"button--waiting": (isSigning ||
|
|
198
|
+
isRejected ||
|
|
199
|
+
isSuccess ||
|
|
200
|
+
(isSimulating && animateSimulation)) &&
|
|
198
201
|
!className?.includes("transparent"),
|
|
199
202
|
"button--success": isSuccess,
|
|
200
203
|
"button--rejected": isRejected,
|
|
201
204
|
"button--simulating": isSimulating && animateSimulation,
|
|
202
205
|
}), style: {
|
|
203
|
-
cursor: isSigning ||
|
|
206
|
+
cursor: isSigning ||
|
|
207
|
+
isSuccess ||
|
|
208
|
+
isRejected ||
|
|
209
|
+
(isSimulating && animateSimulation)
|
|
204
210
|
? "default"
|
|
205
211
|
: undefined,
|
|
206
212
|
...rest.style,
|
|
@@ -37,15 +37,7 @@ const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getValue, c
|
|
|
37
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
38
|
});
|
|
39
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 }) })) : ((0, jsx_runtime_1.jsxs)(MyAccount, { routingElement: routingElement, provider: provider, value: selected
|
|
41
|
-
? getValue({
|
|
42
|
-
address: selected.address,
|
|
43
|
-
network: rujira_js_1.THOR,
|
|
44
|
-
})
|
|
45
|
-
: 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({
|
|
46
|
-
address: selected.address,
|
|
47
|
-
network: rujira_js_1.THOR,
|
|
48
|
-
}), 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) => {
|
|
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 }) })) : ((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) => {
|
|
49
41
|
e.stopPropagation();
|
|
50
42
|
e.preventDefault();
|
|
51
43
|
setShowBalance("false");
|
|
@@ -55,8 +47,8 @@ const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getValue, c
|
|
|
55
47
|
e.preventDefault();
|
|
56
48
|
setShowBalance("true");
|
|
57
49
|
return false;
|
|
58
|
-
}, 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 === account.address &&
|
|
59
|
-
selected.provider === account.provider }, account.address
|
|
50
|
+
}, 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: [referral && ((0, jsx_runtime_1.jsxs)("button", { className: "action transparent", onClick: ReferralModal, children: [(0, jsx_runtime_1.jsx)(Icons_1.Users, {}), (0, jsx_runtime_1.jsx)("span", { children: t("referralLink") })] })), (0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { className: "action transparent", to: "connect", children: [(0, jsx_runtime_1.jsx)(Icons_1.Plus, {}), (0, jsx_runtime_1.jsx)("span", { children: t("connectAnotherWallet") })] }), customActions &&
|
|
60
52
|
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" })] })) }));
|
|
61
53
|
};
|
|
62
54
|
exports.Accounts = Accounts;
|
|
@@ -120,10 +112,10 @@ const AddressC = ({ account, selected, provider, ProviderIcon, }) => {
|
|
|
120
112
|
}), children: [(0, jsx_runtime_1.jsx)(NetworkIcon_1.NetworkIcon, { network: rujira_js_1.THOR, className: "address__wallet", selected: selected || hover }), (0, jsx_runtime_1.jsx)("p", { className: "address__address pointer", onClick: () => {
|
|
121
113
|
if (selected) {
|
|
122
114
|
react_hot_toast_1.default.success(t("addressCopied"));
|
|
123
|
-
navigator.clipboard.writeText(account.address);
|
|
115
|
+
navigator.clipboard.writeText(account.address.address);
|
|
124
116
|
}
|
|
125
117
|
else {
|
|
126
118
|
select(account);
|
|
127
119
|
}
|
|
128
|
-
}, children: hover && selected ? (t("copyAddress")) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [account.address.substring(0, 8), " ... ", account.address.slice(-8)] })) }), hover ? ((0, jsx_runtime_1.jsx)(Icons_1.LinkDisconnect, { className: "address__disconnect", onClick: () => disconnect(account.provider) })) : ((0, jsx_runtime_1.jsx)(ProviderIcon, { className: "address__disconnect", provider: account.provider, selected: selected }))] }));
|
|
120
|
+
}, children: hover && selected ? (t("copyAddress")) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [account.address.address.substring(0, 8), " ...", " ", account.address.address.slice(-8)] })) }), hover ? ((0, jsx_runtime_1.jsx)(Icons_1.LinkDisconnect, { className: "address__disconnect", onClick: () => disconnect(account.provider) })) : ((0, jsx_runtime_1.jsx)(ProviderIcon, { className: "address__disconnect", provider: account.provider, selected: selected }))] }));
|
|
129
121
|
};
|
|
@@ -193,5 +193,5 @@ const SubEntertainment = ({ domain, routingElement, useRef, className, staticRou
|
|
|
193
193
|
};
|
|
194
194
|
const SubLearn = ({ domain, routingElement, useRef, className, staticRoutes, }) => {
|
|
195
195
|
const { t } = (0, i18n_1.useTranslation)("header");
|
|
196
|
-
return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("get-started"), domain: domain, to: "get-started", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Graduate, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("getStarted") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("getStartedDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("support"), domain: domain, to: "support", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Support, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("support") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("educationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://docs.rujira.network/", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Code, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("documentation"), " ", (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("documentationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://docs.rujira.network/developers/getting-started", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Terminal, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("developers"), (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("developersDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("faq"), domain: domain, to: "faq", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.Info, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("commonQuestions") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("supportDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("articles"), domain: domain, to: "articles", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.History, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("articles") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("articlesDesc") })] })] })] }) }));
|
|
196
|
+
return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("get-started"), domain: domain, to: "get-started", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Graduate, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("getStarted") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("getStartedDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("support"), domain: domain, to: "/support", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Support, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("support") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("educationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://docs.rujira.network/", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Code, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("documentation"), " ", (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("documentationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://docs.rujira.network/developers/getting-started", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Terminal, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("developers"), (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("developersDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("faq"), domain: domain, to: "faq", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.Info, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("commonQuestions") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("supportDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, isStatic: staticRoutes?.includes("articles"), domain: domain, to: "articles", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.History, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("articles") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("articlesDesc") })] })] })] }) }));
|
|
197
197
|
};
|
|
@@ -24,11 +24,6 @@ const ProviderIcon = ({ provider, selected, className }) => {
|
|
|
24
24
|
case "Vulticonnect":
|
|
25
25
|
case "Vultisig":
|
|
26
26
|
return selected ? ((0, jsx_runtime_1.jsx)(WalletIcons.Vultisig, { className: (0, clsx_1.default)({ [`${className}`]: className }) })) : ((0, jsx_runtime_1.jsx)(WalletIcons.VultisigSimple, { className: (0, clsx_1.default)({ [`${className}`]: className }) }));
|
|
27
|
-
case "Ctrl":
|
|
28
|
-
return ((0, jsx_runtime_1.jsx)(WalletIcons.Ctrl, { className: (0, clsx_1.default)({
|
|
29
|
-
[`${className}`]: className,
|
|
30
|
-
"color-white": selected,
|
|
31
|
-
}) }));
|
|
32
27
|
case "DaoDao":
|
|
33
28
|
return ((0, jsx_runtime_1.jsx)(WalletIcons.Daodao, { className: (0, clsx_1.default)({
|
|
34
29
|
[`${className}`]: className,
|
|
@@ -114,7 +114,6 @@
|
|
|
114
114
|
"vultisigEmailLabel": "E-Mail",
|
|
115
115
|
"vultisigVerifyCodeLabel": "Bestätige den Fast Vault Code, der an {{email}} gesendet wurde",
|
|
116
116
|
"vultisigVerify": "Bestätigen",
|
|
117
|
-
"vultisigReadOnlyWarning": "Das Signieren mit Vultisig Vaults ist vorübergehend nur für Rujira und andere Cosmos-Chains aktiviert. Vaults können erstellt, gesichert und in jede andere Vultisig-kompatible Wallet importiert werden.",
|
|
118
117
|
"vultisigConnectProviderError": "useConnect muss innerhalb von ConnectProvider verwendet werden",
|
|
119
118
|
"mergeNow": "Jetzt Mergen",
|
|
120
119
|
"iUnderstandContinue": "Ich verstehe, Fortfahren",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"builtCardScaleMobileLine2": "um neue Services zu bauen und zu skalieren,",
|
|
80
80
|
"builtCardScaleMobileLine3": "sorgfältig geprüft für sichere, zuverlässige",
|
|
81
81
|
"builtCardScaleMobileLine4": "und hochwertige Produkte für dich.",
|
|
82
|
-
"productsPill": "
|
|
82
|
+
"productsPill": "Produkte",
|
|
83
83
|
"productsTitle": "Ein System, das zusammenarbeitet",
|
|
84
84
|
"productsCopy1": "Rujira bringt alle Produkte, die du brauchst, an einen Ort, an dem alles für dich zusammenspielt.",
|
|
85
85
|
"productsCopy2": "Kein Springen mehr zwischen Apps oder Chains, nur ein einfacher Weg, damit DeFi leicht wirkt.",
|
|
@@ -114,7 +114,6 @@
|
|
|
114
114
|
"vultisigEmailLabel": "Email",
|
|
115
115
|
"vultisigVerifyCodeLabel": "Verify the Fast Vault code sent to {{email}}",
|
|
116
116
|
"vultisigVerify": "Verify",
|
|
117
|
-
"vultisigReadOnlyWarning": "Vultisig Vault signing is temporarily only enabled for Rujira and other Cosmos chains. Vaults can be created, backed up, and imported into any other Vultisig compatible wallet.",
|
|
118
117
|
"vultisigConnectProviderError": "useConnect must be used within ConnectProvider",
|
|
119
118
|
"depositInOrderTo": "Deposit {{symbol}} in order to {{action}}, and use other Rujira products",
|
|
120
119
|
"depositSymbolTo": "Deposit {{symbol}} to {{action}}",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"builtCardScaleMobileLine2": "build and scale new services, carefully",
|
|
80
80
|
"builtCardScaleMobileLine3": "reviewed to ensure safe, reliable,",
|
|
81
81
|
"builtCardScaleMobileLine4": "and high-quality products for you.",
|
|
82
|
-
"productsPill": "
|
|
82
|
+
"productsPill": "Products",
|
|
83
83
|
"productsTitle": "A System Built to Work in Harmony",
|
|
84
84
|
"productsCopy1": "Rujira brings all the products you need into one place where everything works together for you.",
|
|
85
85
|
"productsCopy2": "No more jumping between apps or chains, just a simple way to make DeFi feel easy.",
|
|
@@ -31,7 +31,10 @@ class CosmosAdapter {
|
|
|
31
31
|
await k.enable(chain.chainId);
|
|
32
32
|
const signer = await k.getOfflineSignerAuto(chain.chainId);
|
|
33
33
|
const accounts = await signer.getAccounts();
|
|
34
|
-
return accounts.map((a) =>
|
|
34
|
+
return accounts.map((a) => ({
|
|
35
|
+
address: a.address,
|
|
36
|
+
networks: [(0, exports.getNetwork)(chain)],
|
|
37
|
+
}));
|
|
35
38
|
})).then((res) => {
|
|
36
39
|
return res.reduce((a, v) => v.status === "fulfilled" ? [...v.value, ...a] : a, []);
|
|
37
40
|
});
|
|
@@ -53,13 +56,13 @@ class CosmosAdapter {
|
|
|
53
56
|
}
|
|
54
57
|
networks() {
|
|
55
58
|
return [
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
rujira_js_1.GAIA,
|
|
60
|
+
rujira_js_1.KUJI,
|
|
58
61
|
// "NOBLE",
|
|
59
|
-
|
|
62
|
+
rujira_js_1.OSMO,
|
|
60
63
|
// "TERRA",
|
|
61
64
|
// "TERRA2",
|
|
62
|
-
|
|
65
|
+
rujira_js_1.THOR,
|
|
63
66
|
];
|
|
64
67
|
}
|
|
65
68
|
}
|
|
@@ -72,17 +75,17 @@ exports.getGasPrice = getGasPrice;
|
|
|
72
75
|
const getNetwork = (c) => {
|
|
73
76
|
switch (c.chainName) {
|
|
74
77
|
case "Kujira":
|
|
75
|
-
return
|
|
78
|
+
return rujira_js_1.KUJI;
|
|
76
79
|
case "Cosmos Hub":
|
|
77
|
-
return
|
|
80
|
+
return rujira_js_1.GAIA;
|
|
78
81
|
case "Noble":
|
|
79
82
|
return "NOBLE";
|
|
80
83
|
case "Osmosis":
|
|
81
|
-
return
|
|
84
|
+
return rujira_js_1.OSMO;
|
|
82
85
|
case "THORChain":
|
|
83
86
|
case "THORChain Stagenet":
|
|
84
87
|
case "THORChain Devnet":
|
|
85
|
-
return
|
|
88
|
+
return rujira_js_1.THOR;
|
|
86
89
|
default:
|
|
87
90
|
throw new Error(`No Network for chain ${c.chainName}`);
|
|
88
91
|
}
|
|
@@ -25,9 +25,15 @@ class Eip1193Adapter {
|
|
|
25
25
|
? authorizedAccounts
|
|
26
26
|
: await e.request({ method: "eth_requestAccounts" });
|
|
27
27
|
const eip712 = this.eip712 ? await this.eip712.connect() : [];
|
|
28
|
-
this.map = eip1193.reduce((a, v) => ({ ...a, [v]: "1193" }), this.map);
|
|
29
|
-
this.map = eip712.reduce((a, v) => ({ ...a, [v]: "712" }), this.map);
|
|
30
|
-
return [
|
|
28
|
+
this.map = eip1193.reduce((a, v) => ({ ...a, [ethers_1.ethers.getAddress(v)]: "1193" }), this.map);
|
|
29
|
+
this.map = eip712.reduce((a, v) => ({ ...a, [v.address]: "712" }), this.map);
|
|
30
|
+
return [
|
|
31
|
+
...eip712,
|
|
32
|
+
...eip1193.map((x) => ({
|
|
33
|
+
address: ethers_1.ethers.getAddress(x),
|
|
34
|
+
networks: this.eip1193Networks(),
|
|
35
|
+
})),
|
|
36
|
+
];
|
|
31
37
|
}
|
|
32
38
|
async simulate(msg) {
|
|
33
39
|
if (this.map[msg.account.address] === "712") {
|
|
@@ -70,7 +76,10 @@ class Eip1193Adapter {
|
|
|
70
76
|
return new ethers_1.JsonRpcSigner(provider, account.address);
|
|
71
77
|
}
|
|
72
78
|
networks() {
|
|
73
|
-
return [...(this.eip712?.networks() || []),
|
|
79
|
+
return [...(this.eip712?.networks() || []), ...this.eip1193Networks()];
|
|
80
|
+
}
|
|
81
|
+
eip1193Networks() {
|
|
82
|
+
return [rujira_js_1.AVAX, rujira_js_1.BASE, rujira_js_1.BSC, rujira_js_1.ETH];
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
85
|
exports.Eip1193Adapter = Eip1193Adapter;
|
|
@@ -19,7 +19,10 @@ class Eip712Adapter {
|
|
|
19
19
|
throw new Error(`No bech32 prefix provided for ${this.chainInfo.chainId}`);
|
|
20
20
|
const signer = new rujira_js_1.signers.cosmos.Eip712Signer(e, prefix, this.chainInfo.rpc);
|
|
21
21
|
const accounts = await signer.getAccounts();
|
|
22
|
-
return accounts.map((a) =>
|
|
22
|
+
return accounts.map((a) => ({
|
|
23
|
+
address: a.address,
|
|
24
|
+
networks: this.networks(),
|
|
25
|
+
}));
|
|
23
26
|
}
|
|
24
27
|
async simulate(msg) {
|
|
25
28
|
await this.e()?.request({
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Provider = exports.vultisig = void 0;
|
|
4
4
|
const brave_1 = require("./brave");
|
|
5
5
|
const coinbase_1 = require("./coinbase");
|
|
6
|
-
const ctrl_1 = require("./ctrl");
|
|
7
6
|
const keplr_1 = require("./keplr");
|
|
8
7
|
const leap_1 = require("./leap");
|
|
9
8
|
// import { default as ledger } from "./ledger";
|
|
@@ -21,14 +20,30 @@ Object.defineProperty(exports, "vultisig", { enumerable: true, get: function ()
|
|
|
21
20
|
const xaman_1 = require("./xaman");
|
|
22
21
|
var Provider;
|
|
23
22
|
(function (Provider) {
|
|
23
|
+
Provider.keys = [
|
|
24
|
+
"Brave",
|
|
25
|
+
"Coinbase",
|
|
26
|
+
"DaoDao",
|
|
27
|
+
"Keplr",
|
|
28
|
+
"Leap",
|
|
29
|
+
"Ledger",
|
|
30
|
+
"Metamask",
|
|
31
|
+
"Okx",
|
|
32
|
+
"Rabby",
|
|
33
|
+
"Station",
|
|
34
|
+
"Ton",
|
|
35
|
+
"Tronlink",
|
|
36
|
+
"Trust",
|
|
37
|
+
"Vulticonnect",
|
|
38
|
+
"Vultisig",
|
|
39
|
+
"Xaman",
|
|
40
|
+
];
|
|
24
41
|
Provider.signer = (p) => {
|
|
25
42
|
switch (p) {
|
|
26
43
|
case "Brave":
|
|
27
44
|
return brave_1.default;
|
|
28
45
|
case "Coinbase":
|
|
29
46
|
return coinbase_1.default;
|
|
30
|
-
case "Ctrl":
|
|
31
|
-
return ctrl_1.default;
|
|
32
47
|
case "DaoDao":
|
|
33
48
|
return daodao_1.default;
|
|
34
49
|
case "Keplr":
|
|
@@ -5,8 +5,8 @@ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
|
5
5
|
const rujira_js_1 = require("rujira.js");
|
|
6
6
|
const cosmos_1 = require("./cosmos");
|
|
7
7
|
const eip6963_1 = require("./eip6963");
|
|
8
|
-
const utxo = require("./utxo");
|
|
9
8
|
const utils_1 = require("./utils");
|
|
9
|
+
const utxo = require("./utxo");
|
|
10
10
|
const utxo_1 = require("./utxo");
|
|
11
11
|
class KeplrAdapter {
|
|
12
12
|
e;
|
|
@@ -33,15 +33,18 @@ class KeplrAdapter {
|
|
|
33
33
|
const k = window.keplr?.bitcoin;
|
|
34
34
|
if (!k)
|
|
35
35
|
throw new Error("No Keplr Bitcoin provider");
|
|
36
|
-
return k
|
|
36
|
+
return k
|
|
37
|
+
.connectWallet()
|
|
38
|
+
.then((addrs) => addrs.map((address) => ({ address, networks: [rujira_js_1.BTC] })));
|
|
37
39
|
}
|
|
38
40
|
async simulate(msg) {
|
|
39
|
-
const type = (0, utils_1.walletType)(msg.account
|
|
41
|
+
const type = (0, utils_1.walletType)(msg.account);
|
|
40
42
|
switch (type) {
|
|
41
43
|
case "cosmos":
|
|
42
44
|
return this.c.simulate(msg);
|
|
43
45
|
case "evm":
|
|
44
46
|
return this.e.simulate(msg);
|
|
47
|
+
case "sol":
|
|
45
48
|
case "ton":
|
|
46
49
|
case "xrp":
|
|
47
50
|
case "tron":
|
|
@@ -51,12 +54,13 @@ class KeplrAdapter {
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
async signAndBroadcast(simulation, msg) {
|
|
54
|
-
const type = (0, utils_1.walletType)(msg.account
|
|
57
|
+
const type = (0, utils_1.walletType)(msg.account);
|
|
55
58
|
switch (type) {
|
|
56
59
|
case "cosmos":
|
|
57
60
|
return this.c.signAndBroadcast(simulation, msg);
|
|
58
61
|
case "evm":
|
|
59
62
|
return this.e.signAndBroadcast(simulation, msg);
|
|
63
|
+
case "sol":
|
|
60
64
|
case "ton":
|
|
61
65
|
case "xrp":
|
|
62
66
|
case "tron":
|
|
@@ -5,8 +5,8 @@ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
|
5
5
|
const rujira_js_1 = require("rujira.js");
|
|
6
6
|
const cosmos_1 = require("./cosmos");
|
|
7
7
|
const eip6963_1 = require("./eip6963");
|
|
8
|
-
const utxo = require("./utxo");
|
|
9
8
|
const utils_1 = require("./utils");
|
|
9
|
+
const utxo = require("./utxo");
|
|
10
10
|
const utxo_1 = require("./utxo");
|
|
11
11
|
class OkxAdapter {
|
|
12
12
|
e;
|
|
@@ -20,16 +20,19 @@ class OkxAdapter {
|
|
|
20
20
|
connect() {
|
|
21
21
|
if (!this.b)
|
|
22
22
|
throw new Error("Okx extension not found");
|
|
23
|
-
const accs = this.b
|
|
23
|
+
const accs = this.b
|
|
24
|
+
.connect()
|
|
25
|
+
.then((res) => ({ address: res.address, networks: [rujira_js_1.BTC] }));
|
|
24
26
|
return Promise.all([this.e.connect(), this.c.connect(), accs]).then((x) => x.flat());
|
|
25
27
|
}
|
|
26
28
|
async simulate(msg) {
|
|
27
|
-
const type = (0, utils_1.walletType)(msg.account
|
|
29
|
+
const type = (0, utils_1.walletType)(msg.account);
|
|
28
30
|
switch (type) {
|
|
29
31
|
case "cosmos":
|
|
30
32
|
return this.c.simulate(msg);
|
|
31
33
|
case "evm":
|
|
32
34
|
return this.e.simulate(msg);
|
|
35
|
+
case "sol":
|
|
33
36
|
case "ton":
|
|
34
37
|
case "xrp":
|
|
35
38
|
case "tron":
|
|
@@ -39,12 +42,13 @@ class OkxAdapter {
|
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
async signAndBroadcast(simulation, msg) {
|
|
42
|
-
const type = (0, utils_1.walletType)(msg.account
|
|
45
|
+
const type = (0, utils_1.walletType)(msg.account);
|
|
43
46
|
switch (type) {
|
|
44
47
|
case "cosmos":
|
|
45
48
|
return this.c.signAndBroadcast(simulation, msg);
|
|
46
49
|
case "evm":
|
|
47
50
|
return this.e.signAndBroadcast(simulation, msg);
|
|
51
|
+
case "sol":
|
|
48
52
|
case "ton":
|
|
49
53
|
case "xrp":
|
|
50
54
|
case "tron":
|
|
@@ -31,9 +31,12 @@ class TonKeeper {
|
|
|
31
31
|
}).then((wallet) => {
|
|
32
32
|
return wallet
|
|
33
33
|
? [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
{
|
|
35
|
+
address: ton_core_1.Address.parse(wallet.account.address).toString({
|
|
36
|
+
bounceable: false,
|
|
37
|
+
}),
|
|
38
|
+
networks: [rujira_js_1.TON],
|
|
39
|
+
},
|
|
37
40
|
]
|
|
38
41
|
: [];
|
|
39
42
|
});
|
|
@@ -15,7 +15,7 @@ class Tronlink {
|
|
|
15
15
|
await t.request({ method: "tron_requestAccounts" });
|
|
16
16
|
if (!t.tronWeb.defaultAddress.base58)
|
|
17
17
|
throw new Error(`No account found on TronLink`);
|
|
18
|
-
return [t.tronWeb.defaultAddress.base58];
|
|
18
|
+
return [{ address: t.tronWeb.defaultAddress.base58, networks: [rujira_js_1.TRON] }];
|
|
19
19
|
}
|
|
20
20
|
async simulate(msg) {
|
|
21
21
|
return (0, exports.simulate)(this.context(), msg);
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.walletType = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return "cosmos";
|
|
4
|
+
const walletType = (account) => {
|
|
5
|
+
switch (account.network) {
|
|
6
|
+
case "AVAX":
|
|
7
|
+
case "BASE":
|
|
8
|
+
case "BSC":
|
|
9
|
+
case "ETH":
|
|
10
|
+
return "evm";
|
|
11
|
+
case "GAIA":
|
|
12
|
+
case "KUJI":
|
|
13
|
+
case "NOBLE":
|
|
14
|
+
case "OSMO":
|
|
15
|
+
case "TERRA":
|
|
16
|
+
case "TERRA2":
|
|
17
|
+
case "THOR":
|
|
18
|
+
return "cosmos";
|
|
19
|
+
case "SOL":
|
|
20
|
+
return "sol";
|
|
21
|
+
case "TON":
|
|
22
|
+
return "ton";
|
|
23
|
+
case "TRON":
|
|
24
|
+
return "tron";
|
|
25
|
+
case "XRP":
|
|
26
|
+
return "xrp";
|
|
27
|
+
case "%future added value":
|
|
28
|
+
throw new Error(`Unknown`);
|
|
29
|
+
default:
|
|
30
|
+
return ["utxo", account.network];
|
|
31
|
+
}
|
|
33
32
|
};
|
|
34
33
|
exports.walletType = walletType;
|
|
@@ -23,11 +23,11 @@ class VulticonnectAdapter {
|
|
|
23
23
|
//connections from succeeding.
|
|
24
24
|
const results = await Promise.allSettled([
|
|
25
25
|
this.c.connect(),
|
|
26
|
-
this.connectTo(vs.ripple),
|
|
27
|
-
this.connectTo(vs.bitcoin),
|
|
28
|
-
this.connectTo(vs.bitcoincash),
|
|
29
|
-
this.connectTo(vs.dogecoin),
|
|
30
|
-
this.connectTo(vs.litecoin),
|
|
26
|
+
this.connectTo(vs.ripple, rujira_js_1.XRP),
|
|
27
|
+
this.connectTo(vs.bitcoin, rujira_js_1.BTC),
|
|
28
|
+
this.connectTo(vs.bitcoincash, rujira_js_1.BCH),
|
|
29
|
+
this.connectTo(vs.dogecoin, rujira_js_1.DOGE),
|
|
30
|
+
this.connectTo(vs.litecoin, rujira_js_1.LTC),
|
|
31
31
|
// this.connectTo(vs.ton),
|
|
32
32
|
// this.connectTo(vs.tron),
|
|
33
33
|
this.t.connect(),
|
|
@@ -37,19 +37,27 @@ class VulticonnectAdapter {
|
|
|
37
37
|
.filter((r) => r.status === "fulfilled")
|
|
38
38
|
.flatMap((r) => r.value);
|
|
39
39
|
}
|
|
40
|
-
async connectTo(provider) {
|
|
41
|
-
|
|
40
|
+
async connectTo(provider, network) {
|
|
41
|
+
const accounts = await provider.request({
|
|
42
42
|
method: "request_accounts",
|
|
43
43
|
});
|
|
44
|
+
const addresses = Array.isArray(accounts) ? accounts : [accounts];
|
|
45
|
+
return addresses.map((account) => ({
|
|
46
|
+
address: typeof account === "string" ? account : account.address,
|
|
47
|
+
networks: [network],
|
|
48
|
+
}));
|
|
44
49
|
}
|
|
45
50
|
async simulate(msg) {
|
|
46
|
-
switch ((0, utils_1.walletType)(msg.account
|
|
51
|
+
switch ((0, utils_1.walletType)(msg.account)) {
|
|
47
52
|
case "cosmos":
|
|
48
53
|
return this.c.simulate(msg);
|
|
49
54
|
case "evm":
|
|
50
55
|
return this.e.simulate(msg);
|
|
51
56
|
case "tron":
|
|
52
57
|
return this.t.simulate(msg);
|
|
58
|
+
case "sol":
|
|
59
|
+
case "ton":
|
|
60
|
+
throw new Error(`${msg.account.network} not supported by Vulticonnect`);
|
|
53
61
|
case "xrp":
|
|
54
62
|
const inboundAddress = await msg.inboundAddress?.(msg.account.network);
|
|
55
63
|
return {
|
|
@@ -69,13 +77,16 @@ class VulticonnectAdapter {
|
|
|
69
77
|
}
|
|
70
78
|
}
|
|
71
79
|
async signAndBroadcast(simulation, msg) {
|
|
72
|
-
switch ((0, utils_1.walletType)(msg.account
|
|
80
|
+
switch ((0, utils_1.walletType)(msg.account)) {
|
|
73
81
|
case "cosmos":
|
|
74
82
|
return this.c.signAndBroadcast(simulation, msg);
|
|
75
83
|
case "evm":
|
|
76
84
|
return this.e.signAndBroadcast(simulation, msg);
|
|
77
85
|
case "tron":
|
|
78
86
|
return this.t.signAndBroadcast(simulation, msg);
|
|
87
|
+
case "sol":
|
|
88
|
+
case "ton":
|
|
89
|
+
throw new Error(`${msg.account.network} not supported by Vulticonnect`);
|
|
79
90
|
case "xrp":
|
|
80
91
|
const payment = await msg.toXrpPayment();
|
|
81
92
|
if (payment.Memos?.length && payment.Memos.length > 1) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signAndBroadcast = exports.Sol = void 0;
|
|
4
|
+
const sdk_1 = require("@vultisig/sdk");
|
|
5
|
+
const rujira_js_1 = require("rujira.js");
|
|
6
|
+
const native_1 = require("./native");
|
|
7
|
+
class Sol extends native_1.NativeVault {
|
|
8
|
+
constructor(vault) {
|
|
9
|
+
super(vault, sdk_1.Chain.Solana, rujira_js_1.SOL, 9);
|
|
10
|
+
}
|
|
11
|
+
send(transfer) {
|
|
12
|
+
return this.sendTransfer(transfer);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Sol = Sol;
|
|
16
|
+
const signAndBroadcast = async (context, msg) => {
|
|
17
|
+
const transfer = await msg.toNativeTransfer();
|
|
18
|
+
return {
|
|
19
|
+
network: rujira_js_1.SOL,
|
|
20
|
+
address: msg.account.address,
|
|
21
|
+
txHash: await context.send(transfer),
|
|
22
|
+
deposited: msg.toDeposit?.() || null,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.signAndBroadcast = signAndBroadcast;
|