btc-wallet 0.3.1 → 0.3.2
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/connector/magicEden.d.ts +21 -4
- package/dist/index.js +198 -10
- package/dist/index.js.map +3 -3
- package/esm/index.js +198 -10
- package/esm/index.js.map +3 -3
- package/package.json +1 -1
    
        package/esm/index.js
    CHANGED
    
    | @@ -459,21 +459,209 @@ var XverseConnector = class extends BaseConnector { | |
| 459 459 | 
             
            _network = new WeakMap();
         | 
| 460 460 | 
             
            _event = new WeakMap();
         | 
| 461 461 |  | 
| 462 | 
            +
            // src/connector/magicEden.ts
         | 
| 463 | 
            +
            import EventEmitter2 from "events";
         | 
| 464 | 
            +
             | 
| 462 465 | 
             
            // src/icons/magicEden.png
         | 
| 463 466 | 
             
            var magicEden_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAgCAYAAABZyotbAAADGklEQVR42sVYTW7aQBT+ZsZk0yy8jWoqIxWK1E16A3KDcoLACRqkGKFugE0VAVLgBElOQHqC0BPUm0q0EMVVoWxZNCsYv25MlR/AY2O73xKZefO9ed+b7w0DgFm+ZrquPCdCAYAOwAbQM0btS0SIaa5aJ6AEIhPR49Ge2SxfM6Urb0B4Fowx1nj5o9WMhpTVJ8J7xA3OKsb3VpdNs9YFAaVN30VBbpqr1omogWQwXyxeZDhhexaJqDHNVetho8zyNTNBUgCga9qfQ+5pCnGQuzMbunTlDf4DuOqHYcjtpe7P12k3XjAnPe4MeJC/BCH3+431YZt249KXEPwIANgka1HgnPg0lFm+Zkopv6qU+aasAzQImPSfy+V+N+M05gCghQnrnRw2kfN0pYdPPOlCiObB8MyJXWOqZTnNVesR6EqXUt7cmQ09cWLryE2yVsm/tTOHXLensLyZSt33Q7eQMBpbpznO+dUmB/ME74xR255kTy8BdqywetcYtSqJntjDk5NS3vmRIqKmMWrbALBYLE88f+e3+kmYO1SF2ADRYJAed/6VacbpzoUQRTDmqCTu1+vTQqTEiKhJRDsaYeYIIcpPfz0YnjmC8yMAc4Vyr0deiulxp7ELOSK3vKl1HwzPHCIqKixTCNIllTUWlhwRNdPjztZy1jTNQcQI1DxCkHukq40uRckoM2flKmLpit5Gy2F19RSulEoXuuuiEtuJreCN3+Wwunr2VKBQzq9uW9eJ3GPbyKnoSnUAJRc9v3KO/II2Ru1LIUQGoCsANmO4BlD220iAAdRO37ZPwuxN27X7eOUWaO7aS92fk6+umCMEL4bdVySWKgjUBlDmCMGPdhlbtCRJeQOogl5Il1LWJ1kryPJfhBCDVTISJSal7CsOoDqCPyuUpJTOJGsVjVHbTqwUJ1mrBOAw5jAmgH7SGjtOKI45efvx0JfYcrlvRxKOJfsMx33mrUEQf7bdPeBzMpSYY3z7ZHMAlfXzkJrXU26/QnRVhspdsfKU7EEbvgBQ8Ehe7/r8taXdFzy96WBMj+ycQLbrUm9l5f4C3RupufZdcK8AAAAASUVORK5CYII=";
         | 
| 464 467 |  | 
| 465 468 | 
             
            // src/connector/magicEden.ts
         | 
| 466 | 
            -
            var  | 
| 469 | 
            +
            var _network2, _event2;
         | 
| 470 | 
            +
            var MagicEdenConnector = class extends BaseConnector {
         | 
| 467 471 | 
             
              constructor() {
         | 
| 468 | 
            -
                super( | 
| 472 | 
            +
                super();
         | 
| 473 | 
            +
                __privateAdd(this, _network2, "Mainnet");
         | 
| 474 | 
            +
                __privateAdd(this, _event2, new EventEmitter2());
         | 
| 469 475 | 
             
                this.metadata = {
         | 
| 470 | 
            -
                  id: " | 
| 471 | 
            -
                  name: " | 
| 476 | 
            +
                  id: "magicEden",
         | 
| 477 | 
            +
                  name: "Magic Eden Wallet",
         | 
| 472 478 | 
             
                  icon: magicEden_default,
         | 
| 473 | 
            -
                  downloadUrl: "https:// | 
| 479 | 
            +
                  downloadUrl: "https://www.magiceden.io"
         | 
| 474 480 | 
             
                };
         | 
| 481 | 
            +
                this.loadAccounts = (network) => __async(this, null, function* () {
         | 
| 482 | 
            +
                  const { getAddress, AddressPurpose } = yield import("sats-connect");
         | 
| 483 | 
            +
                  const addresses = yield new Promise((resolve, reject) => {
         | 
| 484 | 
            +
                    const getAddressOptions = {
         | 
| 485 | 
            +
                      payload: {
         | 
| 486 | 
            +
                        purposes: [AddressPurpose.Payment, AddressPurpose.Ordinals],
         | 
| 487 | 
            +
                        message: "Address for receiving Ordinals and payments",
         | 
| 488 | 
            +
                        network: {
         | 
| 489 | 
            +
                          type: network
         | 
| 490 | 
            +
                        }
         | 
| 491 | 
            +
                      },
         | 
| 492 | 
            +
                      onFinish: (response) => {
         | 
| 493 | 
            +
                        resolve(response.addresses);
         | 
| 494 | 
            +
                      },
         | 
| 495 | 
            +
                      onCancel: () => reject({
         | 
| 496 | 
            +
                        code: 4001,
         | 
| 497 | 
            +
                        message: "User rejected the request."
         | 
| 498 | 
            +
                      })
         | 
| 499 | 
            +
                    };
         | 
| 500 | 
            +
                    getAddress(getAddressOptions).catch((error) => reject(error));
         | 
| 501 | 
            +
                  });
         | 
| 502 | 
            +
                  localStorage.setItem("btc-connect-magicEden-addresses-" + network, JSON.stringify(addresses));
         | 
| 503 | 
            +
                  return addresses;
         | 
| 504 | 
            +
                });
         | 
| 505 | 
            +
                __privateGet(this, _event2).setMaxListeners(100);
         | 
| 506 | 
            +
              }
         | 
| 507 | 
            +
              isReady() {
         | 
| 508 | 
            +
                return typeof window !== "undefined" && "magicEden" in window && !!window.magicEden;
         | 
| 509 | 
            +
              }
         | 
| 510 | 
            +
              sendInscription() {
         | 
| 511 | 
            +
                return __async(this, null, function* () {
         | 
| 512 | 
            +
                  throw new Error("Unsupported");
         | 
| 513 | 
            +
                });
         | 
| 514 | 
            +
              }
         | 
| 515 | 
            +
              requestAccounts() {
         | 
| 516 | 
            +
                return __async(this, null, function* () {
         | 
| 517 | 
            +
                  if (!this.isReady()) {
         | 
| 518 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 519 | 
            +
                  }
         | 
| 520 | 
            +
                  const addresses = yield this.loadAccounts(__privateGet(this, _network2));
         | 
| 521 | 
            +
                  return addresses.map((item) => item.address);
         | 
| 522 | 
            +
                });
         | 
| 523 | 
            +
              }
         | 
| 524 | 
            +
              getAccounts() {
         | 
| 525 | 
            +
                return __async(this, null, function* () {
         | 
| 526 | 
            +
                  if (!this.isReady()) {
         | 
| 527 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 528 | 
            +
                  }
         | 
| 529 | 
            +
                  const data = localStorage.getItem("btc-connect-magicEden-addresses-" + __privateGet(this, _network2));
         | 
| 530 | 
            +
                  if (data) {
         | 
| 531 | 
            +
                    const addresses = JSON.parse(data);
         | 
| 532 | 
            +
                    return addresses.map((item) => item.address);
         | 
| 533 | 
            +
                  } else {
         | 
| 534 | 
            +
                    return [];
         | 
| 535 | 
            +
                  }
         | 
| 536 | 
            +
                });
         | 
| 537 | 
            +
              }
         | 
| 538 | 
            +
              getPublicKey() {
         | 
| 539 | 
            +
                return __async(this, null, function* () {
         | 
| 540 | 
            +
                  if (!this.isReady()) {
         | 
| 541 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 542 | 
            +
                  }
         | 
| 543 | 
            +
                  const data = localStorage.getItem("btc-connect-magicEden-addresses-" + __privateGet(this, _network2));
         | 
| 544 | 
            +
                  if (data) {
         | 
| 545 | 
            +
                    const addresses = JSON.parse(data);
         | 
| 546 | 
            +
                    return addresses[0].publicKey;
         | 
| 547 | 
            +
                  } else {
         | 
| 548 | 
            +
                    return "";
         | 
| 549 | 
            +
                  }
         | 
| 550 | 
            +
                });
         | 
| 551 | 
            +
              }
         | 
| 552 | 
            +
              signMessage(signStr) {
         | 
| 553 | 
            +
                return __async(this, null, function* () {
         | 
| 554 | 
            +
                  if (!this.isReady()) {
         | 
| 555 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 556 | 
            +
                  }
         | 
| 557 | 
            +
                  const addresses = yield this.getAccounts();
         | 
| 558 | 
            +
                  if (addresses.length === 0) {
         | 
| 559 | 
            +
                    throw new Error(`${this.metadata.name} not connected!`);
         | 
| 560 | 
            +
                  }
         | 
| 561 | 
            +
                  const { signMessage } = yield import("sats-connect");
         | 
| 562 | 
            +
                  const sig = yield new Promise((resolve, reject) => {
         | 
| 563 | 
            +
                    const signMessageOptions = {
         | 
| 564 | 
            +
                      payload: {
         | 
| 565 | 
            +
                        network: {
         | 
| 566 | 
            +
                          type: __privateGet(this, _network2)
         | 
| 567 | 
            +
                        },
         | 
| 568 | 
            +
                        address: addresses[0],
         | 
| 569 | 
            +
                        message: signStr
         | 
| 570 | 
            +
                      },
         | 
| 571 | 
            +
                      onFinish: (response) => {
         | 
| 572 | 
            +
                        resolve(response);
         | 
| 573 | 
            +
                      },
         | 
| 574 | 
            +
                      onCancel: () => {
         | 
| 575 | 
            +
                        reject({
         | 
| 576 | 
            +
                          code: 4001,
         | 
| 577 | 
            +
                          message: "User rejected the request."
         | 
| 578 | 
            +
                        });
         | 
| 579 | 
            +
                      }
         | 
| 580 | 
            +
                    };
         | 
| 581 | 
            +
                    signMessage(signMessageOptions).catch((e) => {
         | 
| 582 | 
            +
                      reject(e);
         | 
| 583 | 
            +
                    });
         | 
| 584 | 
            +
                  });
         | 
| 585 | 
            +
                  const modifiedSig = Buffer.from(sig, "base64");
         | 
| 586 | 
            +
                  modifiedSig[0] = 31 + (modifiedSig[0] - 31) % 4;
         | 
| 587 | 
            +
                  return modifiedSig.toString("base64");
         | 
| 588 | 
            +
                });
         | 
| 589 | 
            +
              }
         | 
| 590 | 
            +
              on(event, handler) {
         | 
| 591 | 
            +
                return __privateGet(this, _event2).on(event, handler);
         | 
| 592 | 
            +
              }
         | 
| 593 | 
            +
              removeListener(event, handler) {
         | 
| 594 | 
            +
                return __privateGet(this, _event2).removeListener(event, handler);
         | 
| 595 | 
            +
              }
         | 
| 596 | 
            +
              getProvider() {
         | 
| 597 | 
            +
                if (this.isReady()) {
         | 
| 598 | 
            +
                  if ("magicEden" in window) {
         | 
| 599 | 
            +
                    const anyWindow = window;
         | 
| 600 | 
            +
                    if (anyWindow.magicEden.bitcoin && anyWindow.magicEden.bitcoin.isMagicEden)
         | 
| 601 | 
            +
                      return anyWindow.magicEden.bitcoin;
         | 
| 602 | 
            +
                  }
         | 
| 603 | 
            +
                }
         | 
| 604 | 
            +
              }
         | 
| 605 | 
            +
              getNetwork() {
         | 
| 606 | 
            +
                return __async(this, null, function* () {
         | 
| 607 | 
            +
                  if (!this.isReady()) {
         | 
| 608 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 609 | 
            +
                  }
         | 
| 610 | 
            +
                  return __privateGet(this, _network2) === "Mainnet" ? "livenet" : "testnet";
         | 
| 611 | 
            +
                });
         | 
| 612 | 
            +
              }
         | 
| 613 | 
            +
              switchNetwork() {
         | 
| 614 | 
            +
                return __async(this, null, function* () {
         | 
| 615 | 
            +
                  throw new Error("Unsupported");
         | 
| 616 | 
            +
                });
         | 
| 617 | 
            +
              }
         | 
| 618 | 
            +
              sendBitcoin(toAddress, satoshis) {
         | 
| 619 | 
            +
                return __async(this, null, function* () {
         | 
| 620 | 
            +
                  const provider = this.getProvider();
         | 
| 621 | 
            +
                  if (!provider) {
         | 
| 622 | 
            +
                    throw new Error(`${this.metadata.name} is not install!`);
         | 
| 623 | 
            +
                  }
         | 
| 624 | 
            +
                  const { sendBtcTransaction } = yield import("sats-connect");
         | 
| 625 | 
            +
                  const addresses = yield this.getAccounts();
         | 
| 626 | 
            +
                  if (addresses.length === 0) {
         | 
| 627 | 
            +
                    throw new Error(`${this.metadata.name} not connected!`);
         | 
| 628 | 
            +
                  }
         | 
| 629 | 
            +
                  const result = yield new Promise((resolve, reject) => {
         | 
| 630 | 
            +
                    const sendBtcOptions = {
         | 
| 631 | 
            +
                      payload: {
         | 
| 632 | 
            +
                        network: {
         | 
| 633 | 
            +
                          type: __privateGet(this, _network2)
         | 
| 634 | 
            +
                        },
         | 
| 635 | 
            +
                        recipients: [
         | 
| 636 | 
            +
                          {
         | 
| 637 | 
            +
                            address: toAddress,
         | 
| 638 | 
            +
                            amountSats: BigInt(satoshis)
         | 
| 639 | 
            +
                          }
         | 
| 640 | 
            +
                        ],
         | 
| 641 | 
            +
                        senderAddress: addresses[0]
         | 
| 642 | 
            +
                      },
         | 
| 643 | 
            +
                      onFinish: (response) => {
         | 
| 644 | 
            +
                        resolve(response);
         | 
| 645 | 
            +
                      },
         | 
| 646 | 
            +
                      onCancel: () => {
         | 
| 647 | 
            +
                        reject({
         | 
| 648 | 
            +
                          code: 4001,
         | 
| 649 | 
            +
                          message: "User rejected the request."
         | 
| 650 | 
            +
                        });
         | 
| 651 | 
            +
                      }
         | 
| 652 | 
            +
                    };
         | 
| 653 | 
            +
                    sendBtcTransaction(sendBtcOptions).catch((e) => reject(e));
         | 
| 654 | 
            +
                  });
         | 
| 655 | 
            +
                  return result;
         | 
| 656 | 
            +
                });
         | 
| 657 | 
            +
              }
         | 
| 658 | 
            +
              disconnect() {
         | 
| 659 | 
            +
                localStorage.removeItem("btc-connect-magicEden-addresses-Mainnet");
         | 
| 660 | 
            +
                localStorage.removeItem("btc-connect-magicEden-addresses-Testnet");
         | 
| 475 661 | 
             
              }
         | 
| 476 662 | 
             
            };
         | 
| 663 | 
            +
            _network2 = new WeakMap();
         | 
| 664 | 
            +
            _event2 = new WeakMap();
         | 
| 477 665 |  | 
| 478 666 | 
             
            // src/context/index.tsx
         | 
| 479 667 | 
             
            import { SmartAccount } from "@particle-network/aa";
         | 
| @@ -595,8 +783,8 @@ var EthereumProvider = class { | |
| 595 783 | 
             
            };
         | 
| 596 784 |  | 
| 597 785 | 
             
            // src/utils/eventUtils.ts
         | 
| 598 | 
            -
            import { EventEmitter as  | 
| 599 | 
            -
            var events = new  | 
| 786 | 
            +
            import { EventEmitter as EventEmitter3 } from "events";
         | 
| 787 | 
            +
            var events = new EventEmitter3();
         | 
| 600 788 | 
             
            events.setMaxListeners(100);
         | 
| 601 789 | 
             
            var getPendingSignEventAccount = () => {
         | 
| 602 790 | 
             
              return events.listenerCount("sendUserOpResult" /* sendUserOpResult */) + events.listenerCount("personalSignResult" /* personalSignResult */) + events.listenerCount("signTypedDataResult" /* signTypedDataResult */);
         | 
| @@ -1659,7 +1847,7 @@ var signModal_default = SignModal; | |
| 1659 1847 | 
             
            // src/evmSigner/index.ts
         | 
| 1660 1848 | 
             
            import { intToHex as intToHex2 } from "@ethereumjs/util";
         | 
| 1661 1849 | 
             
            import { chains as chains3 } from "@particle-network/chains";
         | 
| 1662 | 
            -
            import { EventEmitter as  | 
| 1850 | 
            +
            import { EventEmitter as EventEmitter4 } from "events";
         | 
| 1663 1851 | 
             
            import {
         | 
| 1664 1852 | 
             
              InvalidParamsRpcError,
         | 
| 1665 1853 | 
             
              SwitchChainError,
         | 
| @@ -1690,7 +1878,7 @@ var AASignerProvider = class { | |
| 1690 1878 | 
             
                    transport: http(rpcUrl)
         | 
| 1691 1879 | 
             
                  });
         | 
| 1692 1880 | 
             
                };
         | 
| 1693 | 
            -
                this.events = new  | 
| 1881 | 
            +
                this.events = new EventEmitter4();
         | 
| 1694 1882 | 
             
                this.events.setMaxListeners(100);
         | 
| 1695 1883 | 
             
                if (typeof window !== "undefined") {
         | 
| 1696 1884 | 
             
                  const localChainId = localStorage.getItem("connect-evm-chain-id");
         | 
| @@ -3084,7 +3272,7 @@ function executeBurrowSupply(_0) { | |
| 3084 3272 |  | 
| 3085 3273 | 
             
            // src/index.ts
         | 
| 3086 3274 | 
             
            var getVersion = () => {
         | 
| 3087 | 
            -
              return "0.3. | 
| 3275 | 
            +
              return "0.3.2";
         | 
| 3088 3276 | 
             
            };
         | 
| 3089 3277 | 
             
            if (typeof window !== "undefined") {
         | 
| 3090 3278 | 
             
              window.__PARTICLE_BTC_CONNECT_VERSION = getVersion();
         |