* full_node: Rename `FullNode.resond_block` to `FullNode.add_bock`
The naming `respond_block` is confusing here imo, we have a full node
API method called `respond_block` but here in the `FullNode` class this
method is there to try adding a block to the full nodes's chain so i
think `add_block` is the better choice?
Also change the `respond_block: full_node_protocol.RespondBlock`
parameter to `block: FullBlock` which lets us get rid of many
`full_node_protocol.RespondBlock` wrappings.
* `FullNode.receive_block_batch` -> `FullNode.add_block_batch`
* `receive_unfinished_block` -> `add_unfinished_block` + change parameter
* `FullNode.respond_transaction` -> `FullNode.add_transaction`
* `FullNode.respond_end_of_sub_slot` -> `FullNode.add_end_of_sub_slot`
* `FullNode.respond_compact_vdf` -> `FullNode.add_compact_vdf`
* `respond_compact_proof_of_time` -> `add_compact_proof_of_time`
* `respond_transaction_semaphore` -> `add_transaction_semaphore`
* fix test asserts to not require the same object, just the same value
* make Mempool's implementation private and give it a public interface
* fixup test that used to count fee *levels* but now count transactions
* bump chia_rs to latest version
* add new error codes for ASSERT_BEFORE_* condition failures, ASSERT_CONCURRENT_SPEND failing, ASSERT_CONCURRENT_PUZZLE_FAILED and for impossible constraints
* add new condition opcodes for ASSERT_BEFORE_*, ASSERT_CONCURRENT_SPEND and ASSERT_CONCURRENT_PUZZLE
* fixup Spend and SpendBundleCondition types
* fixup tests that otherwise fail with MINTING_COIN
* fix test that otherwise would fail with RESERVE_FEE_CONDITION_FAILED
* remove use of NO_NEG_DIV flag. It's now implied
* remove duplicate test parameters
* preliminary test_pool_rpc refactor
* remove todo
* handle some todos
* one more
* wait for wallets to sync in the fixtures
* drop an extra wallet
* drop unused function
* move SerializedProgram into its own file (to fixup type annotations)
* fix type annotations for SerializedProgram
* fixup import statements for new SerializedProgram module
* configure isort to add the future annotations import
* apply the new isort setting
* remove type ignores for new mypy (#13539)
https://pypi.org/project/mypy/0.981/
* another
* create new test.simulator module
to allow other packages to use the simulator without it crashing.
also tiny QOL fixes
* change user mode sim plot filter
Now only plots matching the user set fingerprint are loaded, this decreases the chance of user error.
* fix small oops in configure
* oops
* fix lint
* isort, who dis
* move folder over to chia/simulator
also change mypy settings again
* remove extra bt from as many tests as possible
max speed
* wallet bt tools removal
* fix error & add bt_tools to yield
* final changes
L bozo
* something funky going on
* fix issues
* a couple more fixes
* mypy happy
* damn lint
* Revert "something funky going on"
This reverts commit 1fcc9a34e1.
* change DBWrapper -> DBWrapper2 in wallet. rip out all transaction tracking threaded through the wallet (because DBWrapper2 uses nested transactions)
* fix logging
* fix pending_changed callback in wallet_node
* Add Windows CI
* rebuild workflows
* rebuild workflows
* try different activation
* catch up windows workflow template
* debug dir
* hard code dev extra on windows
* it is pytest
* .exe
* -m pytest for windows
* --module pytest
* Revert "debug dir"
This reverts commit 74b5bbfd92.
* debug pkg_resources import on windows
* debug tests.conftest import on windows
* rebuild workflows
* debug
* debug oops
* debug more
* debug more
* Update pytest.ini
* Update pytest.ini
* fix it
* Revert "debug more"
This reverts commit 367ed61dfa.
* Revert "debug more"
This reverts commit 772b6707c6.
* Revert "debug oops"
This reverts commit 5065c1e172.
* Revert "debug"
This reverts commit ecf721e453.
* Revert "debug tests.conftest import on windows"
This reverts commit ea71a51625.
* Revert "debug pkg_resources import on windows"
This reverts commit eb6afb1dfb.
* more warning ignore
* they're regexes...
* --numprocesses 0 for windows ci
* specify each test file individually since pytest on windows does not seem to handle the wildcards
* relative...
* select most recent supported python on windows, support INSTALL_PYTHON_VERSION
* sort test files when generating workflows
* report full python version on windows, actually use the selected version for the env
* oops
* debug dir
* skip timelord-requiring jobs on windows
* oops
* handle wildcard expansion for coverage on windows
* rebuild workflows
* download blocks and plots on windows
* correct and and or in yaml
* -d for Install.ps1
* git config --global core.autocrlf false
* add missing windows plot_sync workflow
* no check resource usage on windows
* delete outdated windows workflows that need the timelord
* catch up windows workflow template
* try again without xdist
* rebuild workflows
* Revert "try again without xdist"
This reverts commit 4bedf5f047.
* maybe now no xdist on windows
* maybe now no xdist on windows
* rebuild workflows
* debug chiapos==1.0.9
* Revert "debug chiapos==1.0.9"
This reverts commit 4b374e128a.
* debug blspy==1.0.9
* catch up windows workflow template
* rebuild workflows
* Various windows CI fixes
* Windows CI fixes and workflow updates
* ignore another warning for the keyring
* pre-commit fixup
* rebuild workflows
* catchup windows test workflows with long_lived/** and release/** setup
* Update test_full_sync.py
* Try without parallelization
* Some other tweaks for windows
* some more timeout tweaks
* more timeout tweaks for windows
* rebuild workflows
* Adjusting more timeouts
* Skip ipv6 test on windows
* More timeout tweaks
* More timeout adjustments
* More time out adjustments
* more windows tweaks
* Try running some things with -n 0
* Fix up windows test template and re-gen workflows
* Try this again
* Try all windows tests with -n 0
* misc update
* Undo some timeout changes
* Adjust timeout
* Increase timeout
* Coverage combine should combine the files in the current directory
* Trying retry test on windows
* timeout adjustment
* use tmp_path
* Few minor updates based on review
* lint fix
* Update tests/build-workflows.py
* Update tests/core/server/test_dos.py
* Try windows with pytest xdist n=2
* Check windows with xdist n=3
* Trying n=2 again
* Adjust timeout
* Update testconfig.py
* Update build-workflows.py
* Update testconfig.py
* Update .pre-commit-config.yaml
* Update testconfig.py
* Update build-workflows.py
* Update build-test-macos
* Update build-test-ubuntu
* Update build-test-windows
* skip
* Apply suggestions from code review
* tidy
* Update test_pool_config.py
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
* port 0 to fix flakiness
* Try fixing setup_full_system
* Try fixing setup_full_system, and lint
* More attempts to fix
* No more calls to get random ports in setup_nodes
* Revert accidental changes
* Timelord extra arg
* Try with port 0
* Fix daemon test, and lint
* Try without 0.0.0.0
* Back to 0.0.0.0
* Try a few timelord changes to get test running
* Increase timeout again
* Use the correct interface to get the port
* INFO logging to debug issue
* Revert "INFO logging to debug issue"
This reverts commit 7c379e5cca.
* Fix advertised port log
* Add extra log
* Logging back
* Rollback the timelord changes
* Try port 0 timelord
* Revert "Try port 0 timelord"
This reverts commit 4997faf3b2.
* Try full green, change ordering
* Remove unused var
* speed up simulation and cleanup
* Now try without the port config
* Fix a flaky call to get_event_loop
* Try getting the port dynamically
* No dynamic port
* Try changing the ordering
* Try adding a sleep
* Back to what works
* Timelord before vdf clients
* Dynamic port for 1st timelord
* Revert "Dynamic port for 1st timelord"
This reverts commit 0f322a15b7.
* Revert "Timelord before vdf clients"
This reverts commit 3286c34696.
* Revert "Back to what works"
This reverts commit 30380dffb7.
* Revert "Try adding a sleep"
This reverts commit 9212b665a6.
* Revert "Try changing the ordering"
This reverts commit a62597d70d.
* Revert "No dynamic port"
This reverts commit 5d2e15749b.
* Revert "Try getting the port dynamically"
This reverts commit ef9cd75679.
* Revert "Fix a flaky call to get_event_loop"
This reverts commit 01a000fdfb.
* Try one to 0
* Just not 0
* Don't get port dynamically
* Cleanup a bit
* Fix
* Some cleanup work
* Some cleanup work
* Fix daemon test
* Cleanup
* Remove arguments
* Increase some of the timeouts to reduce flakiness
* Experiment with CI for flakiness
* Force more runs
* Add argument name
* Fix flaky mempool test
* Attempt to fix another flaky test
* Fix wallet retry test
* Missing arg
* Lint
* Increase benchmark test time
* Debug
* Debug
* Simplify retry test
* Lint
* More lint
* Return false instead of assert
* No need to check disconnect twice (since we don't break, this was flaky)
* Remove useless changes
* Accidental changes revert
* Accidental changes revert 2
* Accidental changes revert 3
* Revert fixture
* add exact match and best exact match algorithms
* optimize algorithm further
this might be good.
* lint
* fix bad logic
* add final algorithms
* delete lint
* oops
* Update coin_selection.py
* simplify and fix knapsack algoritm
* simplify code and correct logic
* make it way better.
* clarify comments and check for edge cases.
* add comments and stuff
* improve coin selection
addressed comments
Thanks!
* add coin_selection rpc tests.
* clean up and add new unit tests
* undo test changes
* add extra test cases
* move coin_selection to its own function and switch to it for cat and main wallet.
* add cat tests
* lint
* make function align with standards
also removed test
* make test better
* add proper types
* Improve code clarity
* wallet: fix coin selection bugs
* wallet: add an assert just in case
* tests: add some sleeps to reduce flakiness
* Isort
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* fix bad merge
* lint
* fix tests
* address aforementioned changes.
* remove wallet test
* isort
* more tests and fixes
* lint
* rename to amount for coin selection rpc
* fix incase we have no smaller coins
* fix tests + lint
* re add asserts
* oops
missed me.
* lint
* fix test
* Squashed commit of the following:
commit 34a2235de5
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Apr 13 10:09:42 2022 -0400
clarify comment
commit adbf7f4f94
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Tue Apr 12 20:27:05 2022 -0400
linty lint
commit 5ebc1ac9fd
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Tue Apr 12 20:17:19 2022 -0400
add failure test and final changes
commit 7e5a21b4c2
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Tue Apr 12 19:35:18 2022 -0400
add descriptions and slim down code
commit 31c95b916d
Merge: d7b91295bd9b0ef5f3
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Mon Apr 11 10:12:05 2022 -0400
Merge branch 'jack-cat-coinselection' into jn_coinselection_dust
commit d7b91295b5
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Sun Apr 10 20:31:09 2022 -0400
lint
commit 30dc7c0ab4
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Sun Apr 10 20:25:52 2022 -0400
fix tests
commit 6c8c2e4874
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Thu Mar 31 15:06:00 2022 -0400
remove duplicate code.
commit 9f79b6f304
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Thu Mar 31 15:01:10 2022 -0400
address more concerns
commit 67c1b3929f
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Thu Mar 31 12:59:05 2022 -0400
fix logic error
commit 2d19a53245
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Thu Mar 31 11:47:52 2022 -0400
simplify and de duplicate code
commit 6ab1cc79bb
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 21:34:50 2022 -0400
add function and select individual coin
commit 582c17aa8d
Merge: ce2165942618fbaeba
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 21:14:37 2022 -0400
Merge branch 'jack-cat-coinselection' into jn_coinselection_dust
commit ce21659429
Merge: 16aabb3fd6daba28db
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 20:53:21 2022 -0400
Merge branch 'jack-cat-coinselection' into jn_coinselection_dust
commit 16aabb3fd5
Merge: 0b9fc28452286fe426
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 20:49:02 2022 -0400
Merge branch 'jack-cat-coinselection' into jn_coinselection_dust
commit 0b9fc28455
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 20:38:12 2022 -0400
lint
commit 62e74c72f4
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 20:34:22 2022 -0400
fix logic and tests
commit e738f44320
Author: Jack Nelson <jack@jacknelson.xyz>
Date: Wed Mar 30 18:52:05 2022 -0400
deal with dust and add tests
* make sure that we do not use any dust
* minor change
* address concerns
* adjust comments
* adjust comment
Co-authored-by: Mariano Sorgente <sorgente711@gmail.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Resend transactions
* Don't recheck transactions more frequently than timeout
* Add wallet resend parameter to config, move timeout code out of tx store, but close to call site
* Add a test for wallet transaction resend
* Add test for wallet retry
* isort new files for precommit and update workflows
* Use correct fixture name
* LGTM - remove unused import
Co-authored-by: Earle Lowe <e.lowe@chia.net>
* Fix the case of claiming a large number of coins with a fee from a pool wallet
* Revert change to unrelated test
* Set PoolWallet.DEFAULT_MAX_CLAIM_SPENDS to 300
* A few review improvements