What's Changed
- wire, blockchain: don't use blockheightbyhash for height fetching by @kcalvinalvin in #194
- blockchain: refactor code to separate out accumulator verification and modification by @kcalvinalvin in #202
- wire: remove remember indexes by @kcalvinalvin in #203
- indexers: remove multiblock related code from flatutreexoproofindex by @kcalvinalvin in #204
- main, wire: update utreexo lib by @kcalvinalvin in #206
- wire: add msgutreexotx by @kcalvinalvin in #205
- btcutil: add utreexotx by @kcalvinalvin in #207
- mempool, btcd, btcjson, rpcclient: pull in mempool PRs from btcd by @kcalvinalvin in #208
- mempool: refactor fetchInputUtxosFromUData to fetchInputUtxosFromLeaves by @kcalvinalvin in #209
- mempool: take in utreexo data as an argument for checkMempoolAcceptance by @kcalvinalvin in #210
- wire: don't allocate if udata count is 0 by @kcalvinalvin in #211
- wire: use compact leafdata serialization for msgutreexotx by @kcalvinalvin in #212
- mempool, netsync, electrum, main, peer: Use utreexotx by @kcalvinalvin in #214
- netsync: don't ask for blocks from peers on the same block height by @kcalvinalvin in #213
- wire, indexers, main: remove SerializeNoAcc for udata by @kcalvinalvin in #215
- wire, indexers, main: remove compact serialization by @kcalvinalvin in #216
- wire, netsync: change MsgUtreexoTx serialization by @kcalvinalvin in #217
- wire, electrum, netsync, wallet, main: remove udata from MsgTx by @kcalvinalvin in #218
- peer: add debug message for readMessage by @kcalvinalvin in #220
- blockchain, main, wire, indexers: change MsgUtreexoTx serialization by @kcalvinalvin in #219
- main: fix txtotals count by @kcalvinalvin in #221
- netsync: ignore tx invs if not caught up by @kcalvinalvin in #222
- main: don't require node network by @kcalvinalvin in #223
- main, blockchain: fix bug for csns serving txs to other csns by @kcalvinalvin in #224
- wire, netsync: change is sync candidate behavior by @kcalvinalvin in #225
- chaincfg: add checkpoints for signet by @kcalvinalvin in #227
- wire, main, peer, netsync: utreexo header messages by @kcalvinalvin in #226
- wire: update invvect types by @kcalvinalvin in #228
- blockchain: remove udata requirement from ExtractAccumulatorAdds by @kcalvinalvin in #229
- blockchain: remove unneeded chainview from ExtractAccumulatorAdds by @kcalvinalvin in #231
- wire: add msgutreexoproof and msggetutreexoproof by @kcalvinalvin in #232
- peer, main: handle getutreexoproof message by @kcalvinalvin in #233
- main: fix bug in getutreexoheader handling code by @kcalvinalvin in #234
- blockchain: change HaveBlock behavior by @kcalvinalvin in #235
- blockchain: don't assign header as the best tip on maybeAcceptBlockHeader by @kcalvinalvin in #237
- netsync: always download headers first during ibd by @kcalvinalvin in #236
- main: update utreexo lib to v0.3.0 by @kcalvinalvin in #238
- blockchain: add test for ProcessBlockHeader by @kcalvinalvin in #239
- netsync, main: always download headers for blocks by @kcalvinalvin in #240
- netsync: change checkHeadersList behavior by @kcalvinalvin in #241
- wire: add ConstructGetUtreexoProofMsg by @kcalvinalvin in #242
- chaincfg: update signet checkpoint by @kcalvinalvin in #243
- netsync: fix bug in peer selection logic by @kcalvinalvin in #245
- netsync: make log more specific by @kcalvinalvin in #246
- netsync, main: use utreexo proof message to validate blocks by @kcalvinalvin in #244
- blockchain: remove extra unneeded if branch by @kcalvinalvin in #248
- blockchain, netsync: no more headers-first list by @kcalvinalvin in #249
- blockchain, indexers: generate root summaries by @kcalvinalvin in #250
- wire: add MsgGetUtreexoRoot by @kcalvinalvin in #251
- wire: add MsgUtreexoRoot by @kcalvinalvin in #252
- indexers, main: fix off by one root error by @kcalvinalvin in #253
- main: put a minimum of 250mib for utreexoproofmaxmemory by @kcalvinalvin in #254
- indexers: don't add the current state by @kcalvinalvin in #256
- indexers: add FetchMsgUtreexoRoot by @kcalvinalvin in #257
- peer, main: add handling code for getutreexoroot by @kcalvinalvin in #258
- indexers: add utreexoRootsState to utreexoproofindex by @kcalvinalvin in #259
- wire: add SerializeSize for utreexo block header by @kcalvinalvin in #260
- wire, netsync: add includeproof bool to getutreexoheader by @kcalvinalvin in #261
- wire: add proof hashes to msgutreexoheader by @kcalvinalvin in #262
- wire: change to MsgUtreexoSummaries from MsgUtreexoHeader by @kcalvinalvin in #263
- netsync: don't sync based on peer's last block by @kcalvinalvin in #264
- netsync: check that the block summary is good before operating on it by @kcalvinalvin in #265
- netsync: simplify logging in fetchheaders by @kcalvinalvin in #266
- blockchain, indexers, main: migrate utreexo indexes to pebbledb by @kcalvinalvin in #255
- indexers: add block summary state to the utreexo indexers by @kcalvinalvin in #267
- wire: rename get utreexo header to getutreexo summaries by @kcalvinalvin in #268
- main: update utreexo lib to v0.3.1 by @kcalvinalvin in #269
- main: update utreexo lib to v0.3.2 by @kcalvinalvin in #271
- main: update utreexo library to v0.3.3 by @kcalvinalvin in #273
- indexers: add genesis block to the root and block summary accumulators by @kcalvinalvin in #272
- wire: req multiple summaries by @kcalvinalvin in #274
- wire: change maxgetblocks to exponent by @kcalvinalvin in #278
- fix: dead link in
watchonly.goby @rebustron in #277 - netsync: fix unrequested block bug by @kcalvinalvin in #279
- indexers, main: remove ttlindex by @kcalvinalvin in #280
- main, netsync handle multiple summaries by @kcalvinalvin in #275
- indexers, btcjson, main: add rpcserver commands for blocksummarysstate by @kcalvinalvin in #281
- main: update utreexo lib to v0.4.0 by @kcalvinalvin in #282
- chaincfg, wire, main, netsync: verify the proof in the blocksummary by @kcalvinalvin in #283
- wire, indexers, netsync, main: add includeproof bool to getblocksummaries by @kcalvinalvin in #284
- wire: fix bug in GetUtreexoSummaryHeights by @kcalvinalvin in #286
- blockchain: fix bug in setting the bestHeader chainView by @kcalvinalvin in #289
- netsync: correctly set headersFirstMode and startHeader by @kcalvinalvin in #288
- blockchain: verify blockheader if it's not included in bestHeaders by @kcalvinalvin in #285
- wire, main: change getutreexoproof message to use bitmaps by @kcalvinalvin in #290
- chore: make function comment match function name by @linghuying in #292
- chore: fix some function names in comment by @highcloudwind in #293
- blockchain, utreexobackends, main, indexers: update to utreexo lib v0.5.0 by @kcalvinalvin in #297
- indexers: add OverWrite to flatFile by @kcalvinalvin in #298
- main: update utreexo lib to v0.6.0 by @kcalvinalvin in #299
- indexers: write ttls for flatutreexoproofindex by @kcalvinalvin in #300
- indexers: use leafdatas instead of createdHeights for ttl calculation by @kcalvinalvin in #301
- main: update utreexo lib to v0.7.0 by @kcalvinalvin in #302
- indexers: change ttls to uint16 by @kcalvinalvin in #303
- wire, main, indexers, netsync: remove proofhashes from msgutreexoblocksummaries by @kcalvinalvin in #304
- wire, blockchain, netsync: change numAdds to uint64 by @kcalvinalvin in #305
- wire: add msgttls by @kcalvinalvin in #307
- wire: add targets to msgutreexproof by @kcalvinalvin in #308
- indexers: add ttl accumulator by @kcalvinalvin in #309
- netsync, wire, main: don't download summaries by @kcalvinalvin in #310
- indexers, wire: separate out targets, proof, and leafdata in flatutreexoproofindex by @kcalvinalvin in #312
- wire, indexers: change ttls back to uint64 by @kcalvinalvin in #313
- chaincfg, indexers: main save the ttl acc proofs by @kcalvinalvin in #314
- wire, indexers, peer, main: add getutreexottls message by @kcalvinalvin in #315
- wire, netsync: add handle utreexo ttl msg by @kcalvinalvin in #316
- indexers: init blockTTLState on startup by @kcalvinalvin in #318
- netsync, peer, server: add fetch utreexo ttls by @kcalvinalvin in #317
- blockchain: remove unnecessary remembers in ExtractAccumulatorDels by @kcalvinalvin in #319
- indexers, wire: add deathpos to the ttl message by @kcalvinalvin in #320
- chaincfg: update committed utreexo ttl state by @kcalvinalvin in #321
- netsync: calc targets from ttls by @kcalvinalvin in #322
- btcutil, netsync: don't download ttls when checkpoints are off by @kcalvinalvin in #323
- blockchain, indexers: add clairvoyant caching by @kcalvinalvin in #324
- blockchain, indexers, utreexobackends: add sstable based flush by @kcalvinalvin in #325
- indexers: fix off by one bug in fetchTTLs by @kcalvinalvin in #326
- wire: add checks to ensure that the utreexo related messages do not go over the max message size limit by @kcalvinalvin in #327
- indexers, blockchain, utreexobackends, main: update utreexo lib by @kcalvinalvin in #330
- netsync, blockchain: fix assume utreexo by @kcalvinalvin in #331
- chaincfg: update assumeutreexo point for signet by @kcalvinalvin in #332
- bdkwallet, bdkgo, main, btcjson: update bdk to v2.1.0 by @kcalvinalvin in #337
- readproofstats, indexers: add readproofstats cmd by @kcalvinalvin in #334
- wire, blockchain, netsync, chaincfg: change ttlInfo by @kcalvinalvin in #338
- netsync: remove unused sm.nextCheckpoint by @kcalvinalvin in #339
- netsync: remove unused startheader by @kcalvinalvin in #340
- netsync: change getdatasize length to MaxUtreexoTTLPerMsg by @kcalvinalvin in #341
- wire, netsync: remove unused utreexo summaries by @kcalvinalvin in #342
- wire: fix incorrect MaxGetUtreexoProofSize by @kcalvinalvin in #343
- Add sub title for bridge node to readme by @gandlafbtc in #345
- main: fix bug in getutreexoproofs rpc by @kcalvinalvin in #347
- main: update utreexo library to v0.11.0 by @kcalvinalvin in #349
- aggregator: add helper functions for aggregator by @kcalvinalvin in #350
- chaincfg: add new checkpoint so that we're checkpointed til the end of ttl state by @kcalvinalvin in #351
- blockchain: remove unneeded caching code by @kcalvinalvin in #352
- blockchain, aggregator, chaincfg, main, netsync: implement utreexo swiftsync by @kcalvinalvin in #348
- blockchain, netsync: enable swiftsync aggregator checks with --nocheckpoints by @kcalvinalvin in #354
- main: refactor pushTxMsg to pushTxMsg and pushUtreexoTx message by @kcalvinalvin in #355
- btcutil: refactor and add utreexo proof and leafdatas to btcutil.Block by @kcalvinalvin in #356
- btcjson, main, rpcclient, docs: submit block and utreexo proof by @kcalvinalvin in #358
- btcutil, blockchain, indexers, wallet, netsync, main: don't use msgblock udata by @kcalvinalvin in #359
- main, wire, peer, integration: get rid of utreexoenc by @kcalvinalvin in #361
- wire, btcutil: remove UData from MsgBlock by @kcalvinalvin in #362
- treap: improve immutable treap by @kcalvinalvin in #363
- treap, ffldb: use immutable treap by @kcalvinalvin in #364
- blockchain, bloom, rpctest, mining, main: rolling merkle by @kcalvinalvin in #365
- integration, blockchain, netsync: add reorg integration test by @kcalvinalvin in #366
- netsync: add netsync tests by @kcalvinalvin in #367
- wire: revert max block size by @kcalvinalvin in #368
- wire, blockchain, btcutil: fix utreexo data download by @kcalvinalvin in #369
- main, .github, indexers: change forest backend by @kcalvinalvin in #371
- wire, indexers, netsync: remove deathpos from ttl by @kcalvinalvin in #373
- indexers: call m.FLush() by @kcalvinalvin in #374
- Pull p2pv2 from the upstream btcd repo by @kcalvinalvin in #375
- chaincfg: update the signet ttl params by @kcalvinalvin in #376
- netsync: deduplicate block requests across peers in fetchHeaderBlocks by @kcalvinalvin in #377
- wire: wire update for utreexo messages by @kcalvinalvin in #379
- main, wire: bump utreexo lib to v0.14.0 by @kcalvinalvin in #380
- Bump version to v0.5.0-beta by @kcalvinalvin in #381
New Contributors
- @rebustron made their first contribution in #277
- @linghuying made their first contribution in #292
- @highcloudwind made their first contribution in #293
- @gandlafbtc made their first contribution in #345
Full Changelog: v0.4.1...v0.5.0-beta