* attempt to save time hashing PeerInfo objects in introducer, by moving attributes from hash tables into the peer object itself, where it belongs
* only remove peers after a few failures in a row, not immediately. Ensure we don't check peers too frequently.
* squash
* rebase cleanup
* cost
* Combine adam's and straya's PRs
* Fix cost test
* Fix another test
* Improve safety in reorgs
* Improve wallet in reorgs
* Improve wallet in reorgs
* Bug in reorg handling
* Bug in reorg handling, and fix test
* Band aid
* Comment out to pass test
* Comment out test
* rebase clean
* USe a list of reference generators
* create
* Integrate Block Compression
* Fix generator argument creation
* improve test
* update block tools
* Separate CompressorArg and GeneratorArg, improve type hints
* First crack at `list_to_tree`.
* Integrate generator arguments as tree
* End to end test for generators
* Fix linting issues, hook up things, and add a test
* tidy GeneratorArg test
* Get compression and decompression working in full node
* Fix fetching block generator from DB in multiprocess
* Fix edge case in reorgs, test many combinations of reorgs
* reduce max number of generators refs allowed in a block
* Apply Straya's fix for calculating the end index for generator args
* typos
* Run test_block_compression for a transaction large enough to force multiple input coins in the transaction
* Update generator compression tests for treearg change and decompressor offset args fix
* Fix merge conflict
* Fix test
* Fix full node tests
* Don't make full blocks
* fix lint
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
Co-authored-by: Richard Kiss <him@richardkiss.com>
Require that a conflicting SpendBundle must not only have higher fee per
cost, but also increase the total fee by at least 0.00001 XCH and spend
all coins that were spent in the set of conflicting SpendBundles.
Refactor and update tests of conflicting spends (aka double spends) in
mempool.
Co-authored-by: Rostislav <rostislav@users.noreply.github.com>
* deleted blockchain_check_conditions and added optional timestamp to mempool_check_conditions
* removed unnecessary code
* change back to < for block height
* time now passes on equal to condition value
* Add test for relative seconds
* rebased on top of main
* Renamed AGG_SIG to AGG_SIG_UNSAFE
Renamed height and time conditions
Changed some demo p2 puzzles to use AGG_SIG_ME
* fix merge on cost_calculator
* update hex and sha256tree of p2_delegated_conditions
* fix condition name in rl clvm
* updated the innerpuz sha256tree after careful inspection
* update cost and max cost according to new plan
of even split between (1) generator program size (2) generator program CPU and
memory costs (3) CREATE_COIN conditions for and archetype block with 1000
vanilla transactions, 2 inputs and 2 outputs each.
update costs of conditions to use the same unit (as CLVM). Remove CLVM_COST_RATIO_CONSTANT
Add COST_PER_BYTE constant, defining the cost for each byte of generator program.
* bump clvm and clvm_rs versions
* fix typo in setup.py
* Specified two types of create_announcement
* Fix create_announce_with_puzhash in specific situation
* Removed unnecessary announcement functionality from a bunch of place
* Added tests for puzzle announcement and wallet features
* fix tests/clvm/coin_store.py to use new announcements
* fix test_blockchain_transactions
* update test_blockchain_transactions to use real names
* remove lingering ConditionVarPair
* Fix another lignering CVP issue
* fix broken test imports
* fix puzzle announcement test
* change announcement_names to set and rename some functions for clarity
* Rename conditions for consistency
* typing and typo fixes
* fix name conflict in test
* fix test coin_store to use sets
* renumber opcode
* force recompile and small fixes for new conditions numberings
* add sha256tree files for updated hex files
* Start aggsig me
* Pass in genesis challenge
* Update DID, and remove useless functions from coinbase.py
* Unused imports
* Revert GUI
* Use a different constant so forks of chia can easily change it
* Remove overflow from list, and remove useless call to handle_eos
* Unindent
* Changes to mempool
* tests
* progress on tests
* Add tests for new mempool
* Fix lint and revert streamable changes
* Improve logging
* Test level warning
* Fix test
* Increase mempool size to 150x
* Improve performance of streamable
* __annotations__ instead of get_type_hints
* Fix overly strict type checker
* Lints and fix test
* Lint
* Adds support for empty streamables
* Use different strategy to fix lint and support empty Streamables
* Test for empty streamable
* Changelog
* lock for all writes
* use async with where convinant
* wrapper
* more
* lint
* update wallet
* rl wallet
* indentation
* fix tests
* bad path merged into main
* wallet lock
* refacoted by mistake
* re-raise
* memory/disk inconsistency
* more inconsitency
* asyncio.cancelled is baseexception in 3.8 and 3.9