@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/react/index.js
CHANGED
|
@@ -2409,59 +2409,6 @@ var require_bs58 = __commonJS({
|
|
|
2409
2409
|
}
|
|
2410
2410
|
});
|
|
2411
2411
|
|
|
2412
|
-
// ../../node_modules/bs58check/base.js
|
|
2413
|
-
var require_base = __commonJS({
|
|
2414
|
-
"../../node_modules/bs58check/base.js"(exports$1, module) {
|
|
2415
|
-
var base58 = require_bs58();
|
|
2416
|
-
module.exports = function(checksumFn) {
|
|
2417
|
-
function encode(payload) {
|
|
2418
|
-
var payloadU8 = Uint8Array.from(payload);
|
|
2419
|
-
var checksum = checksumFn(payloadU8);
|
|
2420
|
-
var length = payloadU8.length + 4;
|
|
2421
|
-
var both = new Uint8Array(length);
|
|
2422
|
-
both.set(payloadU8, 0);
|
|
2423
|
-
both.set(checksum.subarray(0, 4), payloadU8.length);
|
|
2424
|
-
return base58.encode(both, length);
|
|
2425
|
-
}
|
|
2426
|
-
function decodeRaw(buffer) {
|
|
2427
|
-
var payload = buffer.slice(0, -4);
|
|
2428
|
-
var checksum = buffer.slice(-4);
|
|
2429
|
-
var newChecksum = checksumFn(payload);
|
|
2430
|
-
if (checksum[0] ^ newChecksum[0] | checksum[1] ^ newChecksum[1] | checksum[2] ^ newChecksum[2] | checksum[3] ^ newChecksum[3]) return;
|
|
2431
|
-
return payload;
|
|
2432
|
-
}
|
|
2433
|
-
function decodeUnsafe(string) {
|
|
2434
|
-
var buffer = base58.decodeUnsafe(string);
|
|
2435
|
-
if (!buffer) return;
|
|
2436
|
-
return decodeRaw(buffer);
|
|
2437
|
-
}
|
|
2438
|
-
function decode(string) {
|
|
2439
|
-
var buffer = base58.decode(string);
|
|
2440
|
-
var payload = decodeRaw(buffer);
|
|
2441
|
-
if (!payload) throw new Error("Invalid checksum");
|
|
2442
|
-
return payload;
|
|
2443
|
-
}
|
|
2444
|
-
return {
|
|
2445
|
-
encode,
|
|
2446
|
-
decode,
|
|
2447
|
-
decodeUnsafe
|
|
2448
|
-
};
|
|
2449
|
-
};
|
|
2450
|
-
}
|
|
2451
|
-
});
|
|
2452
|
-
|
|
2453
|
-
// ../../node_modules/bs58check/index.js
|
|
2454
|
-
var require_bs58check = __commonJS({
|
|
2455
|
-
"../../node_modules/bs58check/index.js"(exports$1, module) {
|
|
2456
|
-
var { sha256: sha2562 } = __require("@noble/hashes/sha256");
|
|
2457
|
-
var bs58checkBase = require_base();
|
|
2458
|
-
function sha256x2(buffer) {
|
|
2459
|
-
return sha2562(sha2562(buffer));
|
|
2460
|
-
}
|
|
2461
|
-
module.exports = bs58checkBase(sha256x2);
|
|
2462
|
-
}
|
|
2463
|
-
});
|
|
2464
|
-
|
|
2465
2412
|
// src/config/networks.ts
|
|
2466
2413
|
var NETWORKS = {
|
|
2467
2414
|
bitcoin: {
|
|
@@ -3378,9 +3325,8 @@ function crc16(data) {
|
|
|
3378
3325
|
}
|
|
3379
3326
|
return crc;
|
|
3380
3327
|
}
|
|
3381
|
-
|
|
3328
|
+
function deriveTronAddress(seed) {
|
|
3382
3329
|
try {
|
|
3383
|
-
const bs58check = await Promise.resolve().then(() => __toESM(require_bs58check()));
|
|
3384
3330
|
const hdNode = ethers.HDNodeWallet.fromPhrase(seed, void 0, DERIVATION_PATHS3.tron);
|
|
3385
3331
|
const ethAddressHex = hdNode.address.slice(2).toLowerCase();
|
|
3386
3332
|
const addressBytes = new Uint8Array(21);
|
|
@@ -3388,7 +3334,8 @@ async function deriveTronAddress(seed) {
|
|
|
3388
3334
|
for (let i = 0; i < 20; i++) {
|
|
3389
3335
|
addressBytes[i + 1] = parseInt(ethAddressHex.slice(i * 2, i * 2 + 2), 16);
|
|
3390
3336
|
}
|
|
3391
|
-
|
|
3337
|
+
const tronBase58check = base.base58check(sha256.sha256);
|
|
3338
|
+
return tronBase58check.encode(addressBytes);
|
|
3392
3339
|
} catch (error) {
|
|
3393
3340
|
console.error("TRON address derivation failed:", error);
|
|
3394
3341
|
throw error;
|
|
@@ -3438,10 +3385,14 @@ async function deriveAllAddresses(seed, network = "testnet") {
|
|
|
3438
3385
|
} catch (e) {
|
|
3439
3386
|
console.error("Spark derivation failed:", e);
|
|
3440
3387
|
}
|
|
3441
|
-
|
|
3388
|
+
try {
|
|
3389
|
+
addresses.tron = deriveTronAddress(seed);
|
|
3390
|
+
} catch (e) {
|
|
3391
|
+
console.error("TRON derivation failed:", e);
|
|
3392
|
+
}
|
|
3393
|
+
const [solResult, tonResult] = await Promise.allSettled([
|
|
3442
3394
|
deriveSolanaAddress(seed),
|
|
3443
|
-
deriveTonAddress(seed)
|
|
3444
|
-
deriveTronAddress(seed)
|
|
3395
|
+
deriveTonAddress(seed)
|
|
3445
3396
|
]);
|
|
3446
3397
|
if (solResult.status === "fulfilled") {
|
|
3447
3398
|
addresses.solana = solResult.value;
|
|
@@ -3453,11 +3404,6 @@ async function deriveAllAddresses(seed, network = "testnet") {
|
|
|
3453
3404
|
} else {
|
|
3454
3405
|
console.error("TON derivation failed:", tonResult.reason);
|
|
3455
3406
|
}
|
|
3456
|
-
if (tronResult.status === "fulfilled") {
|
|
3457
|
-
addresses.tron = tronResult.value;
|
|
3458
|
-
} else {
|
|
3459
|
-
console.error("TRON derivation failed:", tronResult.reason);
|
|
3460
|
-
}
|
|
3461
3407
|
return addresses;
|
|
3462
3408
|
}
|
|
3463
3409
|
|
|
@@ -3969,6 +3915,61 @@ var WalletManager = class _WalletManager {
|
|
|
3969
3915
|
} catch (error) {
|
|
3970
3916
|
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
3971
3917
|
}
|
|
3918
|
+
} else if (chain === "bitcoin") {
|
|
3919
|
+
const baseUrl = this.config.network === "mainnet" ? "https://blockstream.info/api" : "https://blockstream.info/testnet/api";
|
|
3920
|
+
try {
|
|
3921
|
+
const response = await fetch(`${baseUrl}/address/${address}`, {
|
|
3922
|
+
headers: { "Accept": "application/json" }
|
|
3923
|
+
});
|
|
3924
|
+
if (response.ok) {
|
|
3925
|
+
const data = await response.json();
|
|
3926
|
+
const chainFunded = data.chain_stats?.funded_txo_sum || 0;
|
|
3927
|
+
const chainSpent = data.chain_stats?.spent_txo_sum || 0;
|
|
3928
|
+
const mempoolFunded = data.mempool_stats?.funded_txo_sum || 0;
|
|
3929
|
+
const mempoolSpent = data.mempool_stats?.spent_txo_sum || 0;
|
|
3930
|
+
const satoshis = chainFunded - chainSpent + (mempoolFunded - mempoolSpent);
|
|
3931
|
+
balance = (satoshis / 1e8).toFixed(8);
|
|
3932
|
+
}
|
|
3933
|
+
} catch (error) {
|
|
3934
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
3935
|
+
}
|
|
3936
|
+
} else if (chain === "solana") {
|
|
3937
|
+
const rpcUrl = this.config.network === "mainnet" ? "https://api.mainnet-beta.solana.com" : "https://api.devnet.solana.com";
|
|
3938
|
+
try {
|
|
3939
|
+
const response = await fetch(rpcUrl, {
|
|
3940
|
+
method: "POST",
|
|
3941
|
+
headers: { "Content-Type": "application/json" },
|
|
3942
|
+
body: JSON.stringify({
|
|
3943
|
+
jsonrpc: "2.0",
|
|
3944
|
+
id: 1,
|
|
3945
|
+
method: "getBalance",
|
|
3946
|
+
params: [address]
|
|
3947
|
+
})
|
|
3948
|
+
});
|
|
3949
|
+
if (response.ok) {
|
|
3950
|
+
const data = await response.json();
|
|
3951
|
+
if (data.result?.value !== void 0) {
|
|
3952
|
+
balance = (data.result.value / 1e9).toFixed(9);
|
|
3953
|
+
}
|
|
3954
|
+
}
|
|
3955
|
+
} catch (error) {
|
|
3956
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
3957
|
+
}
|
|
3958
|
+
} else if (chain === "tron") {
|
|
3959
|
+
const baseUrl = this.config.network === "mainnet" ? "https://api.trongrid.io" : "https://api.shasta.trongrid.io";
|
|
3960
|
+
try {
|
|
3961
|
+
const response = await fetch(`${baseUrl}/v1/accounts/${address}`, {
|
|
3962
|
+
headers: { "Accept": "application/json" }
|
|
3963
|
+
});
|
|
3964
|
+
if (response.ok) {
|
|
3965
|
+
const data = await response.json();
|
|
3966
|
+
if (data.data?.[0]?.balance !== void 0) {
|
|
3967
|
+
balance = (data.data[0].balance / 1e6).toFixed(6);
|
|
3968
|
+
}
|
|
3969
|
+
}
|
|
3970
|
+
} catch (error) {
|
|
3971
|
+
console.warn(`Failed to fetch ${chain} balance:`, error);
|
|
3972
|
+
}
|
|
3972
3973
|
}
|
|
3973
3974
|
return {
|
|
3974
3975
|
chain,
|