evernode-js-client 0.5.1 → 0.5.2

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 +74 -54
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -12804,41 +12804,47 @@ class TenantClient extends BaseEvernodeClient {
12804
12804
  * @returns An object including transaction details,instance info, and acquireReference Id.
12805
12805
  */
12806
12806
  async watchAcquireResponse(tx, options = {}) {
12807
- console.log(`Waiting for acquire response... (txHash: ${tx.id})`);
12807
+ console.log(`Waiting for acquire response... (txHash: ${tx.id})`);
12808
12808
 
12809
+ return new Promise(async (resolve, reject) => {
12810
+ let rejected = false;
12809
12811
  const failTimeout = setTimeout(() => {
12810
- throw({ error: ErrorCodes.ACQUIRE_ERR, reason: ErrorReasons.TIMEOUT });
12812
+ rejected = true;
12813
+ reject({ error: ErrorCodes.ACQUIRE_ERR, reason: ErrorReasons.TIMEOUT });
12811
12814
  }, options.timeout || DEFAULT_WAIT_TIMEOUT);
12812
-
12815
+
12813
12816
  let relevantTx = null;
12814
- while (!relevantTx) {
12817
+ while (!rejected && !relevantTx) {
12815
12818
  const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
12816
12819
  for (let t of txList) {
12817
12820
  t.tx.Memos = TransactionHelper.deserializeMemos(t.tx?.Memos);
12818
- const res = await this.extractEvernodeEvent(t.tx);
12819
- if ((res?.name === EvernodeEvents.AcquireSuccess || res?.name === EvernodeEvents.AcquireError) && res?.data?.acquireRefId === tx.id) {
12820
- clearTimeout(failTimeout);
12821
- relevantTx = res;
12822
- break;
12823
- }
12821
+ const res = await this.extractEvernodeEvent(t.tx);
12822
+ if ((res?.name === EvernodeEvents.AcquireSuccess || res?.name === EvernodeEvents.AcquireError) && res?.data?.acquireRefId === tx.id) {
12823
+ clearTimeout(failTimeout);
12824
+ relevantTx = res;
12825
+ break;
12826
+ }
12824
12827
  }
12825
- await new Promise(resolve => setTimeout(resolve, 2000));
12828
+ await new Promise(resolveSleep => setTimeout(resolveSleep, 2000));
12826
12829
  }
12827
-
12828
- if (relevantTx?.name === TenantEvents.AcquireSuccess) {
12829
- return({
12830
- transaction: relevantTx?.data.transaction,
12831
- instance: relevantTx?.data.payload.content,
12832
- acquireRefId: relevantTx?.data.acquireRefId
12833
- });
12834
- } else if (relevantTx?.name === TenantEvents.AcquireError) {
12835
- throw({
12836
- error: ErrorCodes.ACQUIRE_ERR,
12837
- transaction: relevantTx?.data.transaction,
12838
- reason: relevantTx?.data.reason,
12839
- acquireRefId: relevantTx?.data.acquireRefId
12840
- })
12830
+
12831
+ if (!rejected) {
12832
+ if (relevantTx?.name === TenantEvents.AcquireSuccess) {
12833
+ resolve({
12834
+ transaction: relevantTx?.data.transaction,
12835
+ instance: relevantTx?.data.payload.content,
12836
+ acquireRefId: relevantTx?.data.acquireRefId
12837
+ });
12838
+ } else if (relevantTx?.name === TenantEvents.AcquireError) {
12839
+ reject({
12840
+ error: ErrorCodes.ACQUIRE_ERR,
12841
+ transaction: relevantTx?.data.transaction,
12842
+ reason: relevantTx?.data.reason,
12843
+ acquireRefId: relevantTx?.data.acquireRefId
12844
+ });
12845
+ }
12841
12846
  }
12847
+ });
12842
12848
  }
12843
12849
 
12844
12850
  /**
@@ -12887,38 +12893,44 @@ class TenantClient extends BaseEvernodeClient {
12887
12893
  async watchExtendResponse(tx, options = {}) {
12888
12894
  console.log(`Waiting for extend lease response... (txHash: ${tx.id})`);
12889
12895
 
12890
- const failTimeout = setTimeout(() => {
12891
- throw({ error: ErrorCodes.EXTEND_ERR, reason: ErrorReasons.TIMEOUT });
12892
- }, options.timeout || DEFAULT_WAIT_TIMEOUT);
12893
-
12894
- let relevantTx = null;
12895
- while (!relevantTx) {
12896
- const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
12897
- for (let t of txList) {
12898
- t.tx.Memos = TransactionHelper.deserializeMemos(t.tx.Memos);
12899
- const res = await this.extractEvernodeEvent(t.tx);
12900
- if ((res?.name === TenantEvents.ExtendSuccess || res?.name === TenantEvents.ExtendError) && res?.data?.extendRefId === tx.id) {
12901
- clearTimeout(failTimeout);
12902
- relevantTx = res;
12903
- break;
12896
+ return new Promise(async (resolve, reject) => {
12897
+ let rejected = false;
12898
+ const failTimeout = setTimeout(() => {
12899
+ rejected = true;
12900
+ reject({ error: ErrorCodes.EXTEND_ERR, reason: ErrorReasons.TIMEOUT });
12901
+ }, options.timeout || DEFAULT_WAIT_TIMEOUT);
12902
+
12903
+ let relevantTx = null;
12904
+ while (!rejected && !relevantTx) {
12905
+ const txList = await this.xrplAcc.getAccountTrx(tx.details.ledger_index);
12906
+ for (let t of txList) {
12907
+ t.tx.Memos = TransactionHelper.deserializeMemos(t.tx.Memos);
12908
+ const res = await this.extractEvernodeEvent(t.tx);
12909
+ if ((res?.name === TenantEvents.ExtendSuccess || res?.name === TenantEvents.ExtendError) && res?.data?.extendRefId === tx.id) {
12910
+ clearTimeout(failTimeout);
12911
+ relevantTx = res;
12912
+ break;
12913
+ }
12904
12914
  }
12915
+ await new Promise(resolveSleep => setTimeout(resolveSleep, 1000));
12905
12916
  }
12906
- await new Promise(resolve => setTimeout(resolve, 1000));
12907
- }
12908
12917
 
12909
- if (relevantTx?.name === TenantEvents.ExtendSuccess) {
12910
- return({
12911
- transaction: relevantTx?.data.transaction,
12912
- expiryMoment: relevantTx?.data.expiryMoment,
12913
- extendeRefId: relevantTx?.data.extendRefId
12914
- });
12915
- } else if (relevantTx?.name === TenantEvents.ExtendError) {
12916
- throw({
12917
- error: ErrorCodes.EXTEND_ERR,
12918
- transaction: relevantTx?.data.transaction,
12919
- reason: relevantTx?.data.reason
12920
- })
12921
- }
12918
+ if (!rejected) {
12919
+ if (relevantTx?.name === TenantEvents.ExtendSuccess) {
12920
+ resolve({
12921
+ transaction: relevantTx?.data.transaction,
12922
+ expiryMoment: relevantTx?.data.expiryMoment,
12923
+ extendeRefId: relevantTx?.data.extendRefId
12924
+ });
12925
+ } else if (relevantTx?.name === TenantEvents.ExtendError) {
12926
+ reject({
12927
+ error: ErrorCodes.EXTEND_ERR,
12928
+ transaction: relevantTx?.data.transaction,
12929
+ reason: relevantTx?.data.reason
12930
+ });
12931
+ }
12932
+ }
12933
+ });
12922
12934
  }
12923
12935
 
12924
12936
  /**
@@ -15110,6 +15122,14 @@ class XrplApi {
15110
15122
  return this.#requestWithPaging({ command: 'account_offers', account: address, ledger_index: "validated", ...options }, API_REQ_TYPE.OFFERS);
15111
15123
  }
15112
15124
 
15125
+ async getSellOffers(nfTokenId, options = {}) {
15126
+ return this.#requestWithPaging({ command: 'nft_sell_offers', nft_id: nfTokenId, ledger_index: "validated", ...options }, API_REQ_TYPE.OFFERS);
15127
+ }
15128
+
15129
+ async getBuyOffers(nfTokenId, options = {}) {
15130
+ return this.#requestWithPaging({ command: 'nft_buy_offers', nft_id: nfTokenId, ledger_index: "validated", ...options }, API_REQ_TYPE.OFFERS);
15131
+ }
15132
+
15113
15133
  async getLedgerEntry(index, options) {
15114
15134
  const resp = (await this.#client.request({ command: 'ledger_entry', index: index, ledger_index: "validated", ...options }));
15115
15135
  return resp?.result?.node;
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  ],
7
7
  "homepage": "https://github.com/HotPocketDev/evernode-js-client",
8
8
  "license": "MIT",
9
- "version": "0.5.1",
9
+ "version": "0.5.2",
10
10
  "dependencies": {
11
11
  "elliptic": "6.5.4",
12
12
  "ripple-address-codec": "4.2.0",