btc-wallet 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -2359,7 +2359,6 @@ var import_js_sha256 = require("js-sha256");
2359
2359
  // src/utils/initWalletButton.ts
2360
2360
  function setupWalletButton(network, wallet, originalWallet) {
2361
2361
  if (document.getElementById("satoshi-wallet-button")) {
2362
- sendInitializeData(wallet, originalWallet);
2363
2362
  return;
2364
2363
  }
2365
2364
  const iframe = createIframe({
@@ -2416,6 +2415,9 @@ function createIframe({
2416
2415
  iframe.id = "satoshi-wallet-iframe";
2417
2416
  iframe.allow = "clipboard-read; clipboard-write";
2418
2417
  iframe.src = iframeUrl;
2418
+ iframe.onclick = () => {
2419
+ iframe.focus();
2420
+ };
2419
2421
  Object.assign(iframe.style, __spreadValues({
2420
2422
  position: "fixed",
2421
2423
  bottom: "90px",
@@ -2428,45 +2430,27 @@ function createIframe({
2428
2430
  document.body.appendChild(iframe);
2429
2431
  return iframe;
2430
2432
  }
2431
- function sendInitializeData(wallet, originalWallet) {
2433
+ function setupButtonClickHandler(button, iframe, wallet, originalWallet) {
2432
2434
  return __async(this, null, function* () {
2433
- var _a, _b;
2434
- yield delay(1e3);
2435
+ var _a;
2435
2436
  const accountId = (_a = yield wallet == null ? void 0 : wallet.getAccounts()) == null ? void 0 : _a[0].accountId;
2436
2437
  const originalAccountId = originalWallet.account;
2437
2438
  const originalPublicKey = yield originalWallet.getPublicKey();
2438
- const iframe = document.getElementById("satoshi-wallet-iframe");
2439
- if ((iframe == null ? void 0 : iframe.contentWindow) && ((_b = iframe.contentDocument) == null ? void 0 : _b.readyState) === "complete") {
2440
- iframe.contentWindow.postMessage(
2441
- {
2442
- action: "initializeData",
2443
- success: true,
2444
- data: {
2445
- accountId,
2446
- originalAccountId,
2447
- originalPublicKey
2448
- }
2449
- },
2450
- { targetOrigin: window.location.origin }
2451
- );
2452
- }
2453
- });
2454
- }
2455
- function setupButtonClickHandler(button, iframe, wallet, originalWallet) {
2456
- return __async(this, null, function* () {
2457
- iframe.onload = () => sendInitializeData(wallet, originalWallet);
2458
2439
  const iframeSrc = new URL(iframe.src);
2459
2440
  iframeSrc.searchParams.set("origin", window.location.origin);
2441
+ accountId && iframeSrc.searchParams.set("accountId", accountId);
2442
+ originalAccountId && iframeSrc.searchParams.set("originalAccountId", originalAccountId);
2443
+ originalPublicKey && iframeSrc.searchParams.set("originalPublicKey", originalPublicKey);
2460
2444
  iframe.src = iframeSrc.toString();
2461
2445
  window.addEventListener("message", (event) => __async(this, null, function* () {
2462
- var _a, _b;
2446
+ var _a2, _b;
2463
2447
  if (event.origin !== iframeSrc.origin)
2464
2448
  return;
2465
2449
  const { action, requestId, data } = event.data;
2466
2450
  if (action === "signAndSendTransaction") {
2467
2451
  try {
2468
2452
  const result = yield wallet.signAndSendTransaction(data);
2469
- (_a = event.source) == null ? void 0 : _a.postMessage(
2453
+ (_a2 = event.source) == null ? void 0 : _a2.postMessage(
2470
2454
  {
2471
2455
  requestId,
2472
2456
  data,
@@ -2572,11 +2556,8 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2572
2556
  if (btcContext) {
2573
2557
  clearInterval(inter);
2574
2558
  const context = btcContext.getContext();
2575
- const accountId = state.getAccount();
2576
- initWalletButton(options.network.networkId, accountId, wallet);
2577
2559
  context.on("updatePublicKey", (btcPublicKey) => __async(void 0, null, function* () {
2578
2560
  const { nearTempAddress } = yield getNearAccountByBtcPublicKey(btcPublicKey);
2579
- initWalletButton(options.network.networkId, nearTempAddress, wallet);
2580
2561
  emitter.emit("accountsChanged", {
2581
2562
  accounts: [
2582
2563
  {
@@ -2597,6 +2578,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2597
2578
  }
2598
2579
  }), 500);
2599
2580
  }
2581
+ initWalletButton(options.network.networkId, state.getAccount(), wallet);
2600
2582
  function viewMethod(_02) {
2601
2583
  return __async(this, arguments, function* ({ method, args = {} }) {
2602
2584
  const res = yield provider.query({
@@ -2622,6 +2604,7 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2622
2604
  state.saveAccount(nearTempAddress);
2623
2605
  state.savePublicKey(nearTempPublicKey);
2624
2606
  state.saveBtcPublicKey(btcPublicKey);
2607
+ initWalletButton(options.network.networkId, nearTempAddress, wallet);
2625
2608
  return {
2626
2609
  nearTempAddress,
2627
2610
  nearTempPublicKey
@@ -2644,7 +2627,6 @@ var BTCWallet = (_0) => __async(void 0, [_0], function* ({
2644
2627
  const btcAccount = yield btcContext.login();
2645
2628
  const btcPublicKey = yield btcContext.getPublicKey();
2646
2629
  const { nearTempAddress, nearTempPublicKey } = yield getNearAccountByBtcPublicKey(btcPublicKey);
2647
- initWalletButton(options.network.networkId, accountId, wallet);
2648
2630
  return [
2649
2631
  {
2650
2632
  accountId: nearTempAddress,
@@ -2829,16 +2811,16 @@ function toHex(originalString) {
2829
2811
  }
2830
2812
  function initWalletButton(network, accountId, wallet) {
2831
2813
  return __async(this, null, function* () {
2832
- yield delay(2e3);
2814
+ yield delay(1e3);
2833
2815
  const checkAndSetupWalletButton = () => {
2834
2816
  if (accountId && window.btcContext.account) {
2835
2817
  setupWalletButton(network, wallet, window.btcContext);
2836
2818
  } else {
2837
2819
  removeWalletButton();
2820
+ !window.btcContext.account && setTimeout(() => {
2821
+ checkAndSetupWalletButton();
2822
+ }, 5e3);
2838
2823
  }
2839
- !window.btcContext.account && setTimeout(() => {
2840
- checkAndSetupWalletButton();
2841
- }, 1e4);
2842
2824
  };
2843
2825
  checkAndSetupWalletButton();
2844
2826
  });
@@ -2888,7 +2870,7 @@ function pollTransactionStatuses(network, hashes) {
2888
2870
 
2889
2871
  // src/index.ts
2890
2872
  var getVersion = () => {
2891
- return "0.1.0";
2873
+ return "0.1.2";
2892
2874
  };
2893
2875
  if (typeof window !== "undefined") {
2894
2876
  window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();