@zubari/sdk 0.1.7 → 0.1.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/dist/index.js +45 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -30
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.js +45 -30
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +45 -30
- package/dist/react/index.mjs.map +1 -1
- package/dist/wallet/index.js +27 -30
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/index.mjs +27 -30
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/wallet/index.mjs
CHANGED
|
@@ -1879,39 +1879,36 @@ var WalletManager = class _WalletManager {
|
|
|
1879
1879
|
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
1880
1880
|
}
|
|
1881
1881
|
} else if (chain === "bitcoin") {
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
headers: { "Accept": "application/json" }
|
|
1893
|
-
});
|
|
1894
|
-
if (!response.ok && apiUrl.includes("testnet4")) {
|
|
1895
|
-
console.log("Trying testnet3 API...");
|
|
1896
|
-
apiUrl = "https://mempool.space/testnet/api";
|
|
1897
|
-
response = await fetch(`${apiUrl}/address/${address}`, {
|
|
1882
|
+
const isMainnet = this.config.network === "mainnet" || address.startsWith("bc1") || address.startsWith("1") || address.startsWith("3");
|
|
1883
|
+
const apisToTry = isMainnet ? ["https://mempool.space/api"] : [
|
|
1884
|
+
"https://mempool.space/testnet/api",
|
|
1885
|
+
// testnet3 first (more common)
|
|
1886
|
+
"https://mempool.space/testnet4/api"
|
|
1887
|
+
// then testnet4
|
|
1888
|
+
];
|
|
1889
|
+
for (const apiUrl of apisToTry) {
|
|
1890
|
+
try {
|
|
1891
|
+
const response = await fetch(`${apiUrl}/address/${address}`, {
|
|
1898
1892
|
headers: { "Accept": "application/json" }
|
|
1899
1893
|
});
|
|
1894
|
+
if (response.ok) {
|
|
1895
|
+
const data = await response.json();
|
|
1896
|
+
const txCount = (data.chain_stats?.tx_count || 0) + (data.mempool_stats?.tx_count || 0);
|
|
1897
|
+
if (txCount > 0 || isMainnet) {
|
|
1898
|
+
const chainFunded = data.chain_stats?.funded_txo_sum || 0;
|
|
1899
|
+
const chainSpent = data.chain_stats?.spent_txo_sum || 0;
|
|
1900
|
+
const mempoolFunded = data.mempool_stats?.funded_txo_sum || 0;
|
|
1901
|
+
const mempoolSpent = data.mempool_stats?.spent_txo_sum || 0;
|
|
1902
|
+
const satoshis = chainFunded - chainSpent + (mempoolFunded - mempoolSpent);
|
|
1903
|
+
balance = (satoshis / 1e8).toFixed(8);
|
|
1904
|
+
console.log(`Bitcoin balance for ${address}: ${balance} BTC (${satoshis} sats) via ${apiUrl}`);
|
|
1905
|
+
break;
|
|
1906
|
+
}
|
|
1907
|
+
console.log(`No transactions found on ${apiUrl}, trying next...`);
|
|
1908
|
+
}
|
|
1909
|
+
} catch (error) {
|
|
1910
|
+
console.warn(`Failed to fetch from ${apiUrl}:`, error);
|
|
1900
1911
|
}
|
|
1901
|
-
if (response.ok) {
|
|
1902
|
-
const data = await response.json();
|
|
1903
|
-
const chainFunded = data.chain_stats?.funded_txo_sum || 0;
|
|
1904
|
-
const chainSpent = data.chain_stats?.spent_txo_sum || 0;
|
|
1905
|
-
const mempoolFunded = data.mempool_stats?.funded_txo_sum || 0;
|
|
1906
|
-
const mempoolSpent = data.mempool_stats?.spent_txo_sum || 0;
|
|
1907
|
-
const satoshis = chainFunded - chainSpent + (mempoolFunded - mempoolSpent);
|
|
1908
|
-
balance = (satoshis / 1e8).toFixed(8);
|
|
1909
|
-
console.log(`Bitcoin balance for ${address}: ${balance} BTC (${satoshis} sats) via ${apiUrl}`);
|
|
1910
|
-
} else {
|
|
1911
|
-
console.warn(`Bitcoin API returned status ${response.status} for ${address}`);
|
|
1912
|
-
}
|
|
1913
|
-
} catch (error) {
|
|
1914
|
-
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
1915
1912
|
}
|
|
1916
1913
|
} else if (chain === "solana") {
|
|
1917
1914
|
const rpcUrl = this.config.network === "mainnet" ? "https://api.mainnet-beta.solana.com" : "https://api.devnet.solana.com";
|