* fix mempool accessing, rewrite get_mempool_entries_by_addresses
* fix counter, add verbose
* fmt
* addresses as string
* Define error in case utxoEntry is missing.
* fix error variable to string
* stop tests from failing (see in code comment)
* access both pools in the same state via parameters
* get rid of todo message
* fmt - very important!
* perf: scriptpublickey in mempool, no txscript.
* address reveiw
* fmt fix
* mixed up isorphan bool, pass tests now
* do map preallocation in mempoolbyaddresses
* no proallocation for orphanpool sending.
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Illustrate the bug through prints
* Change consensus API to a single ResolveVirtual call
* nil changeset is not expected when err=nil
* Fixes a deep bug in the resolve virtual process
* Be more defensive at resolving virtual when adding a block
* When finally resolved, set virtual parents properly
* Return nil changeset when nothing happened
* Make sure the block at the split point is reversed to new chain as well
* bump to version 0.12.4
* Avoid locking consensus twice in the common case of adding block with updateVirtual=true
* check err
* Parents must be picked first before set as virtual parents
* Keep the flag for tracking virtual state, since tip sorting perf is high with many tips
* Improve and clarify resolve virtual tests
* Addressing minor review comments
* Fixed a bug in the reported virtual changeset, and modified the test to verify it
* Addressing review comments
* Logger: change log level for "Couldn't find UTXO entry" to debug
* ignore error for orphans
* continue also if orphans
* check if blocks exist
* safe rpc mode
* limit window size
* verify block status depending on context
* allow a 2 factor gap in expected mergeset size
Co-authored-by: msutton <mikisiton2@gmail.com>
* RPC: include orphans into mempool entries
* no need for + 1
* give request option to choose mempool pool(s)
* add to wallet, fix bg
* use orphanpool rpc to test for orphans
* fix fmt
* fix crash when quering orphan pool in get_mempool_entries
* pass the tests, fix fromAppMessage bug
* Update config_test.go
don't think this is needed
* needed for tests to pass
* inverse to transactionpoolfilter, cut down code to two ifs.
* fmt
* update test to true false, forgot one includetransactionpool renaming
* update and simplyfiy get_mempool_entry handler
* comment outdated
* i think we usually use make instead of var.
* Fix some leftovers of includeTransactionPool
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Fix RPC connections counting
* show incomming connections count
* Use the flag RPCMaxClients instead of the const RPCMaxInboundConnections
* Add grpc server name to log message
Co-authored-by: Michael Sutton <mikisiton2@gmail.com>
* Avoid creating the chain iterator if high hash is actually low hash
* Always use iterator in nextPruningPointAndCandidateByBlockHash
* Initial failing test
* Minimal failing test + some comments
* go lint
* Add simpler tests with two different errors
* Missed some error checks
* Minor
* A workaround patch for preventing the missing utxo child diff bug
* Make sure we fully resolve virtual
* Move ResolveVirtualWithMaxParam to test consensus
* Mark virtual not updated and loop in batches
* Refactor: remove VirtualChangeSet from functions return values
* Remove workaround comments
* If block has no body, virtual is still considered updated
* Remove special error ErrReverseUTXODiffsUTXODiffChildNotFound
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Avoid creating the chain iterator if high hash is actually low hash
* Always use iterator in nextPruningPointAndCandidateByBlockHash
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* start
* pass tests, (cannot get before put!) and clean up.
* add rpc call.
* create and pass tests, fix bugs. fully implement rpc
* As always fmt
* remover old test
* clean up proto comment
* put the logger back in place.
* revert back to 10 sec limit.
* migration, change utxoChanged removal to whole utxoEntryPair, add methods to update circulating supply, intialize circulating supply from reset.
* Update utxoindex.go
* ad
* rename to max, change comment
* one more total to max
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Fix wallet parsing of multi tx data
* Output wallet msgs to stderr when creating/signing tx
* Fix go fmt
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* include utxoIndex and isNearlySynced in GetInfo
* fmt fixing
* add missing IsNearlySynced
* change `isNearlySynced` -> `isSynced` & `isUtxoIndexSet` ->`isUtxoIndexed`
* Add a check for `HasPeers` to make `isSynced` identical to `GetBlockTemplate.isSynced`
Co-authored-by: msutton <mikisiton2@gmail.com>
* add wallet daemon state messages to a terminal window log
* refactoring changed var name to harmonize it
* fix global vars made the part of the "sever" class
* fix log message phrasing
Co-authored-by: Michael Sutton <mikisiton2@gmail.com>
* Move OnBlockAdded event to the channel that was only used by virtualChanged events
* Don't send notifications for header-only and invalid blocks
* Return block status from block processor and use it for event raising decision
* Use MaybeEnqueue for consensus events
* go lint
* Fix RPC call to actually include tx ids
Co-authored-by: msutton <mikisiton2@gmail.com>
* Increase virtualChangeChan to 100e3
Don't crash when sending UTXO RPC notification to a closed route
Throw error if virtualChangeChan is full
* Use MaybeEnqueue in more places
* Remove comment
* Ignore capacity reached errors on MaybeEnqueue
* Wallet synchronization improvement
* Much faster sync on startup
* Avoid double scan of the same address range
* Eliminate 1 sec delay on start
* Rename constant and add numIndexesToQueryForRecentAddresses const
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Use a channel from within consensus in order to raise change events in order -- note that this is only a draft commit for discussion
* Fix compilation
* Check for nil
* Allow nil virtualChangeChan
* Remove redundant comments
* Call notifyVirtualChange instead of notifyUTXOsChanged
* Remove redundant comment
* Add a separate function for initVirtualChangeHandler
* Remove redundant type
* Check for nil in the right place
* Fix integration test
* Add data to virtual changeset and cleanup block added event logic
* Renames
* Comment
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Allow blank address in NotifyUTXOsChanged to get all updates
* To see if address is possible to extract: Check for NonStandardTy rather than error
* Don't swallow errors
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Block template cache improvement
* Avoid concurrent calls to template builder
* Clear cache on new block event
* Move IsNearlySynced logic to within consensus and cache it for each template
* Use a single consensus call for building template and checking synced
Co-authored-by: msutton <mikisiton2@gmail.com>
* Add acceptedTransactionIds to GetVirtualSelectedParentChainFromBlockResponseMessage and VirtualSelectedParentChainChangedNotificationMessage
* Modify appmessage structs to include new fields
* Implement the functionality for acceptedTransactionID notifications
* Add missing field for IncludeAcceptedTransactionIds
* Notify of block added before notifying that chain changed
* Use consensushashing instead of Transaction.ID
* Don't notify of empty virtual changes
* Don't generate virtualChainChanged notification if there's nobody subscribed
* Fix test to not expect empty notifications
* Don't generate acceptedTransactionIDs if they were not requested by anyone
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Added option to choose from address in kaspawallet + fixed a bug with 0 change
* Checking if From is missing
* Fixed after merge to kaspad0.12
* Applying changes also to send command
* Better help description
* Fixed bug where we take all utxos except the one we wanted
* Swallow the parsing error only when we want to filter
* checking for wallet address directly
* go fmt
* Changing to `--from-address`
Co-authored-by: Ori Newman <orinewman1@gmail.com>