Skip to content

Commit 9fa94dc

Browse files
committed
add getUnconfirmedTransaction
1 parent 08c7dae commit 9fa94dc

File tree

4 files changed

+39
-4
lines changed

4 files changed

+39
-4
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ yarn-error.log
99
.env
1010
.vscode/
1111
.idea/
12+
example/

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tronweb",
3-
"version": "2.6.2",
3+
"version": "2.6.3",
44
"description": "JavaScript SDK that encapsulates the TRON HTTP API",
55
"main": "dist/TronWeb.node.js",
66
"scripts": {

src/lib/trx.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,19 @@ export default class Trx {
170170
}).catch(err => callback(err));
171171
}
172172

173+
getUnconfirmedTransactionInfo(transactionID, callback = false) {
174+
return this._getTransactionInfoById(transactionID, {confirmed: false}, callback)
175+
}
176+
173177
getTransactionInfo(transactionID, callback = false) {
178+
return this._getTransactionInfoById(transactionID, {confirmed: true}, callback)
179+
}
180+
181+
_getTransactionInfoById(transactionID, options, callback = false) {
174182
if (!callback)
175-
return this.injectPromise(this.getTransactionInfo, transactionID);
183+
return this.injectPromise(this._getTransactionInfoById, transactionID, options);
176184

177-
this.tronWeb.solidityNode.request('walletsolidity/gettransactioninfobyid', {
185+
this.tronWeb[options.confirmed ? 'solidityNode' : 'fullNode'].request(`wallet${options.confirmed ? 'solidity' : ''}/gettransactioninfobyid`, {
178186
value: transactionID
179187
}, 'post').then(transaction => {
180188
callback(null, transaction);

test/lib/trx.test.js

+27-1
Original file line numberDiff line numberDiff line change
@@ -1084,7 +1084,7 @@ describe('TronWeb.trx', function () {
10841084
});
10851085

10861086

1087-
describe("#getTransactionInfo", async function () {
1087+
describe("#getTransactionInfo (Confirmed)", async function () {
10881088

10891089
const idx = 26;
10901090
let transaction;
@@ -1111,6 +1111,32 @@ describe('TronWeb.trx', function () {
11111111
});
11121112

11131113

1114+
describe("#geUnconfirmedTransactionInfo", async function () {
1115+
1116+
const idx = 25;
1117+
let transaction;
1118+
1119+
before(async function(){
1120+
transaction = await tronWeb.trx.freezeBalance(10e5, 3, 'BANDWIDTH', { privateKey: accounts.pks[idx], address: accounts.hex[idx] });
1121+
transaction = transaction.transaction;
1122+
await waitChainData('tx', transaction.txID);
1123+
});
1124+
1125+
it('should get unconfirmed transaction by id', async function () {
1126+
const tx = await tronWeb.trx.getUnconfirmedTransactionInfo(transaction.txID);
1127+
assert.equal(tx.id, transaction.txID);
1128+
});
1129+
1130+
it('should throw transaction not found error', async function () {
1131+
await assertThrow(
1132+
tronWeb.trx.getUnconfirmedTransactionInfo('a8813981b1737d9caf7d51b200760a16c9cdbc826fa8de102386af898048cbe5'),
1133+
'Transaction not found'
1134+
);
1135+
});
1136+
1137+
});
1138+
1139+
11141140
describe("#getConfirmedTransaction", async function () {
11151141

11161142
const idx = 26;

0 commit comments

Comments
 (0)