evernode-js-client 0.6.48 → 0.6.49

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/index.js +53 -31
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -61222,7 +61222,7 @@ class HostClient extends BaseEvernodeClient {
61222
61222
  */
61223
61223
  async getLeaseByIndex(index) {
61224
61224
  const token = await EvernodeHelpers.getLeaseByIndex(this.xrplApi, index);
61225
- if (token.Issuer !== this.xrplAcc.address)
61225
+ if (token?.Issuer !== this.xrplAcc.address)
61226
61226
  return null;
61227
61227
  return token;
61228
61228
  }
@@ -62335,10 +62335,10 @@ class TenantClient extends BaseEvernodeClient {
62335
62335
  super(xrpAddress, xrpSecret, Object.values(TenantEvents), false, options);
62336
62336
  }
62337
62337
 
62338
- async prepareAccount() {
62338
+ async prepareAccount(options = {}) {
62339
62339
  try {
62340
62340
  if (!await this.xrplAcc.getMessageKey())
62341
- await this.xrplAcc.setAccountFields({ MessageKey: this.accKeyPair.publicKey });
62341
+ await this.xrplAcc.setAccountFields({ MessageKey: this.accKeyPair.publicKey }, options);
62342
62342
  }
62343
62343
  catch (err) {
62344
62344
  console.log("Error in preparing user xrpl account for Evernode.", err);
@@ -62464,21 +62464,29 @@ class TenantClient extends BaseEvernodeClient {
62464
62464
 
62465
62465
  let relevantTx = null;
62466
62466
  while (!rejected && !relevantTx) {
62467
- const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
62468
- for (let t of txList) {
62469
- t.tx.Memos = TransactionHelper.deserializeMemos(t.tx?.Memos);
62470
- t.tx.HookParameters = TransactionHelper.deserializeHookParams(t.tx?.HookParameters);
62471
-
62472
- if (t.meta?.delivered_amount)
62473
- t.tx.DeliveredAmount = t.meta.delivered_amount;
62474
-
62475
- const res = await this.extractEvernodeEvent(t.tx);
62476
- if ((res?.name === EvernodeEvents.AcquireSuccess || res?.name === EvernodeEvents.AcquireError) && res?.data?.acquireRefId === tx.id) {
62477
- clearTimeout(failTimeout);
62478
- relevantTx = res;
62479
- break;
62467
+ try {
62468
+ const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
62469
+ for (let t of txList) {
62470
+ t.tx.Memos = TransactionHelper.deserializeMemos(t.tx?.Memos);
62471
+ t.tx.HookParameters = TransactionHelper.deserializeHookParams(t.tx?.HookParameters);
62472
+
62473
+ if (t.meta?.delivered_amount)
62474
+ t.tx.DeliveredAmount = t.meta.delivered_amount;
62475
+
62476
+ const res = await this.extractEvernodeEvent(t.tx);
62477
+ if ((res?.name === EvernodeEvents.AcquireSuccess || res?.name === EvernodeEvents.AcquireError) && res?.data?.acquireRefId === tx.id) {
62478
+ clearTimeout(failTimeout);
62479
+ relevantTx = res;
62480
+ break;
62481
+ }
62480
62482
  }
62481
62483
  }
62484
+ catch (e) {
62485
+ rejected = true;
62486
+ clearTimeout(failTimeout);
62487
+ reject({ error: ErrorCodes.ACQUIRE_ERR, reason: 'UNKNOWN', acquireRefId: tx.id });
62488
+ break;
62489
+ }
62482
62490
  await new Promise(resolveSleep => setTimeout(resolveSleep, 2000));
62483
62491
  }
62484
62492
 
@@ -62579,21 +62587,29 @@ class TenantClient extends BaseEvernodeClient {
62579
62587
 
62580
62588
  let relevantTx = null;
62581
62589
  while (!rejected && !relevantTx) {
62582
- const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
62583
- for (let t of txList) {
62584
- t.tx.Memos = TransactionHelper.deserializeMemos(t.tx.Memos);
62585
- t.tx.HookParameters = TransactionHelper.deserializeHookParams(t.tx?.HookParameters);
62586
-
62587
- if (t.meta?.delivered_amount)
62588
- t.tx.DeliveredAmount = t.meta.delivered_amount;
62589
-
62590
- const res = await this.extractEvernodeEvent(t.tx);
62591
- if ((res?.name === TenantEvents.ExtendSuccess || res?.name === TenantEvents.ExtendError) && res?.data?.extendRefId === tx.id) {
62592
- clearTimeout(failTimeout);
62593
- relevantTx = res;
62594
- break;
62590
+ try {
62591
+ const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
62592
+ for (let t of txList) {
62593
+ t.tx.Memos = TransactionHelper.deserializeMemos(t.tx.Memos);
62594
+ t.tx.HookParameters = TransactionHelper.deserializeHookParams(t.tx?.HookParameters);
62595
+
62596
+ if (t.meta?.delivered_amount)
62597
+ t.tx.DeliveredAmount = t.meta.delivered_amount;
62598
+
62599
+ const res = await this.extractEvernodeEvent(t.tx);
62600
+ if ((res?.name === TenantEvents.ExtendSuccess || res?.name === TenantEvents.ExtendError) && res?.data?.extendRefId === tx.id) {
62601
+ clearTimeout(failTimeout);
62602
+ relevantTx = res;
62603
+ break;
62604
+ }
62595
62605
  }
62596
62606
  }
62607
+ catch (e) {
62608
+ rejected = true;
62609
+ clearTimeout(failTimeout);
62610
+ reject({ error: ErrorCodes.EXTEND_ERR, reason: 'UNKNOWN', extendRefId: tx.id });
62611
+ break;
62612
+ }
62597
62613
  await new Promise(resolveSleep => setTimeout(resolveSleep, 1000));
62598
62614
  }
62599
62615
 
@@ -62608,7 +62624,8 @@ class TenantClient extends BaseEvernodeClient {
62608
62624
  reject({
62609
62625
  error: ErrorCodes.EXTEND_ERR,
62610
62626
  transaction: relevantTx?.data.transaction,
62611
- reason: relevantTx?.data.reason
62627
+ reason: relevantTx?.data.reason,
62628
+ extendRefId: relevantTx?.data.extendRefId
62612
62629
  });
62613
62630
  }
62614
62631
  }
@@ -65613,7 +65630,12 @@ class XrplApi {
65613
65630
  this.#events.emit(XrplApiEvents.SERVER_DESYNCED, { "event_type": "on_alert", "server_state": serverState });
65614
65631
  }
65615
65632
  } catch (e) {
65616
- console.log("Error occurred while listening to server de-syncs.", e)
65633
+ if (e.name === 'TimeoutError') {
65634
+ console.error("Server timeout detected.");
65635
+ this.#events.emit(XrplApiEvents.DISCONNECTED, 408);
65636
+ }
65637
+ else
65638
+ console.error("Error occurred while listening to server de-syncs.", e);
65617
65639
  } finally {
65618
65640
  clearTimeout(ledgerTimeout);
65619
65641
  }
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.48",
9
+ "version": "0.6.49",
10
10
  "dependencies": {
11
11
  "elliptic": "6.5.4",
12
12
  "libsodium-wrappers": "0.7.10",