@zubari/sdk 0.1.3 → 0.1.5
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 +65 -64
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -65
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.js +65 -64
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +66 -65
- package/dist/react/index.mjs.map +1 -1
- package/dist/services/index.d.mts +2 -1
- package/dist/services/index.d.ts +2 -1
- package/dist/services/index.js +10 -64
- package/dist/services/index.js.map +1 -1
- package/dist/services/index.mjs +11 -65
- package/dist/services/index.mjs.map +1 -1
- package/dist/wallet/index.js +65 -64
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/index.mjs +66 -65
- package/dist/wallet/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/wallet/index.js
CHANGED
|
@@ -2408,59 +2408,6 @@ var require_bs58 = __commonJS({
|
|
|
2408
2408
|
}
|
|
2409
2409
|
});
|
|
2410
2410
|
|
|
2411
|
-
// ../../node_modules/bs58check/base.js
|
|
2412
|
-
var require_base = __commonJS({
|
|
2413
|
-
"../../node_modules/bs58check/base.js"(exports$1, module) {
|
|
2414
|
-
var base58 = require_bs58();
|
|
2415
|
-
module.exports = function(checksumFn) {
|
|
2416
|
-
function encode(payload) {
|
|
2417
|
-
var payloadU8 = Uint8Array.from(payload);
|
|
2418
|
-
var checksum = checksumFn(payloadU8);
|
|
2419
|
-
var length = payloadU8.length + 4;
|
|
2420
|
-
var both = new Uint8Array(length);
|
|
2421
|
-
both.set(payloadU8, 0);
|
|
2422
|
-
both.set(checksum.subarray(0, 4), payloadU8.length);
|
|
2423
|
-
return base58.encode(both, length);
|
|
2424
|
-
}
|
|
2425
|
-
function decodeRaw(buffer) {
|
|
2426
|
-
var payload = buffer.slice(0, -4);
|
|
2427
|
-
var checksum = buffer.slice(-4);
|
|
2428
|
-
var newChecksum = checksumFn(payload);
|
|
2429
|
-
if (checksum[0] ^ newChecksum[0] | checksum[1] ^ newChecksum[1] | checksum[2] ^ newChecksum[2] | checksum[3] ^ newChecksum[3]) return;
|
|
2430
|
-
return payload;
|
|
2431
|
-
}
|
|
2432
|
-
function decodeUnsafe(string) {
|
|
2433
|
-
var buffer = base58.decodeUnsafe(string);
|
|
2434
|
-
if (!buffer) return;
|
|
2435
|
-
return decodeRaw(buffer);
|
|
2436
|
-
}
|
|
2437
|
-
function decode(string) {
|
|
2438
|
-
var buffer = base58.decode(string);
|
|
2439
|
-
var payload = decodeRaw(buffer);
|
|
2440
|
-
if (!payload) throw new Error("Invalid checksum");
|
|
2441
|
-
return payload;
|
|
2442
|
-
}
|
|
2443
|
-
return {
|
|
2444
|
-
encode,
|
|
2445
|
-
decode,
|
|
2446
|
-
decodeUnsafe
|
|
2447
|
-
};
|
|
2448
|
-
};
|
|
2449
|
-
}
|
|
2450
|
-
});
|
|
2451
|
-
|
|
2452
|
-
// ../../node_modules/bs58check/index.js
|
|
2453
|
-
var require_bs58check = __commonJS({
|
|
2454
|
-
"../../node_modules/bs58check/index.js"(exports$1, module) {
|
|
2455
|
-
var { sha256: sha2562 } = __require("@noble/hashes/sha256");
|
|
2456
|
-
var bs58checkBase = require_base();
|
|
2457
|
-
function sha256x2(buffer) {
|
|
2458
|
-
return sha2562(sha2562(buffer));
|
|
2459
|
-
}
|
|
2460
|
-
module.exports = bs58checkBase(sha256x2);
|
|
2461
|
-
}
|
|
2462
|
-
});
|
|
2463
|
-
|
|
2464
2411
|
// src/config/networks.ts
|
|
2465
2412
|
var NETWORKS = {
|
|
2466
2413
|
bitcoin: {
|
|
@@ -3678,9 +3625,8 @@ function crc16(data) {
|
|
|
3678
3625
|
}
|
|
3679
3626
|
return crc;
|
|
3680
3627
|
}
|
|
3681
|
-
|
|
3628
|
+
function deriveTronAddress(seed) {
|
|
3682
3629
|
try {
|
|
3683
|
-
const bs58check = await Promise.resolve().then(() => __toESM(require_bs58check()));
|
|
3684
3630
|
const hdNode = ethers.HDNodeWallet.fromPhrase(seed, void 0, DERIVATION_PATHS3.tron);
|
|
3685
3631
|
const ethAddressHex = hdNode.address.slice(2).toLowerCase();
|
|
3686
3632
|
const addressBytes = new Uint8Array(21);
|
|
@@ -3688,7 +3634,8 @@ async function deriveTronAddress(seed) {
|
|
|
3688
3634
|
for (let i = 0; i < 20; i++) {
|
|
3689
3635
|
addressBytes[i + 1] = parseInt(ethAddressHex.slice(i * 2, i * 2 + 2), 16);
|
|
3690
3636
|
}
|
|
3691
|
-
|
|
3637
|
+
const tronBase58check = base.base58check(sha256.sha256);
|
|
3638
|
+
return tronBase58check.encode(addressBytes);
|
|
3692
3639
|
} catch (error) {
|
|
3693
3640
|
console.error("TRON address derivation failed:", error);
|
|
3694
3641
|
throw error;
|
|
@@ -3738,10 +3685,14 @@ async function deriveAllAddresses(seed, network = "testnet") {
|
|
|
3738
3685
|
} catch (e) {
|
|
3739
3686
|
console.error("Spark derivation failed:", e);
|
|
3740
3687
|
}
|
|
3741
|
-
|
|
3688
|
+
try {
|
|
3689
|
+
addresses.tron = deriveTronAddress(seed);
|
|
3690
|
+
} catch (e) {
|
|
3691
|
+
console.error("TRON derivation failed:", e);
|
|
3692
|
+
}
|
|
3693
|
+
const [solResult, tonResult] = await Promise.allSettled([
|
|
3742
3694
|
deriveSolanaAddress(seed),
|
|
3743
|
-
deriveTonAddress(seed)
|
|
3744
|
-
deriveTronAddress(seed)
|
|
3695
|
+
deriveTonAddress(seed)
|
|
3745
3696
|
]);
|
|
3746
3697
|
if (solResult.status === "fulfilled") {
|
|
3747
3698
|
addresses.solana = solResult.value;
|
|
@@ -3753,11 +3704,6 @@ async function deriveAllAddresses(seed, network = "testnet") {
|
|
|
3753
3704
|
} else {
|
|
3754
3705
|
console.error("TON derivation failed:", tonResult.reason);
|
|
3755
3706
|
}
|
|
3756
|
-
if (tronResult.status === "fulfilled") {
|
|
3757
|
-
addresses.tron = tronResult.value;
|
|
3758
|
-
} else {
|
|
3759
|
-
console.error("TRON derivation failed:", tronResult.reason);
|
|
3760
|
-
}
|
|
3761
3707
|
return addresses;
|
|
3762
3708
|
}
|
|
3763
3709
|
|
|
@@ -4269,6 +4215,61 @@ var WalletManager = class _WalletManager {
|
|
|
4269
4215
|
} catch (error) {
|
|
4270
4216
|
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
4271
4217
|
}
|
|
4218
|
+
} else if (chain === "bitcoin") {
|
|
4219
|
+
const baseUrl = this.config.network === "mainnet" ? "https://blockstream.info/api" : "https://blockstream.info/testnet/api";
|
|
4220
|
+
try {
|
|
4221
|
+
const response = await fetch(`${baseUrl}/address/${address}`, {
|
|
4222
|
+
headers: { "Accept": "application/json" }
|
|
4223
|
+
});
|
|
4224
|
+
if (response.ok) {
|
|
4225
|
+
const data = await response.json();
|
|
4226
|
+
const chainFunded = data.chain_stats?.funded_txo_sum || 0;
|
|
4227
|
+
const chainSpent = data.chain_stats?.spent_txo_sum || 0;
|
|
4228
|
+
const mempoolFunded = data.mempool_stats?.funded_txo_sum || 0;
|
|
4229
|
+
const mempoolSpent = data.mempool_stats?.spent_txo_sum || 0;
|
|
4230
|
+
const satoshis = chainFunded - chainSpent + (mempoolFunded - mempoolSpent);
|
|
4231
|
+
balance = (satoshis / 1e8).toFixed(8);
|
|
4232
|
+
}
|
|
4233
|
+
} catch (error) {
|
|
4234
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
4235
|
+
}
|
|
4236
|
+
} else if (chain === "solana") {
|
|
4237
|
+
const rpcUrl = this.config.network === "mainnet" ? "https://api.mainnet-beta.solana.com" : "https://api.devnet.solana.com";
|
|
4238
|
+
try {
|
|
4239
|
+
const response = await fetch(rpcUrl, {
|
|
4240
|
+
method: "POST",
|
|
4241
|
+
headers: { "Content-Type": "application/json" },
|
|
4242
|
+
body: JSON.stringify({
|
|
4243
|
+
jsonrpc: "2.0",
|
|
4244
|
+
id: 1,
|
|
4245
|
+
method: "getBalance",
|
|
4246
|
+
params: [address]
|
|
4247
|
+
})
|
|
4248
|
+
});
|
|
4249
|
+
if (response.ok) {
|
|
4250
|
+
const data = await response.json();
|
|
4251
|
+
if (data.result?.value !== void 0) {
|
|
4252
|
+
balance = (data.result.value / 1e9).toFixed(9);
|
|
4253
|
+
}
|
|
4254
|
+
}
|
|
4255
|
+
} catch (error) {
|
|
4256
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
4257
|
+
}
|
|
4258
|
+
} else if (chain === "tron") {
|
|
4259
|
+
const baseUrl = this.config.network === "mainnet" ? "https://api.trongrid.io" : "https://api.shasta.trongrid.io";
|
|
4260
|
+
try {
|
|
4261
|
+
const response = await fetch(`${baseUrl}/v1/accounts/${address}`, {
|
|
4262
|
+
headers: { "Accept": "application/json" }
|
|
4263
|
+
});
|
|
4264
|
+
if (response.ok) {
|
|
4265
|
+
const data = await response.json();
|
|
4266
|
+
if (data.data?.[0]?.balance !== void 0) {
|
|
4267
|
+
balance = (data.data[0].balance / 1e6).toFixed(6);
|
|
4268
|
+
}
|
|
4269
|
+
}
|
|
4270
|
+
} catch (error) {
|
|
4271
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
4272
|
+
}
|
|
4272
4273
|
}
|
|
4273
4274
|
return {
|
|
4274
4275
|
chain,
|