@zubari/sdk 0.1.11 → 0.1.13

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.
@@ -290,11 +290,17 @@ declare class ZubariWdkService {
290
290
  */
291
291
  validateSeed(seed: string): Promise<boolean>;
292
292
  /**
293
- * Derive address for a specific chain
293
+ * Derive address for a specific chain using WDK API
294
+ *
295
+ * For Ethereum, falls back to local derivation if API fails.
296
+ * For other chains, WDK API is required - no placeholder fallback.
294
297
  */
295
298
  deriveAddress(seed: string, chain: SupportedChain): Promise<ChainAddress>;
296
299
  /**
297
- * Derive addresses for all supported chains
300
+ * Derive addresses for all supported chains using WDK API
301
+ *
302
+ * Uses the backend WDK API for real cryptographically valid addresses.
303
+ * No placeholder fallback - WDK API is required for multi-chain addresses.
298
304
  */
299
305
  deriveAllAddresses(seed: string): Promise<MultiChainAddresses>;
300
306
  /**
@@ -290,11 +290,17 @@ declare class ZubariWdkService {
290
290
  */
291
291
  validateSeed(seed: string): Promise<boolean>;
292
292
  /**
293
- * Derive address for a specific chain
293
+ * Derive address for a specific chain using WDK API
294
+ *
295
+ * For Ethereum, falls back to local derivation if API fails.
296
+ * For other chains, WDK API is required - no placeholder fallback.
294
297
  */
295
298
  deriveAddress(seed: string, chain: SupportedChain): Promise<ChainAddress>;
296
299
  /**
297
- * Derive addresses for all supported chains
300
+ * Derive addresses for all supported chains using WDK API
301
+ *
302
+ * Uses the backend WDK API for real cryptographically valid addresses.
303
+ * No placeholder fallback - WDK API is required for multi-chain addresses.
298
304
  */
299
305
  deriveAllAddresses(seed: string): Promise<MultiChainAddresses>;
300
306
  /**
@@ -2,11 +2,11 @@
2
2
 
3
3
  var ethers = require('ethers');
4
4
  var bip39 = require('@scure/bip39');
5
- var english = require('@scure/bip39/wordlists/english');
5
+ var english_js = require('@scure/bip39/wordlists/english.js');
6
6
  var bip32 = require('@scure/bip32');
7
7
  var base = require('@scure/base');
8
- var sha256 = require('@noble/hashes/sha256');
9
- var ripemd160 = require('@noble/hashes/ripemd160');
8
+ var sha256_js = require('@noble/hashes/sha256.js');
9
+ var ripemd160_js = require('@noble/hashes/ripemd160.js');
10
10
 
11
11
  var __defProp = Object.defineProperty;
12
12
  var __export = (target, all) => {
@@ -269,7 +269,7 @@ function deriveBitcoinAddress(seed, network = "testnet") {
269
269
  if (!child.publicKey) {
270
270
  throw new Error("Failed to derive public key");
271
271
  }
272
- const pubKeyHash = ripemd160.ripemd160(sha256.sha256(child.publicKey));
272
+ const pubKeyHash = ripemd160_js.ripemd160(sha256_js.sha256(child.publicKey));
273
273
  const witnessVersion = 0;
274
274
  const words = base.bech32.toWords(pubKeyHash);
275
275
  words.unshift(witnessVersion);
@@ -310,7 +310,7 @@ async function deriveTonAddress(seed) {
310
310
  const publicKey = keypair.publicKey;
311
311
  const workchain = 0;
312
312
  const flags = 17;
313
- const hash = sha256.sha256(publicKey);
313
+ const hash = sha256_js.sha256(publicKey);
314
314
  const addressData = new Uint8Array(34);
315
315
  addressData[0] = flags;
316
316
  addressData[1] = workchain;
@@ -347,7 +347,7 @@ function deriveTronAddress(seed) {
347
347
  for (let i = 0; i < 20; i++) {
348
348
  addressBytes[i + 1] = parseInt(ethAddressHex.slice(i * 2, i * 2 + 2), 16);
349
349
  }
350
- const tronBase58check = base.base58check(sha256.sha256);
350
+ const tronBase58check = base.base58check(sha256_js.sha256);
351
351
  return tronBase58check.encode(addressBytes);
352
352
  } catch (error) {
353
353
  console.error("TRON address derivation failed:", error);
@@ -362,7 +362,7 @@ function deriveSparkAddress(seed, network = "testnet") {
362
362
  if (!child.publicKey) {
363
363
  throw new Error("Failed to derive public key");
364
364
  }
365
- const pubKeyHash = ripemd160.ripemd160(sha256.sha256(child.publicKey));
365
+ const pubKeyHash = ripemd160_js.ripemd160(sha256_js.sha256(child.publicKey));
366
366
  const witnessVersion = 0;
367
367
  const words = base.bech32.toWords(pubKeyHash);
368
368
  words.unshift(witnessVersion);
@@ -420,10 +420,10 @@ async function deriveAllAddresses(seed, network = "testnet") {
420
420
  return addresses;
421
421
  }
422
422
  function isValidSeed(seed) {
423
- return bip39.validateMnemonic(seed, english.wordlist);
423
+ return bip39.validateMnemonic(seed, english_js.wordlist);
424
424
  }
425
425
  function generateSeedPhrase() {
426
- return bip39.generateMnemonic(english.wordlist);
426
+ return bip39.generateMnemonic(english_js.wordlist);
427
427
  }
428
428
 
429
429
  // src/services/ZubariWdkService.ts
@@ -544,7 +544,10 @@ var ZubariWdkService = class {
544
544
  return isValidSeed(seed);
545
545
  }
546
546
  /**
547
- * Derive address for a specific chain
547
+ * Derive address for a specific chain using WDK API
548
+ *
549
+ * For Ethereum, falls back to local derivation if API fails.
550
+ * For other chains, WDK API is required - no placeholder fallback.
548
551
  */
549
552
  async deriveAddress(seed, chain) {
550
553
  await this.initialize();
@@ -560,6 +563,9 @@ var ZubariWdkService = class {
560
563
  }
561
564
  } catch (error) {
562
565
  console.warn(`API address derivation failed for ${chain}:`, error);
566
+ if (chain === "ethereum") {
567
+ return this.deriveBrowserAddress(seed, chain);
568
+ }
563
569
  }
564
570
  if (this.useNativeWdk && this.nativeWdkService) {
565
571
  try {
@@ -570,10 +576,18 @@ var ZubariWdkService = class {
570
576
  console.warn(`Native WDK address derivation failed for ${chain}:`, error);
571
577
  }
572
578
  }
573
- return this.deriveBrowserAddress(seed, chain);
579
+ if (chain === "ethereum") {
580
+ return this.deriveBrowserAddress(seed, chain);
581
+ }
582
+ throw new Error(
583
+ `WDK API required for ${chain} address derivation. Ensure the backend is running.`
584
+ );
574
585
  }
575
586
  /**
576
- * Derive addresses for all supported chains
587
+ * Derive addresses for all supported chains using WDK API
588
+ *
589
+ * Uses the backend WDK API for real cryptographically valid addresses.
590
+ * No placeholder fallback - WDK API is required for multi-chain addresses.
577
591
  */
578
592
  async deriveAllAddresses(seed) {
579
593
  await this.initialize();
@@ -601,7 +615,9 @@ var ZubariWdkService = class {
601
615
  console.warn("Native WDK multi-chain derivation failed:", error);
602
616
  }
603
617
  }
604
- return this.deriveAllBrowserAddresses(seed);
618
+ throw new Error(
619
+ "WDK API required for multi-chain address derivation. Ensure the backend is running."
620
+ );
605
621
  }
606
622
  /**
607
623
  * Get balances for all chains