@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.
- package/lib/ledger/account_tx.js +30 -17
- package/lib/ledger/transaction.js +2 -2
- package/lib/models/base_model.d.ts +1 -1
- package/lib/types/mptokens.d.ts +1 -16
- package/lib/types/mptokens.js +10 -27
- package/package.json +10 -12
package/lib/ledger/account_tx.js
CHANGED
|
@@ -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 (
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
169
|
-
|
|
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: "
|
|
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: "
|
|
411
|
+
return { ...tx, status: "error", error: "lastLedgerIndexReached" };
|
|
412
412
|
}
|
|
413
413
|
else {
|
|
414
|
-
return { ...tx, status: "
|
|
414
|
+
return { ...tx, status: "error", error: "waitingForValidation" };
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
417
|
return tx;
|
package/lib/types/mptokens.d.ts
CHANGED
|
@@ -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 {};
|
package/lib/types/mptokens.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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": ">=
|
|
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.
|
|
62
|
-
"xrpl": "^4.
|
|
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.
|
|
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.
|
|
73
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
74
|
-
"@typescript-eslint/parser": "^8.
|
|
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.
|
|
78
|
-
"eslint-config-prettier": "^
|
|
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",
|