@weblock-wallet/sdk 0.1.55 → 0.1.57

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.cjs CHANGED
@@ -104664,6 +104664,18 @@ var WalletService = class {
104664
104664
  if (!from) {
104665
104665
  throw new SDKError("Wallet not found", "WALLET_NOT_FOUND" /* WALLET_NOT_FOUND */);
104666
104666
  }
104667
+ const toHexQuantity = (v5) => {
104668
+ if (v5 === void 0 || v5 === null) return "0x0";
104669
+ const s5 = String(v5).trim();
104670
+ if (!s5) return "0x0";
104671
+ if (s5.startsWith("0x") || s5.startsWith("0X")) return s5;
104672
+ try {
104673
+ const bi = BigInt(s5);
104674
+ return "0x" + bi.toString(16);
104675
+ } catch {
104676
+ return s5;
104677
+ }
104678
+ };
104667
104679
  const [share1, share2] = await Promise.all([
104668
104680
  this.walletClient.getWallet().then((wallet2) => wallet2.share1),
104669
104681
  LocalForage.get(STORAGE_KEYS.share2(this.orgHost))
@@ -104678,6 +104690,20 @@ var WalletService = class {
104678
104690
  const wallet = new import_ethers2.Wallet(privateKey);
104679
104691
  const nonce = params.nonce ?? await this.getTransactionCount(from, params.chainId);
104680
104692
  const gasPrice = params.gasPrice ?? await this.getGasPrice(params.chainId);
104693
+ let gasLimit = params.gasLimit;
104694
+ if (!gasLimit) {
104695
+ const est = await this.estimateGas(
104696
+ {
104697
+ from,
104698
+ to: params.to,
104699
+ value: toHexQuantity(params.value),
104700
+ data: params.data || "0x"
104701
+ },
104702
+ params.chainId
104703
+ );
104704
+ const buffered = Math.max(21e3, Math.ceil(est * 1.2));
104705
+ gasLimit = "0x" + buffered.toString(16);
104706
+ }
104681
104707
  const signedTx = await wallet.signTransaction({
104682
104708
  to: params.to,
104683
104709
  value: params.value,
@@ -104685,7 +104711,7 @@ var WalletService = class {
104685
104711
  chainId: params.chainId,
104686
104712
  nonce,
104687
104713
  gasPrice,
104688
- gasLimit: params.gasLimit
104714
+ gasLimit
104689
104715
  });
104690
104716
  return this.sendRawTransaction(signedTx, params.chainId);
104691
104717
  } catch (error) {
@@ -104744,11 +104770,34 @@ var NetworkService = class {
104744
104770
  async switchNetwork(networkId) {
104745
104771
  try {
104746
104772
  const networks = await this.getRegisteredNetworks();
104747
- const network = networks.find((n5) => n5.id === networkId);
104773
+ const key = String(networkId || "").trim();
104774
+ let network = networks.find((n5) => n5.id === key);
104775
+ if (!network) {
104776
+ const lower = key.toLowerCase();
104777
+ network = networks.find((n5) => (n5.name || "").toLowerCase() === lower);
104778
+ }
104779
+ if (!network && /^\d+$/.test(key)) {
104780
+ const chainId = Number(key);
104781
+ network = networks.find((n5) => n5.chainId === chainId);
104782
+ }
104783
+ if (!network) {
104784
+ const alias = key.toLowerCase();
104785
+ const aliasChainId = {
104786
+ fuji: 43113,
104787
+ avalanchefuji: 43113,
104788
+ "avalanche-fuji": 43113,
104789
+ avaxfuji: 43113,
104790
+ "avax-fuji": 43113
104791
+ };
104792
+ const chainId = aliasChainId[alias];
104793
+ if (chainId) {
104794
+ network = networks.find((n5) => n5.chainId === chainId);
104795
+ }
104796
+ }
104748
104797
  if (!network) {
104749
104798
  throw new SDKError("Network not found", "INVALID_NETWORK" /* INVALID_NETWORK */);
104750
104799
  }
104751
- await LocalForage.save(`${this.orgHost}:currentNetwork`, networkId);
104800
+ await LocalForage.save(`${this.orgHost}:currentNetwork`, network.id);
104752
104801
  } catch (error) {
104753
104802
  if (error instanceof SDKError) throw error;
104754
104803
  throw new SDKError("Failed to switch network", "NETWORK_ERROR" /* NETWORK_ERROR */);
@@ -106841,6 +106890,22 @@ var KNOWN_NETWORKS = {
106841
106890
  currencyDecimals: 18,
106842
106891
  explorerUrl: "https://polygonscan.com",
106843
106892
  isTestnet: false
106893
+ },
106894
+ 43114: {
106895
+ chainId: 43114,
106896
+ currencySymbol: "AVAX",
106897
+ currencyName: "Avalanche",
106898
+ currencyDecimals: 18,
106899
+ explorerUrl: "https://snowtrace.io",
106900
+ isTestnet: false
106901
+ },
106902
+ 43113: {
106903
+ chainId: 43113,
106904
+ currencySymbol: "AVAX",
106905
+ currencyName: "Avalanche Fuji",
106906
+ currencyDecimals: 18,
106907
+ explorerUrl: "https://testnet.snowtrace.io",
106908
+ isTestnet: true
106844
106909
  }
106845
106910
  };
106846
106911
  var DEFAULT_NETWORK_PARAMS = {