btc-wallet
Version:
BTC Wallet is a toolkit that enables Bitcoin usage on the NEAR blockchain through the Satoshi protocol.
796 lines (780 loc) • 278 kB
JavaScript
"use client";
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __pow = Math.pow;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __accessCheck = (obj, member, msg) => {
if (!member.has(obj))
throw TypeError("Cannot " + msg);
};
var __privateGet = (obj, member, getter) => {
__accessCheck(obj, member, "read from private field");
return getter ? getter.call(obj) : member.get(obj);
};
var __privateAdd = (obj, member, value) => {
if (member.has(obj))
throw TypeError("Cannot add the same private member more than once");
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/index.ts
var src_exports = {};
__export(src_exports, {
BaseConnector: () => BaseConnector,
BinanceConnector: () => BinanceConnector,
BitgetConnector: () => BitgetConnector,
BtcWalletSelectorContextProvider: () => BtcWalletSelectorContextProvider,
BybitConnector: () => BybitConnector,
ConnectProvider: () => ConnectProvider,
GateConnector: () => GateConnector,
InjectedConnector: () => InjectedConnector,
MagicEdenConnector: () => MagicEdenConnector,
OKXConnector: () => OKXConnector,
TokenPocketConnector: () => TokenPocketConnector,
UnisatConnector: () => UnisatConnector,
WizzConnector: () => WizzConnector,
XverseConnector: () => XverseConnector,
btcRpcUrls: () => btcRpcUrls,
calculateGasFee: () => calculateGasFee,
calculateGasLimit: () => calculateGasLimit,
calculateGasStrategy: () => calculateGasStrategy,
calculateWithdraw: () => calculateWithdraw,
checkBridgeTransactionStatus: () => checkBridgeTransactionStatus,
checkGasTokenDebt: () => checkGasTokenDebt,
checkNewAccount: () => checkNewAccount,
checkSatoshiWhitelist: () => checkSatoshiWhitelist,
estimateDepositAmount: () => estimateDepositAmount,
executeBTCDepositAndAction: () => executeBTCDepositAndAction,
getAddressByPublicKeyBase58: () => getAddressByPublicKeyBase58,
getBtcBalance: () => getBtcBalance,
getBtcGasPrice: () => getBtcGasPrice,
getBtcUtxos: () => getBtcUtxos,
getCsnaAccountId: () => getCsnaAccountId,
getDepositAmount: () => getDepositAmount,
getPublicKeyBase58: () => getPublicKeyBase58,
getVersion: () => getVersion,
getWalletConfig: () => getWalletConfig,
getWithdrawTransaction: () => getWithdrawTransaction,
nearRpcUrls: () => nearRpcUrls,
sendBitcoin: () => sendBitcoin,
setupBTCWallet: () => setupBTCWallet,
setupWalletSelectorModal: () => setupWalletSelectorModal,
signMessage: () => signMessage,
useAccountContract: () => useAccountContract,
useAccounts: () => useAccounts,
useBTCProvider: () => useBTCProvider,
useBtcWalletSelector: () => useBtcWalletSelector,
useConnectModal: () => useConnectModal,
useConnector: () => useConnector,
useETHProvider: () => useETHProvider,
walletConfig: () => walletConfig
});
module.exports = __toCommonJS(src_exports);
// src/connector/base.ts
var BaseConnector = class {
};
// src/icons/bitget.png
var bitget_default = "data:image/png;base64,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";
// src/utils/index.ts
function shortString(str) {
if (Array.isArray(str)) {
str = "[" + str.toString() + "]";
}
if (str) {
if (typeof str.toString === "function") {
str = str.toString();
}
if (str.length <= 10) {
return str;
}
return `${str.slice(0, 5)}...${str.slice(str.length - 5, str.length)}`;
}
return "";
}
function copyToClipboard(text) {
return __async(this, null, function* () {
const clipboardCopy = () => __async(this, null, function* () {
if (navigator.clipboard) {
return navigator.clipboard.writeText(text);
} else {
const textarea = document.createElement("textarea");
textarea.value = text;
textarea.setAttribute("readonly", "");
textarea.style.position = "absolute";
textarea.style.left = "-9999px";
document.body.appendChild(textarea);
textarea.select();
const result = document.execCommand("copy");
document.body.removeChild(textarea);
if (!result) {
throw new Error("Copy to clipboard failed");
}
}
});
return new Promise((resolve, reject) => {
clipboardCopy().then(resolve).catch(reject);
});
});
}
var defaultTokenIcon = "https://static.particle.network/token-list/defaultToken/default.png";
var ipfsToSrc = (ipfs) => {
if (!ipfs || !ipfs.startsWith("ipfs://")) {
return ipfs || "";
}
return `https://ipfs.particle.network/${encodeURI(ipfs.slice(7))}`;
};
var checkBTCVersion = (accountContracts, accountContractKey, version) => {
if (!accountContracts[accountContractKey]) {
return false;
}
return accountContracts[accountContractKey].some((item) => item.version === version);
};
var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
function retryOperation(_0, _1) {
return __async(this, arguments, function* (operation, shouldStop, {
maxRetries = 3,
delayMs = 1e3
} = {}) {
let retries = 0;
while (retries <= maxRetries) {
const result = yield operation();
if (shouldStop(result)) {
return result;
}
if (retries === maxRetries) {
console.warn("Max retries reached");
return result;
}
retries++;
yield delay(delayMs);
}
throw new Error("Unexpected execution path");
});
}
function toHex(originalString) {
const charArray = originalString.split("");
const asciiArray = charArray.map((char) => char.charCodeAt(0));
const hexArray = asciiArray.map((code) => code.toString(16));
let hexString = hexArray.join("");
hexString = hexString.replace(/(^0+)/g, "");
return hexString;
}
function isMobile() {
if (typeof window !== "undefined") {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator == null ? void 0 : navigator.userAgent
);
}
return false;
}
function safeJSONParse(str) {
try {
return JSON.parse(str);
} catch (e) {
console.error("safeJSONParse", e);
return void 0;
}
}
function safeJSONStringify(obj) {
try {
return JSON.stringify(obj);
} catch (e) {
console.error("safeJSONStringify", e);
return void 0;
}
}
function storageStore(namespace, options) {
if (typeof window === "undefined")
return;
const _namespace = namespace || "SATOSHI_WALLET_DEFAULT";
const storage5 = (options == null ? void 0 : options.storage) || (window == null ? void 0 : window.localStorage);
const namespaceKey = (key) => {
return _namespace + ":" + key;
};
return {
set(key, value) {
const _value = safeJSONStringify(value);
_value ? storage5.setItem(namespaceKey(key), _value) : storage5.removeItem(namespaceKey(key));
},
get(key) {
const _value = storage5.getItem(namespaceKey(key));
return _value ? safeJSONParse(_value) : void 0;
},
remove(key) {
storage5.removeItem(namespaceKey(key));
},
clearAll: function clearAll() {
for (const key in storage5) {
if (key.startsWith(namespace + ":")) {
storage5.removeItem(key);
}
}
}
};
}
// src/utils/Dialog.ts
var Dialog = class {
static injectStyles() {
if (!document.querySelector("#dialog-styles")) {
const styleSheet = document.createElement("style");
styleSheet.id = "dialog-styles";
styleSheet.textContent = this.style;
document.head.appendChild(styleSheet);
}
}
static confirm(options) {
return new Promise((resolve) => {
this.injectStyles();
const container = document.createElement("div");
container.innerHTML = this.template;
document.body.appendChild(container);
const titleEl = container.querySelector(".dialog-title");
const messageEl = container.querySelector(".dialog-message");
const confirmBtn = container.querySelector(".dialog-confirm-btn");
const cancelBtn = container.querySelector(".dialog-cancel-btn");
if (options.title) {
titleEl.textContent = options.title;
} else {
titleEl.style.display = "none";
}
messageEl.textContent = options.message;
const cleanup = () => {
document.body.removeChild(container);
};
confirmBtn.addEventListener("click", () => {
cleanup();
resolve(true);
});
cancelBtn.addEventListener("click", () => {
cleanup();
resolve(false);
});
});
}
static alert(options) {
const messageEl = options.dangerouslyUseHTML ? { dangerouslySetInnerHTML: { __html: options.message } } : { children: options.message };
return new Promise((resolve) => {
var _a;
this.injectStyles();
const container = document.createElement("div");
container.innerHTML = this.template;
(_a = container.querySelector(".dialog-overlay")) == null ? void 0 : _a.classList.add("dialog-alert");
if (options.closable === false) {
const overlay = container.querySelector(".dialog-overlay");
overlay.style.pointerEvents = "none";
const dialogContainer = container.querySelector(".dialog-container");
dialogContainer.style.pointerEvents = "auto";
}
document.body.appendChild(container);
const titleEl = container.querySelector(".dialog-title");
const messageEl2 = container.querySelector(".dialog-message");
const confirmBtn = container.querySelector(".dialog-confirm-btn");
const cancelBtn = container.querySelector(".dialog-cancel-btn");
if (options.title) {
titleEl.textContent = options.title;
} else {
titleEl.style.display = "none";
}
messageEl2.innerHTML = options.message;
cancelBtn.style.display = "none";
if (options.closable === false) {
confirmBtn.style.display = "none";
}
const cleanup = () => {
if (options.closable === false) {
return;
}
document.body.removeChild(container);
};
confirmBtn.addEventListener("click", () => {
cleanup();
resolve();
});
});
}
static openModal({
title,
titleStyle,
content
}) {
return new Promise((resolve) => {
const modalContainer = document.createElement("div");
modalContainer.innerHTML = this.template;
document.body.appendChild(modalContainer);
const btns = modalContainer.querySelector(".dialog-buttons");
btns.style.display = "none";
this.injectStyles();
const titleEl = modalContainer.querySelector(".dialog-title");
if (title) {
titleEl.textContent = title;
if (titleStyle) {
titleEl.style.cssText = titleStyle;
}
} else {
titleEl.style.display = "none";
}
const cleanup = () => {
document.body.removeChild(modalContainer);
};
const close = () => {
cleanup();
resolve(null);
};
const messageEl = modalContainer.querySelector(".dialog-message");
messageEl.appendChild(content(resolve, close));
const overlay = modalContainer.querySelector(".dialog-overlay");
overlay.addEventListener("click", (e) => {
if (e.target === overlay) {
close();
}
});
});
}
};
Dialog.template = `
<div class="dialog-overlay">
<div class="dialog-container">
<div class="dialog-content">
<div class="dialog-title"></div>
<div class="dialog-message"></div>
<div class="dialog-buttons">
<button class="dialog-cancel-btn">Cancel</button>
<button class="dialog-confirm-btn">OK</button>
</div>
</div>
</div>
</div>
`;
Dialog.style = `
.dialog-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.75);
display: flex;
align-items: center;
justify-content: center;
z-index: 999999;
backdrop-filter: blur(4px);
}
.dialog-container {
background: #131313;
border-radius: 12px;
padding: 24px;
width: 350px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}
.dialog-title {
font-size: 18px;
font-weight: 600;
margin-bottom: 16px;
color: #ffffff;
}
.dialog-message {
margin-bottom: 24px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.8);
font-size: 14px;
}
.dialog-buttons {
display: flex;
justify-content: flex-end;
gap: 12px;
}
.dialog-alert .dialog-buttons {
justify-content: center;
}
.dialog-confirm-btn {
padding: 8px 24px;
background-color: #ff7a00;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
transition: all 0.2s ease;
}
.dialog-confirm-btn:hover {
background-color: #ff8f1f;
transform: translateY(-1px);
}
.dialog-confirm-btn:active {
transform: translateY(0);
}
.dialog-cancel-btn {
padding: 8px 24px;
background-color: rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.8);
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
transition: all 0.2s ease;
}
.dialog-cancel-btn:hover {
background-color: rgba(255, 255, 255, 0.15);
transform: translateY(-1px);
}
.dialog-cancel-btn:active {
transform: translateY(0);
}
.dialog-overlay {
animation: fadeIn 0.2s ease;
}
.dialog-container {
animation: slideIn 0.2s ease;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideIn {
from {
transform: translateY(-20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.option-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.option-item {
display: flex;
align-items: center;
gap: 12px;
color: #fff;
border: 1px solid transparent;
background-color: hsla(0, 0%, 100%, .05);
border-radius: 8px;
padding: 8px 16px;
transition: all 0.15s ease;
cursor: pointer;
font-size: 14px;
font-weight: bold;
&:hover {
border-color: #ff7a00;
color: #ff7a00;
background-color: hsla(0, 0%, 100%, .08);
}
}
`;
// src/connector/universalLink.ts
var MobileWalletConnect = class {
static getUniversalLink(walletId, url) {
switch (walletId) {
case "okx":
return `okx://wallet/dapp/url?dappUrl=${encodeURIComponent(url)}`;
case "bitget":
return `bitkeep://bkconnect?action=dapp&url=${encodeURIComponent(url)}`;
case "xverse":
return `xverse://browser?url=${encodeURIComponent(url)}`;
default:
return "";
}
}
static redirectToWallet(walletId) {
return __async(this, null, function* () {
if (isMobile()) {
const currentUrl = window.location.href;
const universalLink = this.getUniversalLink(walletId, currentUrl);
const showGuideDialog = () => __async(this, null, function* () {
var _a;
try {
yield (_a = navigator.clipboard) == null ? void 0 : _a.writeText(currentUrl);
} catch (error) {
console.error(error);
}
yield Dialog.alert({
title: "Open in Wallet Browser",
message: `
<div style="display: flex; flex-direction: column; gap: 12px;">
<p>Please follow these steps:</p>
<p>1. Open ${walletId} wallet app</p>
<p>2. Find the browser feature in the wallet</p>
<p>3. Paste the URL (already copied to clipboard)</p>
</div>
`,
dangerouslyUseHTML: true
});
});
if (!universalLink) {
yield showGuideDialog();
return false;
}
const openWallet = () => {
const iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = universalLink;
document.body.appendChild(iframe);
setTimeout(() => __async(this, null, function* () {
document.body.removeChild(iframe);
yield showGuideDialog();
}), 2e3);
};
window.location.href = universalLink;
setTimeout(openWallet, 100);
return true;
}
return false;
});
}
};
// src/connector/injected.ts
var InjectedConnector = class extends BaseConnector {
constructor(propertity) {
var _a;
super();
this.propertity = propertity;
const props = (_a = this.propertity) == null ? void 0 : _a.split(".");
if (!this.propertity || props.length > 2) {
throw new Error("please input valid propertity");
}
}
isReady() {
if (typeof window !== "undefined") {
const props = this.propertity.split(".");
if (props.length === 1) {
if (typeof window[props[0]] !== "undefined") {
return true;
}
} else {
if (typeof window[props[0]] !== "undefined" && typeof window[props[0]][props[1]] !== "undefined") {
return true;
}
}
if (isMobile()) {
return true;
}
}
return false;
}
requestAccounts() {
return __async(this, null, function* () {
if (isMobile()) {
try {
this.getProvider();
} catch (error) {
yield MobileWalletConnect.redirectToWallet(this.metadata.id);
return [];
}
}
const accounts = yield this.getProviderOrThrow().requestAccounts();
console.log("network:", yield this.getNetwork());
console.log("\u{1F680} ~ InjectedConnector ~ requestAccounts ~ accounts:", accounts);
return accounts;
});
}
getAccounts() {
return __async(this, null, function* () {
const accounts = yield this.getProviderOrThrow().getAccounts();
return accounts;
});
}
getPublicKey() {
return __async(this, null, function* () {
return this.getProviderOrThrow().getPublicKey();
});
}
signMessage(signStr, type) {
return __async(this, null, function* () {
const addresses = yield this.getAccounts();
if (addresses.length === 0) {
throw new Error(`${this.metadata.name} not connected!`);
}
return this.getProviderOrThrow().signMessage(signStr, type);
});
}
on(event, handler) {
var _a;
const provider = this.getProvider();
return (_a = provider == null ? void 0 : provider.on) == null ? void 0 : _a.call(provider, event, handler);
}
removeListener(event, handler) {
var _a;
const provider = this.getProvider();
return (_a = provider == null ? void 0 : provider.removeListener) == null ? void 0 : _a.call(provider, event, handler);
}
getProvider() {
if (this.isReady()) {
const props = this.propertity.split(".");
if (props.length === 1) {
return window[props[0]];
} else {
return window[props[0]][props[1]];
}
}
}
getProviderOrThrow() {
const provider = this.getProvider();
if (!provider) {
throw new Error(`${this.metadata.name} is not install or not create Bitcoin wallet!`);
}
return provider;
}
getNetwork() {
return __async(this, null, function* () {
return this.getProviderOrThrow().getNetwork();
});
}
switchNetwork(network) {
return __async(this, null, function* () {
return this.getProviderOrThrow().switchNetwork(network);
});
}
sendBitcoin(toAddress, satoshis, options) {
return __async(this, null, function* () {
return this.getProviderOrThrow().sendBitcoin(toAddress, satoshis, options);
});
}
sendInscription(address, inscriptionId, options) {
return __async(this, null, function* () {
const result = yield this.getProviderOrThrow().sendInscription(address, inscriptionId, options);
if (typeof result === "string") {
return {
txid: result
};
}
return result;
});
}
disconnect() {
}
};
// src/connector/bitget.ts
var BitgetConnector = class extends InjectedConnector {
constructor() {
super("bitkeep.unisat");
this.metadata = {
id: "bitget",
name: "Bitget Wallet",
icon: bitget_default,
downloadUrl: "https://web3.bitget.com/en/wallet-download"
};
}
};
// src/icons/bybit.png
var bybit_default = "data:image/png;base64,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";
// src/connector/bybit.ts
var BybitConnector = class extends InjectedConnector {
constructor() {
super("bybitWallet.bitcoin");
this.metadata = {
id: "bybit",
name: "Bybit Wallet",
icon: bybit_default,
downloadUrl: "https://www.bybit.com/download/"
};
}
};
// src/icons/okx.svg
var okx_default = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwMCIgaGVpZ2h0PSIxMDAwIiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTAwMCIgaGVpZ2h0PSIxMDAwIiBmaWxsPSJibGFjayIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTM5My45NDkgMjE4LjUxOEgyMzEuMDQ5QzIyNC4xMjkgMjE4LjUxOCAyMTguNTE5IDIyNC4xMjggMjE4LjUxOSAyMzEuMDQ4VjM5My45NDhDMjE4LjUxOSA0MDAuODY5IDIyNC4xMjkgNDA2LjQ3OSAyMzEuMDQ5IDQwNi40NzlIMzkzLjk0OUM0MDAuODcgNDA2LjQ3OSA0MDYuNDggNDAwLjg2OSA0MDYuNDggMzkzLjk0OFYyMzEuMDQ4QzQwNi40OCAyMjQuMTI4IDQwMC44NyAyMTguNTE4IDM5My45NDkgMjE4LjUxOFpNNTgxLjk5MiA0MDYuNDc5SDQxOS4wOTJDNDEyLjE3MiA0MDYuNDc5IDQwNi41NjEgNDEyLjA5IDQwNi41NjEgNDE5LjAxVjU4MS45MUM0MDYuNTYxIDU4OC44MzEgNDEyLjE3MiA1OTQuNDQxIDQxOS4wOTIgNTk0LjQ0MUg1ODEuOTkyQzU4OC45MTMgNTk0LjQ0MSA1OTQuNTIzIDU4OC44MzEgNTk0LjUyMyA1ODEuOTFWNDE5LjAxQzU5NC41MjMgNDEyLjA5IDU4OC45MTMgNDA2LjQ3OSA1ODEuOTkyIDQwNi40NzlaTTYwNi45NzQgMjE4LjUxOEg3NjkuODc0Qzc3Ni43OTQgMjE4LjUxOCA3ODIuNDA1IDIyNC4xMjggNzgyLjQwNSAyMzEuMDQ4VjM5My45NDhDNzgyLjQwNSA0MDAuODY5IDc3Ni43OTQgNDA2LjQ3OSA3NjkuODc0IDQwNi40NzlINjA2Ljk3NEM2MDAuMDUzIDQwNi40NzkgNTk0LjQ0MyA0MDAuODY5IDU5NC40NDMgMzkzLjk0OFYyMzEuMDQ4QzU5NC40NDMgMjI0LjEyOCA2MDAuMDUzIDIxOC41MTggNjA2Ljk3NCAyMTguNTE4Wk0zOTMuOTUgNTk0LjQ0MkgyMzEuMDQ5QzIyNC4xMjkgNTk0LjQ0MiAyMTguNTE5IDYwMC4wNTIgMjE4LjUxOSA2MDYuOTczVjc2OS44NzNDMjE4LjUxOSA3NzYuNzkzIDIyNC4xMjkgNzgyLjQwNCAyMzEuMDQ5IDc4Mi40MDRIMzkzLjk1QzQwMC44NyA3ODIuNDA0IDQwNi40OCA3NzYuNzkzIDQwNi40OCA3NjkuODczVjYwNi45NzNDNDA2LjQ4IDYwMC4wNTIgNDAwLjg3IDU5NC40NDIgMzkzLjk1IDU5NC40NDJaTTYwNi45NzQgNTk0LjQ0Mkg3NjkuODc0Qzc3Ni43OTQgNTk0LjQ0MiA3ODIuNDA1IDYwMC4wNTIgNzgyLjQwNSA2MDYuOTczVjc2OS44NzNDNzgyLjQwNSA3NzYuNzkzIDc3Ni43OTQgNzgyLjQwNCA3NjkuODc0IDc4Mi40MDRINjA2Ljk3NEM2MDAuMDUzIDc4Mi40MDQgNTk0LjQ0MyA3NzYuNzkzIDU5NC40NDMgNzY5Ljg3M1Y2MDYuOTczQzU5NC40NDMgNjAwLjA1MiA2MDAuMDUzIDU5NC40NDIgNjA2Ljk3NCA1OTQuNDQyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";
// src/connector/okx.ts
var OKXConnector = class extends InjectedConnector {
constructor() {
super("okxwallet.bitcoin");
this.metadata = {
id: "okx",
name: "OKX Wallet",
icon: okx_default,
downloadUrl: "https://www.okx.com/download"
};
}
};
// src/icons/tokenpocket.png
var tokenpocket_default = "data:image/png;base64,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";
// src/connector/tokenPocket.ts
var TokenPocketConnector = class extends InjectedConnector {
constructor() {
super("tokenpocket.bitcoin");
this.metadata = {
id: "tokenpocket",
name: "TokenPocket",
icon: tokenpocket_default,
downloadUrl: "https://www.tokenpocket.pro/en/download/app"
};
}
};
// src/icons/unisat.svg
var unisat_default = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iX2ZyYW1lXzIiIGRhdGEtbmFtZT0iZnJhbWUgMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iLTEyIDAgMTAwIDEwMCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogdXJsKCNfbGxfMTI2KTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiB1cmwoI19sbF8xMjMpOwogICAgICB9CgogICAgICAuY2xzLTMgewogICAgICAgIGZpbGw6IHVybCgjX2xsXzEyMSk7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgICBmb250LWZhbWlseTogSmV0QnJhaW5zTW9ub1JvbWFuLU1lZGl1bSwgJ0pldEJyYWlucyBNb25vJzsKICAgICAgICBmb250LXNpemU6IDI0Ljc5cHg7CiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA1MDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9Il9sbF8xMjYiICB4MT0iOTYxLjY4IiB5MT0iLTQ1LjU3IiB4Mj0iOTg2LjE0IiB5Mj0iLTExMC4wNiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg3ODAuOTkgNjcxLjcpIHJvdGF0ZSgtMTM0LjczKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwNzAxMDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuMzYiIHN0b3AtY29sb3I9IiM3NzM5MGQiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNjciIHN0b3AtY29sb3I9IiNlYTgxMDEiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjRiODUyIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJfbGxfMTIxIiAgeDE9Ijk2NS4xNyIgeTE9Ii0xMzIuNDEiIHgyPSI5MjkuMjIiIHkyPSItNjUuMjIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzgwLjk5IDY3MS43KSByb3RhdGUoLTEzNC43MykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDcwMTAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjM3IiBzdG9wLWNvbG9yPSIjNzczOTBkIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjY3IiBzdG9wLWNvbG9yPSIjZWE4MTAxIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2Y0ZmI1MiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0iX2xsXzEyMyIgIGN4PSIzNS41OSIgY3k9IjMwLjc2IiBmeD0iMzUuNTkiIGZ5PSIzMC43NiIgcj0iNy40NyIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2Y0Yjg1MiIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii4zMyIgc3RvcC1jb2xvcj0iI2VhODEwMSIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii42NCIgc3RvcC1jb2xvcj0iIzc3MzkwZCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwNzAxMDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxnIGlkPSJfZnJhbWVfMS0yIiA+CiAgICA8Zz4KICAgICAgPGc+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTQuODEsOC45MWwyMC4zNCwyMC4xNGMxLjczLDEuNzEsMi41OCwzLjQ0LDIuNTUsNS4xOS0uMDMsMS43NC0uNzcsMy4