* remove unused get_block_records() function
it's only used by one test. It's also a dangerous function since the whole chain may become very large, and may not fit in memory
* fixup tests
* fixup test
* Add an explicit error message when mnemonic words are not in the dictionary; should help users self-service issues like #3425 faster.
* fix lint
* fix lint x2
* Correctly return from bytes without parsing
* Huge speedup for wallet sync
* Lint
* Only construct CoinRecord when necessary
* Punt on creation of coin
* Removing warning log
* Flaky test
* Finally fix flaky test
* spent height
* handle generator reorg
* tx cache
* coin cache
* rebuild cache if write fails
* save last few messages new_peak while syncing
* don't use dupe func
* tx reorg test
* lock not needed
* lint
* lock
* modify properly
* this shouldn't hit a disk ever
* use same number
* notify wallet only once, lock when getting a balance
* lock only if unspent coin records is None
* assert spent
* lint
* Add test for prev generator
Co-authored-by: Mariano <sorgente711@gmail.com>
* Fix duplicate signage point spikes
* Block record not hash
* Fix bugs in signage point cache
* Fix test, and log in debug level
* Change transaction logging to info
* More logging improvements
* compute header_hash once
* read header_hash from the DB instead of computing it
when adding a block to the block store, also add it to the cache. This saves an otherwise mandatory round-trip to the DB.
This was causing a problem where outbound messages, blocked by the rate limiter,
would still increment the counters as-if they had been sent. This, in turn,
could cause other message types to get blocked becuase the rate limiter thought
we had sent a lot of the other (blocked) message type.
* Avoid importing `test_constants` as it takes a long time.
* Factor out `parse_*` functions.
* First crack at refactoring `Streamable.parse`.
* Don't add `_parse_functions` attribute to `Streamable`.
This no longer requires an extra `_parse_functions` attribute on a
`Streamable`, as it may be confusing serializers or other functions
that use `__annotations__`.
* Fix lint problems with `black`.
* Fix `parse_tuple`.
* Defer some parsing failures to parse time rather than class-creation time.
* Tidy up & remove some obsolete stuff.
* Decorate `RequestBlocks` as `streamable`.
* Fix wrong uses of Streamable class
Revert an earlier commit and error out on class creation in case a
Streamable subclass is instantiated incorrectly, e.g. containing a
non-serializable member.
Fix cases where Streamable parent class was forgotten.
* Fix wrong types when creating DerivationRecord and WalletCoinRecord
* additional unit tests for streamable parsers
* add type annotations (#3222)
Co-authored-by: Rostislav <rostislav@users.noreply.github.com>
Co-authored-by: arvidn <arvid@libtorrent.org>
* changed bahviour of wallet and wallet tools for standard solutions
* black formatting wallet_tools
* added a test for hypothetical stolen zero_output coin
* swap to sha256 from sha256tree for message
* fix wallet_tools version, address lint issues
* correctly int_from_bytes
* fix uninstantiated key in dict
* Comment out broken test
* Fix types (used SerializedProgram)
Co-authored-by: Mariano <sorgente711@gmail.com>
* check summaries against wp on long sync
* lint
* move summary check to receive_block
* lint
* lint
* ban peer if bad response during batch sync
* fix typo
* Changed singleton to take puzzlehash as origin.
Updated DID wallet to use this
* fixed hex and sha256tree for singleton puzzle
* require more signature for DID spends
* fix singleton tests
black format did wallet
* fix broken test
fix linting
switch to inline functions
* remove unused defuns from singleton_top_layer
* Start block body tests
* More tests
* More tests
* Improvements and security fixes to block body validation
* Revert bad test changes
* Fix check for ref list size
* Change input to ROM to `(coin-solution-inputs . extras)`.
* Add `deserializer` to `generator_for_single_coin`.
* Fix last test.
* ROM now outputs `(coin-spends . block-level-extras)`