When upgrading to this version you must pass
--wallet-migrate=5
when you run it for the first time
(#782,
#896,
#888).
- TX
- tx.test no longer updates the filter,
instead
.testAndMaybeUpdate
is used for testing and potentially updating (#856).
- tx.test no longer updates the filter,
instead
Add support for the interactive rescan, that allows more control over rescan process and allows parallel rescans (#856).
GET /
orgetInfo()
now has more properties (#869):treeRootHeight
- height at which the block txns are accumulated in the current branch.indexers
indexTX
- is tx indexer enabled.indexAddress
- is addr indexer enabled.
options
spv
is the Node SPV?prune
does node have pruning enabled.
treeCompaction
compacted
- whethere tree is compacted or not.compactOnInit
- is tree compaction on init enabled.compactInterval
- what is the current compaction interval config.nextCompaction
- when will the next compaction trigger after restart.lastCompaction
- when was the last compaction run.
- Introduce
scan interactive
hook (start, filter, fullLock) (#883). - Add
get median time
hook to get median time past for a blockhash (#888). - Add
get entries
hook to get entries. Similar toget hashes
, but returns encoded entries (#888).
- Introduce
scanInteractive
method that starts interactive rescan (#856).- expects ws hook for
block rescan interactive
paramsrawEntry, rawTXs
that returns scanAction object. - expects ws hook for
block rescan interactive abort
parammessage
.
- expects ws hook for
- Add
getMempoolRejectionFilter
andcheckMempoolRejectionFilter
NodeClient aliases. (#882). - Add
getFee
, an HTTP alternative to estimateFee socket call (#882). - Adds
getEntries(start, end)
that returns encoded chain entries (#882).
- Add migration that recalculates txdb balances to fix any inconsistencies (#782).
- Wallet will now use
interactive scan
for initial sync(on open) and rescan (#883).
- Wallet now has option
wallet-migrate-no-rescan
/migrate-no-rescan
if you want to disable rescan when migration recommends it. It may result in the incorrect txdb state, but can be useful if you know the issue does not affect your wallet or is not critical (#859). - Add
--wallet-preload-all
(or--preload-all
for standalone wallet node) that will open all wallets before starting other services (e.g. HTTP). By default this is set tofalse
(#803). - Add
--wallet-max-history-txs
(or--max-history-txs
for standalone wallet node) that will be the hard limit of confirmed and unconfirmed histories (#888).
- WalletNode now emits
open
andclose
events (#883). - WalletDB Now emits events for:
open
,close
,connect
,disconnect
(#859). - WalletDB
open()
no longer callsconnect
and needs separate callconnect
(#859).open()
no longer calls scan, instead only rollbacks and waits for sync to do the rescan (#859).- emits events for:
open
,close
,connect
,disconnect
,sync done
(#859). - Wallet now has additional methods for quering history
(#888):
listUnconfirmed(acc, { limit, reverse })
- Get first or lastlimit
unconfirmed transactions.listUnconfirmedAfter(acc, { hash, limit, reverse })
- Get first or lastlimit
unconfirmed transactions after/before tx with hash:hash
.listUnconfirmedFrom(acc, { hash, limit, reverse })
- Get first or lastlimit
unconfirmed transactions after/before tx with hashhash
, inclusive.listUnconfirmedByTime(acc, { time, limit, reverse })
- Get first or lastlimit
unconfirmed transactions after/beforetime
, inclusive.listHistory(acc, { limit, reverse })
- Get first or lastlimit
unconfirmed/confirmed transactions.listHistoryAfter(acc, { hash, limit, reverse })
- Get first or lastlimit
unconfirmed/confirmed transactions after/before tx with hashhash
.listHistoryFrom(acc, { hash, limit, reverse })
- Get first or lastlimit
confirmed/unconfirmed transactions after/before tx with hashhash
, inclusive.listUnconfirmedByTime(acc, { time, limit, reverse })
- Get first or lastlimit
confirmed/unconfirmed transactions after/beforetime
, inclusive.- NOTE: Default is ascending order, from the oldest.
- All transaction creating endpoints now accept
hardFee
for specifying the exact fee (#845). - All transaction sending endpoints now fundlock/queue tx creation. (no more conflicting transactions) (#845)
- Add options to
getNames
for passingown
(#882). - Rename
createAuctionTxs
tocreateAuctionTXs
(#899). - All
bid
serializations will includeheight
of the bid. (-1
if it was migrated not-owned bid) (#896)GET /wallet/:id/auction
(getAuctions
)GET /wallet/:id/auction/:name
(getAuctionByName
)GET /wallet/:id/bid
(getBids
)GET /wallet/:id/bid/:name
(getBidsByName
)
- All
reveal
serializations will includebidPrevout
of the bid. (null
if it was migrated not-owned reveal) (#896)GET /wallet/:id/auction
(getAuctions
)GET /wallet/:id/auction/:name
(getAuctionByName
)GET /wallet/:id/reveal
(getReveals
)GET /wallet/:id/reveal/:name
(getRevealsByName
)
GET /wallet/:id/tx/history
- The params are nowtime
,after
,limit
, andreverse
. (#888)GET /wallet/:id/tx/unconfirmed
- The params are are same as above. (#888)
These endpoints have been deprecated (#888):
GET /wallet/:id/tx/range
- Instead use thetime
param for the history and unconfirmed endpoints.GET /wallet/:id/tx/last
- Instead usereverse
param for the history and unconfirmed endpoints.
Pagination examples (#888):
GET /wallet/:id/tx/history?after=<txid>&limit=50&reverse=false
GET /wallet/:id/tx/history?after=<txid>&limit=50&reverse=true
By using after=<txid>
we can anchor pages so that results will not shift
when new blocks and transactions arrive. With reverse=true
we can change
the order the transactions are returned as latest to genesis. The
limit=<number>
specifies the maximum number of transactions to return
in the result.
GET /wallet/:id/tx/history?time=<median-time-past>&limit=50&reverse=false
GET /wallet/:id/tx/history?time=<median-time-past>&limit=50&reverse=true
The param time
is in epoch seconds and indexed based on median-time-past
(MTP) and date
is ISO 8601 format. Because multiple transactions can share
the same time, this can function as an initial query, and then switch to the
above after
format for the following pages.
GET /wallet/:id/tx/unconfirmed?after=<txid>&limit=50&reverse=false
GET /wallet/:id/tx/unconfirmed?after=<txid>&limit=50&reverse=true
GET /wallet/:id/tx/unconfirmed?time=<time-received>&limit=50&reverse=false
The same will apply to unconfirmed transactions. The time
is in epoch
seconds and indexed based on when the transaction was added to the wallet.
The following new methods have been added (#888):
listhistory
- List history with a limit and in reverse order.listhistoryafter
- List history after a txid (subsequent pages).listhistorybytime
- List history by giving a timestamp in epoch seconds (block median time past).listunconfirmed
- List unconfirmed transactions with a limit and in reverse order.listunconfirmedafter
- List unconfirmed transactions after a txid (subsequent pages).listunconfirmedbytime
- List unconfirmed transactions by time they where added.
The following methods have been deprecated (#888):
listtransactions
- Uselisthistory
and the related methods and theafter
argument for results that do not shift when new blocks arrive.
history
now accepts new args on top of--account
:--reverse
,--limit
,--after
,--after
(#888).pending
now accepts new args, same as above (#888).
-
getHistory
andWallet.getHistory
no longer acceptaccount
, instead accepts object with properties:account
,time
,after
,limit
, andreverse
(#888). -
getPending
andWallet.getPending
have the same changes asgetHistory
above (#888).
- [
0a4cc496
] - #888 - SEMVER-MAJOR wallet: Wallet TX Count and time indexing - (@nodech - Nodari Chkuaselidze and @braydonf - Braydon Fuller) - [
5294be7e
] - #896 - SEMVER-MAJOR wallet: Link bid and reveal - (@nodech - Nodari Chkuaselidze) - [
d754b863
] - #899 - SEMVER-MAJOR wallet-client: rename createAuctionTxs to createAuctionTXs. - (@nodech - Nodari Chkuaselidze) - [
9ddb69e2
] - #883 - SEMVER-MAJOR wallet: Wallet Sync Updates - (@nodech - Nodari Chkuaselidze) - [
fc23f410
] - #782 - SEMVER-MAJOR txdb: Txdb tests and updates - (@nodech - Nodari Chkuaselidze and @pinheadmz - Matthew Zipkin) - [
bb7da60e
] - #859 - SEMVER-MAJOR wallet: Add open/close and connect/disconnect events. - (@nodech - Nodari Chkuaselidze) - [
509ffe5f
] - #882 - SEMVER-MINOR clients: Update wallet and node clients - (@nodech - Nodari Chkuaselidze) - [
f749f5cc
] - #885 - SEMVER-MINOR wallet: set icannlockup to true for wallets. - (@nodech - Nodari Chkuaselidze) - [
419924b2
] - #856 - SEMVER-MINOR chain: Fullnode interactive rescan. - (@nodech - Nodari Chkuaselidze) - [
79994774
] - #803 - SEMVER-MINOR wallet: --preload-all option to load all wallet on open. - (@nodech - Nodari Chkuaselidze) - [
aac7fa7b
] - #869 - SEMVER-MINOR node-http: Add node/chain parameters to the getInfo (/
) - (@nodech - Nodari Chkuaselidze) - [
7bd2078c
] - #866 - SEMVER-MINOR covenant: set methods on covenant. - (@nodech - Nodari Chkuaselidze) - [
7aeb668b
] - #845 - SEMVER-MINOR wallet-http: put send transaction endpoints behind fund locks. - (@nodech - Nodari Chkuaselidze) - [
ceab2a81
] - #900 - migrations: Update migrations - (@nodech - Nodari Chkuaselidze) - [
53780989
] - #906 - net: Remove offline seed node - (@Falci - Fernando Falci) - [
dc4f4f42
] - #884 - net: add nathan.woodburn nodes to seed - (@Nathanwoodburn - Nathan Woodburn) - [
1b331eed
] - #904 - wallet: Add more specific error when linked inputs are pending. - (@nodech - Nodari Chkuaselidze) - [
45c6ac1d
] - #902 - types: Update types - (@nodech - Nodari Chkuaselidze) - [
e88734fb
] - #901 - mtx: - Resolve coins from coinview as well during coinselection. - (@nodech - Nodari Chkuaselidze) - [
e93bd53e
] - #898 - wallet: Add nowFn to wdb options and txdb. - (@nodech - Nodari Chkuaselidze) - [
680a9da7
] - #897 - pkg: Update bdb and other deps. - (@nodech - Nodari Chkuaselidze) - [
1daebd8a
] - #895 - test: change ownership resolver from google to cloudflare. - (@nodech - Nodari Chkuaselidze) - [
fe336aec
] - #893 - test: disable dns-test until c-ares fix. - (@nodech - Nodari Chkuaselidze) - [
0a4f24bd
] - #887 - pkg: update lint and docs. - (@nodech - Nodari Chkuaselidze) - [
5f943173
] - #881 - test: Test cleanup - (@nodech - Nodari Chkuaselidze) - [
349d203b
] - #875 - test: Cover reorg for double open index - (@nodech - Nodari Chkuaselidze) - [
c9e39855
] - #879 - test: add in memory dns cache. - (@nodech - Nodari Chkuaselidze) - [
5955e913
] - #870 - wallet: add tests for the chain state and fix markState - (@nodech - Nodari Chkuaselidze) - [
b6778c4b
] - #876 - pkg: update to es2020. Use latest bslint - (@nodech - Nodari Chkuaselidze) - [
b01d39c2
] - #858 - net: add a new permanently hard-coded seed node - @handshake-enthusiast - [
43e13006
] - #871 - wallet: fix batch styles and jsdocs. - (@nodech - Nodari Chkuaselidze) - [
e3e5e01c
] - #873 - chain: remove unnecessary critical error. - (@nodech - Nodari Chkuaselidze) - [
64468280
] - #861 - wallet: don't add coinbase txs to the pending list. - (@nodech - Nodari Chkuaselidze) - [
bc3c1728
] - #868 - wallet: rescan deadlock fix - (@nodech - Nodari Chkuaselidze) - [
0690c6f3
] - #860 - pkg: clean up unused params. - (@nodech - Nodari Chkuaselidze) - [
4a70d700
] - #863 - test: add unit tests for cipher state - (@nodech - Nodari Chkuaselidze and @kilpatty - Sean Kilgarriff) - [
5582e791
] - #865 - test: abstract some mining heights - (@nodech - Nodari Chkuaselidze and @tynes - Mark Tyneway) - [
5c287c9d
] - #853 - net: Delete duplicates from seed nodes - @handshake-enthusiast - [
e4245e53
] - #852 - txdb: fix conflict event bug. - (@nodech - Nodari Chkuaselidze and @braydonf - Braydon Fuller) - [
7fe7ce41
] - #555 - namestate: improve "stats" object for transfers, expiry and revoke - (@pinheadmz - Matthew Zipkin and @nodech - Nodari Chkuaselidze) - [
2ede2c29
] - #851 - pkg: update bdb to 1.5.1 and use @handshake-org/bfilter. - (@nodech - Nodari Chkuaselidze) - [
4e87fb1d
] - #850 - script: add redundant tests to math ops. - (@nodech - Nodari Chkuaselidze) - [
ab611036
] - #849 - pkg: ci no longer update npm on build. - (@nodech - Nodari Chkuaselidze) - [
61ae19c2
] - #844 - docs: backport release schedule and v6.x notes. - (@nodech - Nodari Chkuaselidze)