You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* start by refactoring block index into a read-through cache
* best chain and header chain with read through cache
* check bestHeaderChain.ChainMap ONLY when processing pos headers
* updates for locating headers and faster cache usage
* more fixes
* more fixes
* more fix, specifically around .Ancestor
* bump test timeout
* load all blocks after committed tip in block index
* fix GetBlockNodeByHashAndHeight - no need for checking height > maxHeight
* bump timeout to 60m
* try hashicorp lru cache
* Fix up some more tests and remove logging
* fix string slice workaround, fix calc next difficulty
* use best header chain instead of best chain for calc next difficulty target
* fix tests
* refactor to just use a block hash for best block chain and best header chain representation
* move block index migration to NewBlockchain instead of NewServer, add setting committed status for PoW nodes, remove timeout adjustment in test.Dockerfile
* merge main into branch
* handle case where we haven't hit PoS cutover yet in block index migration
* cleanup
* do some sampling for is fully stored and check archival mode
* fix get blocks to store
* cleanup
* make a bunch of methods on block index private and expose block index to backend
* don't bother healing orphan pointers if we're syncing
* refactor to reduce number of times we have to call hash and don't bother healing orphan pointers during syncing
* upgrade cloudflare/circl
* Ln/replace best chain plus replace old lru cache (#1414)
* replace decred lru with hashicorp lru
* fix usage of delete -> remove
* fix calc next difficulty target issue
* upgrade cloudflare/circl
* go mod tidy
* expose SetBestChain
* fix exit condition for GetBlocksToStore
* use bytes.Equal instead of reflect.DeepEqual for comparing block hashes
* use get block from best chain by height to speed up syncing
* fix condition for returning from get block by hash
* revert using get block from best chain by height
* add height check to reduce calls to compare hashes
* fix exit condition for height in get block from best chain by hash
* allow early return from GetBlockFromBestChainByHash if we're using header chain and the header is validated if we're syncing
* minor enhancement to isTipCurrent
* fix txindex issue w/ genesis block
* fix process block pow logic for genesis block
* fix - get next block after tip hash in update process of txindex
* reduce direct access to BlockNode.Parent and get rid of heal orphan pointers since we don't need it
* fix postgres get best chain logic
* Ln/downgrade badger (#1430)
* downgrade badger, ristretto, and klauspost/compress dependencies
* go mod tidy
* remove LocateBestBlockChainHeaders and replace with DH suggestion. flush headers in a batch at the end of each bundle, merge in latest main
* make GetUtxoViewAndUtxoOpsAtBlockHash public
* cleanup
* change GetBlockFromBestChainByHash to GetBlockFromBestChainByHashAndOptionalHeight to improve performance when height is available
* use GetBlockFromBestChainByHashAndOptionalHeight in GetBlockNodesToFetch
* nuke locator and inventory logic, just return a slice of the tip hash
* move check in should verify signatures up in function to reduce amount of times we need to fetch a block node we clearly know isn't there
* reduce size of block index cache
* use header chain for get blocks to store
* fix return value from processHeaderPoW
* disable deadlock detection around putting block nodes into db after handling snapshot
* add more logging as we're processing headers after finishing downloading snapshot
* iterate backwards to update status of block nodes after finishing hypersync
* fix set tip call since we reverse backwards through the block nodes at the end of hypersync
* small clean up, add some todos
* add more comments and TODOs and clean up for all files except blockchain.go, pos_blockchain.go, pos_blockchain_test.go, and server.go
* contains -> exists for lru cache
* add comments in blockchain.go
* add more comments and cleanup. remove block index by height, just go to db for clarity
* Fix tests and always flush PoW headers in process header pow so calc difficulty logic works
* add comment about slowness
* write faster GetHeadersForLocatorAndStopHash
* fix typo
* include committed tip in header locator, fix walkback to committed tip in get lineage, fix get block noders to fetch to walk back on the best chain
* adjust log level for highest committed block in GetUtxoViewandUtxoOpsAtBlockHash
* clean up comments
* remove load block index from height function. it's not necessary
* fix TestShouldReorg
* revert change to should reorg
* only compute BMF if we're passed PoS block height
* remove usage of ParsePubKey from btcec lib in connect block logic
* adjust log level for get utxo view and utxo ops at block hash. add logging in run block index migration
* add enhancement to get cached block view
* remove unnecessary log
* fix block index migration
* don't use cache in get utxo view and utxo ops at block hash
* use GetParent where applicable. fix start up
* add comment about why 'optimization' actually doesn't work
* Revert one usage of GetParent
* log start of handleBlockProposalEvent, simplify get safe block nodes
* put getMaxSequentialBlockHeightAfter back in
* don't need to call getMaxSequentialBlockHeightAfter
* add param to enumerate keys for prefix to disable prefetch
* try using stream for iteration
* revert usage of stream api in GetBlockNodesByHeight
* reduce logging in pos_consensus.go
* add more logging
* add more logging as suggested by DH
* add logging in getStoredLineageFromCommittedTip
* add one more log
* add more logging in getStoredLineage
* Ln/replace best chain plus no blocknode parent (#1439)
* remove blockNode Parent attribute
* patch GetBestChain
* try to resolve nil pointer
* clean up code
* Adjust log levels and only handle inv requests when chain state is fully current
* reduce log level, fix PG tests
* go mod tidy
* reduce size of walkback in initChain to 6 hours
* update GetSpendableDeSoBalanceNanosForPublicKey
* fix GetSpendableUtxosForPublicKey
* revert changes for get spendable balance and utxos. update get spendable balance to not use Header.PrevBlockHash
* update some error messages
* switch HandleInv to respond based on isSyncing function rather than chain state = fully current
* skipping invs for peer - log level 3
* loop over locators in GetHeadersForLocatorAndStopHash
* switch handleInv to only when fully current
* skip update after connect/disconnect block hooks in legacy mempool if block is pos block
* update GetBlockNodesToFetch to use GetParent
* Clean up
* revert HandleInv to use isSyncing instead of checking for SyncStateFullyCurrent
* fix IsFullyStored
* Revert LatestHeaderLocator changes
* more closely replicate old LatestLocator function, also use this function in new HeaderLocatorWithNodeHashAndHeight which replaces HeaderLocatorWithNodeHash
* use DerivedKeyEntry.Copy in utxo view copy
* add optimization in get block nodes to fetch
* add validatorPK in error about duplicate validator public key
* replace best chain branch w/ dep upgrades
* bump to go 1.24
* use ristretto v2
* fix error.Wrapf issues
* use true for isHeaderChain in LatestLocator
* upgrade glog dep
* add oleiade/lane dep
* downgrade badger to v3
* fix reference to ristretto
* set ristretto version to 0.2.0 to match previous state
* use default options for legacy mempool
0 commit comments