evernode-js-client 0.6.49 → 0.6.50
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/index.js +42 -40
- package/package.json +1 -1
    
        package/index.js
    CHANGED
    
    | @@ -65484,7 +65484,6 @@ const { TransactionHelper } = __nccwpck_require__(7071); | |
| 65484 65484 | 
             
            const { XrplApiEvents } = __nccwpck_require__(3307);
         | 
| 65485 65485 | 
             
            const { XrplAccount } = __nccwpck_require__(9329);
         | 
| 65486 65486 | 
             
            const { XrplHelpers } = __nccwpck_require__(3189);
         | 
| 65487 | 
            -
            const { UtilHelpers } = __nccwpck_require__(6687);
         | 
| 65488 65487 |  | 
| 65489 65488 | 
             
            const MAX_PAGE_LIMIT = 400;
         | 
| 65490 65489 | 
             
            const API_REQ_TYPE = {
         | 
| @@ -65535,7 +65534,7 @@ class XrplApi { | |
| 65535 65534 | 
             
                }
         | 
| 65536 65535 |  | 
| 65537 65536 | 
             
                async #acquireClient() {
         | 
| 65538 | 
            -
                    while (!(this.#isPrimaryServerConnected || this.#isFallbackServerConnected) && this.#isClientAcquired | 
| 65537 | 
            +
                    while (!(this.#isPrimaryServerConnected || this.#isFallbackServerConnected) && this.#isClientAcquired) {
         | 
| 65539 65538 | 
             
                        await new Promise((resolve) => setTimeout(resolve, 100));
         | 
| 65540 65539 | 
             
                    }
         | 
| 65541 65540 | 
             
                    this.#isClientAcquired = true;
         | 
| @@ -65546,7 +65545,7 @@ class XrplApi { | |
| 65546 65545 | 
             
                }
         | 
| 65547 65546 |  | 
| 65548 65547 | 
             
                async #acquireConnection() {
         | 
| 65549 | 
            -
                    while (this.# | 
| 65548 | 
            +
                    while (this.#isConnectionAcquired) {
         | 
| 65550 65549 | 
             
                        await new Promise((resolve) => setTimeout(resolve, 100));
         | 
| 65551 65550 | 
             
                    }
         | 
| 65552 65551 | 
             
                    this.#isConnectionAcquired = true;
         | 
| @@ -65581,8 +65580,6 @@ class XrplApi { | |
| 65581 65580 |  | 
| 65582 65581 | 
             
                    if (!FUNCTIONING_SERVER_STATES.includes(serverState))
         | 
| 65583 65582 | 
             
                        throw "Client might have functioning issues."
         | 
| 65584 | 
            -
             | 
| 65585 | 
            -
                    await this.#setXrplClient(client);
         | 
| 65586 65583 | 
             
                }
         | 
| 65587 65584 |  | 
| 65588 65585 | 
             
                async #initEventListeners(client) {
         | 
| @@ -65597,6 +65594,10 @@ class XrplApi { | |
| 65597 65594 | 
             
                        console.log(errorCode + ': ' + errorMessage);
         | 
| 65598 65595 | 
             
                    });
         | 
| 65599 65596 |  | 
| 65597 | 
            +
                    client.on('connected', async () => {
         | 
| 65598 | 
            +
                        await this.#setXrplClient(client)
         | 
| 65599 | 
            +
                    });
         | 
| 65600 | 
            +
             | 
| 65600 65601 | 
             
                    client.on('disconnected', async (code) => {
         | 
| 65601 65602 | 
             
                        this.#events.emit(XrplApiEvents.DISCONNECTED, code);
         | 
| 65602 65603 |  | 
| @@ -65698,50 +65699,51 @@ class XrplApi { | |
| 65698 65699 | 
             
                    });
         | 
| 65699 65700 | 
             
                }
         | 
| 65700 65701 |  | 
| 65701 | 
            -
                async #attemptFallbackServerReconnect( | 
| 65702 | 
            +
                async #attemptFallbackServerReconnect(maxRounds, attemptsPerServer = 3) {
         | 
| 65702 65703 | 
             
                    if (!this.#fallbackServers || this.#fallbackServers?.length == 0)
         | 
| 65703 65704 | 
             
                        return;
         | 
| 65704 65705 |  | 
| 65705 65706 | 
             
                    await this.#acquireClient();
         | 
| 65706 65707 |  | 
| 65707 | 
            -
                     | 
| 65708 | 
            -
                    let  | 
| 65709 | 
            -
                     | 
| 65710 | 
            -
             | 
| 65711 | 
            -
                         | 
| 65712 | 
            -
                        for ( | 
| 65713 | 
            -
                            const  | 
| 65714 | 
            -
                             | 
| 65715 | 
            -
                                if ( | 
| 65716 | 
            -
                                     | 
| 65717 | 
            -
                                    this.#isFallbackServerConnected = true;
         | 
| 65708 | 
            +
                    const fallbackServers = this.#fallbackServers;
         | 
| 65709 | 
            +
                    let round = 0;
         | 
| 65710 | 
            +
                    while (!this.#isPermanentlyDisconnected && !this.#isPrimaryServerConnected && !this.#isFallbackServerConnected && (!maxRounds || round < maxRounds)) { // Keep attempting until consumer calls disconnect() manually or if the primary server is disconnected.
         | 
| 65711 | 
            +
                        ++round;
         | 
| 65712 | 
            +
                        serverIterator:
         | 
| 65713 | 
            +
                        for (let serverIndex in fallbackServers) {
         | 
| 65714 | 
            +
                            const server = fallbackServers[serverIndex];
         | 
| 65715 | 
            +
                            for (let attempt = 0; attempt < attemptsPerServer;) {
         | 
| 65716 | 
            +
                                if (this.#isPrimaryServerConnected || this.#isPermanentlyDisconnected) {
         | 
| 65717 | 
            +
                                    break serverIterator;
         | 
| 65718 65718 | 
             
                                }
         | 
| 65719 | 
            -
                                 | 
| 65720 | 
            -
             | 
| 65721 | 
            -
             | 
| 65722 | 
            -
             | 
| 65723 | 
            -
             | 
| 65724 | 
            -
             | 
| 65725 | 
            -
             | 
| 65726 | 
            -
                                     | 
| 65727 | 
            -
                                    await client.disconnect();
         | 
| 65719 | 
            +
                                ++attempt;
         | 
| 65720 | 
            +
                                const client = new xrpl.Client(server, this.#xrplClientOptions);
         | 
| 65721 | 
            +
                                try {
         | 
| 65722 | 
            +
                                    if (!this.#isPrimaryServerConnected) {
         | 
| 65723 | 
            +
                                        await this.#handleClientConnect(client);
         | 
| 65724 | 
            +
                                        this.#isFallbackServerConnected = true;
         | 
| 65725 | 
            +
                                    }
         | 
| 65726 | 
            +
                                    break serverIterator;
         | 
| 65728 65727 | 
             
                                }
         | 
| 65729 | 
            -
             | 
| 65730 | 
            -
             | 
| 65731 | 
            -
                                     | 
| 65732 | 
            -
                                     | 
| 65733 | 
            -
             | 
| 65734 | 
            -
             | 
| 65735 | 
            -
                                         | 
| 65728 | 
            +
                                catch (e) {
         | 
| 65729 | 
            +
                                    this.#releaseClient();
         | 
| 65730 | 
            +
                                    console.log(`Error occurred while connecting to fallback server ${server}`);
         | 
| 65731 | 
            +
                                    await new Promise(resolve => setTimeout(resolve, 1000));
         | 
| 65732 | 
            +
                                    if (client.isConnected()) {
         | 
| 65733 | 
            +
                                        console.log('Connection closure already handled');
         | 
| 65734 | 
            +
                                        await client.disconnect();
         | 
| 65736 65735 | 
             
                                    }
         | 
| 65737 65736 |  | 
| 65738 | 
            -
                                     | 
| 65737 | 
            +
                                    if (!this.#isPermanentlyDisconnected) {
         | 
| 65738 | 
            +
                                        if (!maxRounds || round < maxRounds)
         | 
| 65739 | 
            +
                                            console.log(`Fallback server ${server} connection attempt ${attempt} failed. Retrying in ${2 * round}s...`);
         | 
| 65740 | 
            +
                                        else
         | 
| 65741 | 
            +
                                            return { error: `Fallback server ${server} connection max attempts failed.`, exception: e };
         | 
| 65742 | 
            +
                                        await new Promise(resolve => setTimeout(resolve, 2 * round * 1000));
         | 
| 65743 | 
            +
                                    }
         | 
| 65739 65744 | 
             
                                }
         | 
| 65740 65745 | 
             
                            }
         | 
| 65741 65746 | 
             
                        }
         | 
| 65742 | 
            -
             | 
| 65743 | 
            -
                        if (maxAttempts && attempt >= maxAttempts)
         | 
| 65744 | 
            -
                            return { error: Object.values(errors) };
         | 
| 65745 65747 | 
             
                    }
         | 
| 65746 65748 |  | 
| 65747 65749 | 
             
                    return {};
         | 
| @@ -65793,9 +65795,9 @@ class XrplApi { | |
| 65793 65795 | 
             
                    }
         | 
| 65794 65796 | 
             
                    else {
         | 
| 65795 65797 | 
             
                        if (this.#primaryServer) {
         | 
| 65796 | 
            -
                            res = await Promise.all([this.#attemptPrimaryServerReconnect(1), this.#attemptFallbackServerReconnect(1)]);
         | 
| 65798 | 
            +
                            res = await Promise.all([this.#attemptPrimaryServerReconnect(1), this.#attemptFallbackServerReconnect(1, 1)]);
         | 
| 65797 65799 | 
             
                        } else {
         | 
| 65798 | 
            -
                            res = [await this.#attemptFallbackServerReconnect(1)];
         | 
| 65800 | 
            +
                            res = [await this.#attemptFallbackServerReconnect(1, 1)];
         | 
| 65799 65801 | 
             
                        }
         | 
| 65800 65802 | 
             
                    }
         | 
| 65801 65803 |  | 
| @@ -65925,7 +65927,7 @@ class XrplApi { | |
| 65925 65927 | 
             
                    const info = await this.getAccountInfo(address);
         | 
| 65926 65928 | 
             
                    const accountFlags = xrpl.parseAccountRootFlags(info.Flags);
         | 
| 65927 65929 | 
             
                    const regularKey = info.RegularKey;
         | 
| 65928 | 
            -
                    const derivedPubKeyAddress =  | 
| 65930 | 
            +
                    const derivedPubKeyAddress = kp.deriveAddress(publicKey);
         | 
| 65929 65931 |  | 
| 65930 65932 | 
             
                    // If the master key is disabled the derived pubkey address should be the regular key.
         | 
| 65931 65933 | 
             
                    // Otherwise it could be account address or the regular key
         | 
    
        package/package.json
    CHANGED
    
    | @@ -6,7 +6,7 @@ | |
| 6 6 | 
             
                ],
         | 
| 7 7 | 
             
                "homepage": "https://github.com/HotPocketDev/evernode-js-client",
         | 
| 8 8 | 
             
                "license": "SEE LICENSE IN https://raw.githubusercontent.com/EvernodeXRPL/evernode-resources/main/license/evernode-license.pdf",
         | 
| 9 | 
            -
                "version": "0.6. | 
| 9 | 
            +
                "version": "0.6.50",
         | 
| 10 10 | 
             
                "dependencies": {
         | 
| 11 11 | 
             
                    "elliptic": "6.5.4",
         | 
| 12 12 | 
             
                    "libsodium-wrappers": "0.7.10",
         |