btc-wallet 0.0.5 → 0.0.7

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 CHANGED
@@ -1853,12 +1853,12 @@ var ConnectProvider = ({
1853
1853
  version: ((_c = options.aaOptions.accountContracts[((_b = Object.keys(options.aaOptions.accountContracts)) == null ? void 0 : _b[0]) || "BTC"]) == null ? void 0 : _c[0].version) || "1.0.0"
1854
1854
  });
1855
1855
  const setAccountContract = (0, import_react10.useCallback)(
1856
- (config) => {
1857
- if (!checkBTCVersion(options.aaOptions.accountContracts, config.name, config.version)) {
1856
+ (config2) => {
1857
+ if (!checkBTCVersion(options.aaOptions.accountContracts, config2.name, config2.version)) {
1858
1858
  throw new Error("Invalid Account Contract");
1859
1859
  }
1860
- localStorage.setItem(SAContractKey, JSON.stringify(config));
1861
- _setAccountContract(config);
1860
+ localStorage.setItem(SAContractKey, JSON.stringify(config2));
1861
+ _setAccountContract(config2);
1862
1862
  },
1863
1863
  [options.aaOptions.accountContracts, _setAccountContract]
1864
1864
  );
@@ -2017,9 +2017,9 @@ var ConnectProvider = ({
2017
2017
  setConnectorId(void 0);
2018
2018
  }, [connector]);
2019
2019
  (0, import_react10.useEffect)(() => {
2020
- const config = JSON.parse(localStorage.getItem(SAContractKey) || "{}");
2021
- if (config.name && config.version && checkBTCVersion(options.aaOptions.accountContracts, config.name, config.version)) {
2022
- _setAccountContract(config);
2020
+ const config2 = JSON.parse(localStorage.getItem(SAContractKey) || "{}");
2021
+ if (config2.name && config2.version && checkBTCVersion(options.aaOptions.accountContracts, config2.name, config2.version)) {
2022
+ _setAccountContract(config2);
2023
2023
  }
2024
2024
  }, [options.aaOptions.accountContracts, _setAccountContract]);
2025
2025
  (0, import_react10.useEffect)(() => {
@@ -2478,10 +2478,19 @@ function removeWalletButton() {
2478
2478
  }
2479
2479
 
2480
2480
  // src/utils/setupBTCWallet.ts
2481
- var { signedDelegate, transfer, functionCall } = import_transactions.actionCreators;
2482
- var base_url = "https://api.dev.satoshibridge.top/v1";
2483
- var token = "nbtc1-nsp.testnet";
2484
- var contractId = "dev1-nsp.testnet";
2481
+ var { transfer, functionCall } = import_transactions.actionCreators;
2482
+ var config = {
2483
+ testnet: {
2484
+ base_url: "https://api.testnet.satoshibridge.top/v1",
2485
+ token: "nbtc2-nsp.testnet",
2486
+ contractId: "dev2-nsp.testnet"
2487
+ },
2488
+ mainnet: {
2489
+ base_url: "https://api.mainnet.satoshibridge.top/v1",
2490
+ token: "",
2491
+ contractId: ""
2492
+ }
2493
+ };
2485
2494
  var state = {
2486
2495
  saveAccount(account) {
2487
2496
  window.localStorage.setItem("btc-wallet-account", account);
@@ -2551,11 +2560,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2551
2560
  const { nearTempAddress, nearTempPublicKey } = yield getNearAccountByBtcPublicKey(btcPublicKey);
2552
2561
  removeWalletButton();
2553
2562
  setTimeout(() => {
2554
- initWalletButton(
2555
- options.network.networkId,
2556
- nearTempAddress,
2557
- wallet
2558
- );
2563
+ initWalletButton(options.network.networkId, nearTempAddress, wallet);
2559
2564
  }, 1e3);
2560
2565
  emitter.emit("accountsChanged", {
2561
2566
  accounts: [
@@ -2578,13 +2583,10 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2578
2583
  }), 500);
2579
2584
  }
2580
2585
  function viewMethod(_02) {
2581
- return __async(this, arguments, function* ({
2582
- method,
2583
- args = {}
2584
- }) {
2586
+ return __async(this, arguments, function* ({ method, args = {} }) {
2585
2587
  const res = yield provider.query({
2586
2588
  request_type: "call_function",
2587
- account_id: contractId,
2589
+ account_id: config[options.network.networkId].contractId,
2588
2590
  method_name: method,
2589
2591
  args_base64: Buffer.from(JSON.stringify(args)).toString("base64"),
2590
2592
  finality: "optimistic"
@@ -2612,7 +2614,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2612
2614
  });
2613
2615
  }
2614
2616
  function signIn(_02) {
2615
- return __async(this, arguments, function* ({ contractId: contractId2, methodNames }) {
2617
+ return __async(this, arguments, function* ({ contractId, methodNames }) {
2616
2618
  const accountId = state.getAccount();
2617
2619
  const publicKey = state.getPublicKey();
2618
2620
  const btcContext = window.btcContext;
@@ -2686,11 +2688,11 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2686
2688
  nonce: BigInt(rawAccessKey.nonce || 0)
2687
2689
  });
2688
2690
  const publicKeyFormat = import_key_pair.PublicKey.from(publicKey);
2689
- const nearNonceApi = yield getNearNonceFromApi(accountId);
2691
+ const nearNonceApi = yield getNearNonceFromApi(options.network.networkId, accountId);
2690
2692
  const newTransactions = params.transactions.map((transaction, index) => {
2691
2693
  let nearNonceNumber = accessKey.nonce + BigInt(1);
2692
2694
  if (nearNonceApi) {
2693
- nearNonceNumber = Number(nearNonceApi.result_data) > nearNonceNumber ? BigInt(Number(nearNonceApi.result_data)) : nearNonceNumber;
2695
+ nearNonceNumber = BigInt(nearNonceApi.result_data) > nearNonceNumber ? BigInt(nearNonceApi.result_data) : nearNonceNumber;
2694
2696
  }
2695
2697
  const newActions = transaction.actions.map((action) => {
2696
2698
  switch (action.type) {
@@ -2714,7 +2716,10 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2714
2716
  (0, import_utils5.baseDecode)(header.hash)
2715
2717
  );
2716
2718
  const txBytes = (0, import_transaction.encodeTransaction)(_transaction);
2717
- const txHex = toHex(txBytes.toString());
2719
+ const txHex = Array.from(
2720
+ txBytes,
2721
+ (byte) => ("0" + (byte & 255).toString(16)).slice(-2)
2722
+ ).join("");
2718
2723
  const hash = import_bs58.default.encode(new Uint8Array(import_js_sha256.sha256.array(txBytes)));
2719
2724
  return { txBytes, txHex, hash };
2720
2725
  });
@@ -2722,29 +2727,26 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2722
2727
  method: "get_account",
2723
2728
  args: { account_id: accountId }
2724
2729
  });
2725
- const nonceApi = yield getNonceFromApi(accountId);
2726
- const nonce = (nonceApi == null ? void 0 : nonceApi.result_data) ? Number(nonceApi == null ? void 0 : nonceApi.result_data) : accountInfo.nonce;
2730
+ const nonceApi = yield getNonceFromApi(options.network.networkId, accountId);
2731
+ const nonce = Number(nonceApi == null ? void 0 : nonceApi.result_data) > Number(accountInfo.nonce) ? String(nonceApi == null ? void 0 : nonceApi.result_data) : String(accountInfo.nonce);
2727
2732
  const intention = {
2728
2733
  chain_id: "397",
2729
2734
  csna: accountId,
2730
- near_transactions: newTransactions.map((t) => Array.from(t.txHex)),
2731
- gas_token: token,
2735
+ near_transactions: newTransactions.map((t) => t.txHex),
2736
+ gas_token: config[options.network.networkId].token,
2732
2737
  gas_limit: "3000",
2733
- nonce: Number(nonce).toString()
2738
+ nonce
2734
2739
  };
2735
2740
  const strIntention = JSON.stringify(intention);
2736
2741
  const signature = yield btcContext.signMessage(strIntention);
2737
- const result = yield uploadBTCTx({
2742
+ const result = yield uploadBTCTx(options.network.networkId, {
2738
2743
  sig: signature,
2739
2744
  btcPubKey: state.getBtcPublicKey(),
2740
2745
  data: toHex(strIntention)
2741
2746
  });
2742
2747
  if (result.result_code === 0) {
2743
2748
  const hash = newTransactions.map((t) => t.hash);
2744
- const result2 = yield pollTransactionStatuses(
2745
- options.network.networkId,
2746
- hash
2747
- );
2749
+ const result2 = yield pollTransactionStatuses(options.network.networkId, hash);
2748
2750
  return result2;
2749
2751
  } else {
2750
2752
  return null;
@@ -2753,24 +2755,24 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2753
2755
  }
2754
2756
  return wallet;
2755
2757
  });
2756
- function getNonceFromApi(accountId) {
2757
- return fetch(`${base_url}/nonce?csna=${accountId}`, {
2758
+ function getNonceFromApi(network, accountId) {
2759
+ return fetch(`${config[network].base_url}/nonce?csna=${accountId}`, {
2758
2760
  method: "GET",
2759
2761
  headers: {
2760
2762
  "Content-Type": "application/json"
2761
2763
  }
2762
2764
  }).then((res) => res.json());
2763
2765
  }
2764
- function getNearNonceFromApi(accountId) {
2765
- return fetch(`${base_url}/nonceNear?csna=${accountId}`, {
2766
+ function getNearNonceFromApi(network, accountId) {
2767
+ return fetch(`${config[network].base_url}/nonceNear?csna=${accountId}`, {
2766
2768
  method: "GET",
2767
2769
  headers: {
2768
2770
  "Content-Type": "application/json"
2769
2771
  }
2770
2772
  }).then((res) => res.json());
2771
2773
  }
2772
- function uploadBTCTx(data) {
2773
- return fetch(`${base_url}/receiveTransaction`, {
2774
+ function uploadBTCTx(network, data) {
2775
+ return fetch(`${config[network].base_url}/receiveTransaction`, {
2774
2776
  method: "POST",
2775
2777
  headers: {
2776
2778
  "Content-Type": "application/json"
@@ -2870,7 +2872,7 @@ function pollTransactionStatuses(network, hashes) {
2870
2872
 
2871
2873
  // src/index.ts
2872
2874
  var getVersion = () => {
2873
- return "0.0.5";
2875
+ return "0.0.7";
2874
2876
  };
2875
2877
  if (typeof window !== "undefined") {
2876
2878
  window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();