@bithomp/xrpl-api 3.2.0 → 3.2.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.
@@ -124,28 +124,33 @@ async function findTransactions(account, options = { limit: DEFAULT_LIMIT, timeo
124
124
  loadOptions.binary = false;
125
125
  applyLimitOptions(loadOptions);
126
126
  await applyStartTxOptions(loadOptions);
127
+ let getTransactionsLimit = loadOptions.limit;
128
+ if (transactions.length === 0 && loadOptions.startTxHash) {
129
+ getTransactionsLimit += LIMIT_INCREASE_COUNT;
130
+ }
131
+ if (loadOptions.sourceTag || loadOptions.destinationTag) {
132
+ getTransactionsLimit += LIMIT_INCREASE_COUNT;
133
+ }
134
+ if (getTransactionsLimit > MAX_LIMIT) {
135
+ getTransactionsLimit = MAX_LIMIT;
136
+ }
127
137
  while (transactions.length !== loadOptions.limit) {
128
138
  const currentTime = new Date();
129
139
  if (loadOptions.timeout && currentTime.getTime() - timeStart.getTime() > loadOptions.timeout) {
130
140
  break;
131
141
  }
132
- let limit = loadOptions.limit;
133
- if (transactions.length === 0 && loadOptions.startTxHash) {
134
- limit += LIMIT_INCREASE_COUNT;
135
- }
136
- if (loadOptions.sourceTag || loadOptions.destinationTag) {
137
- limit += LIMIT_INCREASE_COUNT;
138
- }
139
- if (limit > MAX_LIMIT) {
140
- limit = MAX_LIMIT;
141
- }
142
142
  const accountTransactions = await getTransactions(account, {
143
143
  ...loadOptions,
144
- ...{ balanceChanges: false, specification: false, limit },
144
+ ...{ balanceChanges: false, specification: false, limit: getTransactionsLimit },
145
145
  });
146
- if (!accountTransactions || accountTransactions.error) {
147
- accountTransactionsError = accountTransactions;
148
- break;
146
+ if (accountTransactions.error) {
147
+ if (accountTransactions.error_message === "Request timeout.") {
148
+ continue;
149
+ }
150
+ else {
151
+ accountTransactionsError = accountTransactions;
152
+ break;
153
+ }
149
154
  }
150
155
  let newTransactions = accountTransactions.transactions;
151
156
  loadOptions.marker = accountTransactions.marker;
@@ -165,8 +170,16 @@ async function findTransactions(account, options = { limit: DEFAULT_LIMIT, timeo
165
170
  }
166
171
  }
167
172
  }
168
- transactions = transactions.concat(newTransactions);
169
- transactions = transactions.slice(0, loadOptions.limit);
173
+ if (newTransactions.length === 0 && getTransactionsLimit < MAX_LIMIT) {
174
+ getTransactionsLimit += LIMIT_INCREASE_COUNT;
175
+ if (getTransactionsLimit > MAX_LIMIT) {
176
+ getTransactionsLimit = MAX_LIMIT;
177
+ }
178
+ }
179
+ if (newTransactions.length > 0) {
180
+ transactions = transactions.concat(newTransactions);
181
+ transactions = transactions.slice(0, loadOptions.limit);
182
+ }
170
183
  if (loadOptions.marker === undefined) {
171
184
  break;
172
185
  }
@@ -176,7 +189,7 @@ async function findTransactions(account, options = { limit: DEFAULT_LIMIT, timeo
176
189
  }
177
190
  if (loadOptions.marker && transactions.length === 0) {
178
191
  return {
179
- status: "timeout",
192
+ status: "error",
180
193
  error: "searchTimeout",
181
194
  marker: loadOptions.marker,
182
195
  };
@@ -408,10 +408,10 @@ async function waitForFinalTransactionOutcome(txHash, lastLedger) {
408
408
  }
409
409
  if (tx && !tx.hasOwnProperty("error") && tx.validated === false) {
410
410
  if (tx.hasOwnProperty("LastLedgerSequence")) {
411
- return { ...tx, status: "timeout", error: "lastLedgerIndexReached" };
411
+ return { ...tx, status: "error", error: "lastLedgerIndexReached" };
412
412
  }
413
413
  else {
414
- return { ...tx, status: "timeout", error: "waitingForValidation" };
414
+ return { ...tx, status: "error", error: "waitingForValidation" };
415
415
  }
416
416
  }
417
417
  return tx;
@@ -4,7 +4,7 @@ export interface ErrorResponse {
4
4
  transaction?: string;
5
5
  public_key?: string;
6
6
  nft_id?: string;
7
- status: "error" | "timeout";
7
+ status: "error";
8
8
  error: string;
9
9
  error_code?: string;
10
10
  error_message?: string;
@@ -1,12 +1,5 @@
1
+ import { MPTokenIssuanceCreateFlags, MPTokenIssuanceSetFlags, MPTokenAuthorizeFlags } from "xrpl";
1
2
  import { FormattedBaseSpecification } from "./specification";
2
- declare enum MPTokenIssuanceCreateFlags {
3
- tfMPTCanLock = 2,
4
- tfMPTRequireAuth = 4,
5
- tfMPTCanEscrow = 8,
6
- tfMPTCanTrade = 16,
7
- tfMPTCanTransfer = 32,
8
- tfMPTCanClawback = 64
9
- }
10
3
  export declare const MPTokenIssuanceCreateFlagsKeys: {
11
4
  canLock: MPTokenIssuanceCreateFlags;
12
5
  requireAuth: MPTokenIssuanceCreateFlags;
@@ -23,10 +16,6 @@ export interface MPTokenIssuanceCreateFlagsKeysInterface {
23
16
  canTransfer?: boolean;
24
17
  canClawback?: boolean;
25
18
  }
26
- declare enum MPTokenIssuanceSetFlags {
27
- tfMPTLock = 1,
28
- tfMPTUnlock = 2
29
- }
30
19
  export declare const MPTokenIssuanceSetFlagsKeys: {
31
20
  lock: MPTokenIssuanceSetFlags;
32
21
  unlock: MPTokenIssuanceSetFlags;
@@ -35,9 +24,6 @@ export interface MPTokenIssuanceSetFlagsKeysInterface {
35
24
  lock?: boolean;
36
25
  unlock?: boolean;
37
26
  }
38
- declare enum MPTokenAuthorizeFlags {
39
- tfMPTUnauthorize = 1
40
- }
41
27
  export declare const MPTokenAuthorizeFlagsKeys: {
42
28
  unauthorize: MPTokenAuthorizeFlags;
43
29
  };
@@ -66,4 +52,3 @@ export type FormattedMPTokenIssuanceSetSpecification = {
66
52
  holder?: string;
67
53
  mptIssuanceID?: string;
68
54
  } & FormattedBaseSpecification;
69
- export {};
@@ -1,36 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MPTokenAuthorizeFlagsKeys = exports.MPTokenIssuanceSetFlagsKeys = exports.MPTokenIssuanceCreateFlagsKeys = void 0;
4
- var MPTokenIssuanceCreateFlags;
5
- (function (MPTokenIssuanceCreateFlags) {
6
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTCanLock"] = 2] = "tfMPTCanLock";
7
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTRequireAuth"] = 4] = "tfMPTRequireAuth";
8
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTCanEscrow"] = 8] = "tfMPTCanEscrow";
9
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTCanTrade"] = 16] = "tfMPTCanTrade";
10
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTCanTransfer"] = 32] = "tfMPTCanTransfer";
11
- MPTokenIssuanceCreateFlags[MPTokenIssuanceCreateFlags["tfMPTCanClawback"] = 64] = "tfMPTCanClawback";
12
- })(MPTokenIssuanceCreateFlags || (MPTokenIssuanceCreateFlags = {}));
4
+ const xrpl_1 = require("xrpl");
13
5
  exports.MPTokenIssuanceCreateFlagsKeys = {
14
- canLock: MPTokenIssuanceCreateFlags.tfMPTCanLock,
15
- requireAuth: MPTokenIssuanceCreateFlags.tfMPTRequireAuth,
16
- canEscrow: MPTokenIssuanceCreateFlags.tfMPTCanEscrow,
17
- canTrade: MPTokenIssuanceCreateFlags.tfMPTCanTrade,
18
- canTransfer: MPTokenIssuanceCreateFlags.tfMPTCanTransfer,
19
- canClawback: MPTokenIssuanceCreateFlags.tfMPTCanClawback,
6
+ canLock: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTCanLock,
7
+ requireAuth: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTRequireAuth,
8
+ canEscrow: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTCanEscrow,
9
+ canTrade: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTCanTrade,
10
+ canTransfer: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTCanTransfer,
11
+ canClawback: xrpl_1.MPTokenIssuanceCreateFlags.tfMPTCanClawback,
20
12
  };
21
- var MPTokenIssuanceSetFlags;
22
- (function (MPTokenIssuanceSetFlags) {
23
- MPTokenIssuanceSetFlags[MPTokenIssuanceSetFlags["tfMPTLock"] = 1] = "tfMPTLock";
24
- MPTokenIssuanceSetFlags[MPTokenIssuanceSetFlags["tfMPTUnlock"] = 2] = "tfMPTUnlock";
25
- })(MPTokenIssuanceSetFlags || (MPTokenIssuanceSetFlags = {}));
26
13
  exports.MPTokenIssuanceSetFlagsKeys = {
27
- lock: MPTokenIssuanceSetFlags.tfMPTLock,
28
- unlock: MPTokenIssuanceSetFlags.tfMPTUnlock,
14
+ lock: xrpl_1.MPTokenIssuanceSetFlags.tfMPTLock,
15
+ unlock: xrpl_1.MPTokenIssuanceSetFlags.tfMPTUnlock,
29
16
  };
30
- var MPTokenAuthorizeFlags;
31
- (function (MPTokenAuthorizeFlags) {
32
- MPTokenAuthorizeFlags[MPTokenAuthorizeFlags["tfMPTUnauthorize"] = 1] = "tfMPTUnauthorize";
33
- })(MPTokenAuthorizeFlags || (MPTokenAuthorizeFlags = {}));
34
17
  exports.MPTokenAuthorizeFlagsKeys = {
35
- unauthorize: MPTokenAuthorizeFlags.tfMPTUnauthorize,
18
+ unauthorize: xrpl_1.MPTokenAuthorizeFlags.tfMPTUnauthorize,
36
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bithomp/xrpl-api",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "A Bithomp JavaScript/TypeScript library for interacting with the XRP Ledger",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "url": "git+https://github.com/Bithomp/xrpl-api.git"
12
12
  },
13
13
  "engines": {
14
- "node": ">=18.0.0"
14
+ "node": ">=20.0.0"
15
15
  },
16
16
  "keywords": [
17
17
  "xrpl",
@@ -58,29 +58,27 @@
58
58
  "elliptic": "^6.6.1",
59
59
  "lodash": "^4.17.21",
60
60
  "ripple-address-codec": "^5.0.0",
61
- "ripple-binary-codec": "^2.1.0",
62
- "xrpl": "^4.0.0"
61
+ "ripple-binary-codec": "^2.2.0",
62
+ "xrpl": "^4.1.0"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@eslint/eslintrc": "^3.2.0",
66
- "@eslint/js": "^9.17.0",
67
66
  "@types/chai": "^5.0.1",
68
67
  "@types/chai-as-promised": "^8.0.1",
69
- "@types/lodash": "^4.17.13",
68
+ "@types/lodash": "^4.17.14",
70
69
  "@types/mocha": "^10.0.10",
71
70
  "@types/nconf": "^0.10.7",
72
- "@types/node": "^22.10.2",
73
- "@typescript-eslint/eslint-plugin": "^8.18.1",
74
- "@typescript-eslint/parser": "^8.18.1",
71
+ "@types/node": "^22.10.10",
72
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
73
+ "@typescript-eslint/parser": "^8.21.0",
75
74
  "chai": "^4.5.0",
76
75
  "chai-as-promised": "^7.1.2",
77
- "eslint": "^9.17.0",
78
- "eslint-config-prettier": "^9.1.0",
76
+ "eslint": "^9.19.0",
77
+ "eslint-config-prettier": "^10.0.1",
79
78
  "eslint-plugin-chai-friendly": "^1.0.1",
80
79
  "eslint-plugin-import": "^2.31.0",
81
80
  "eslint-plugin-n": "^17.15.1",
82
81
  "eslint-plugin-promise": "^7.2.1",
83
- "globals": "^15.14.0",
84
82
  "mocha": "^11.0.1",
85
83
  "nconf": "^0.12.1",
86
84
  "ts-jest": "^29.2.5",