* initial hack
* crawler
* add pytz
* Checkpoint.
* Catch some bugs.
* Localhost dig working.
* Checkpoint: return only high quality nodes.
* Statistics.
* Try improving finding reliable nodes.
* Bug.
* Move db to memory.
* Timestamp in the last 5 days.
* Increase crawl parameters, 180+ connections per sec.
* Bug.
* Optimize for DNS traffic.
* Prepare for hosting.
* Minimum height.
* Typo.
* Try catch everything.
* dnslib.
* Add db, format code.
* nits.
* No connections for the dns server.
* Rename src -> chia
* Fix some issues with v1.1
* Crawler task pool.
* Optimize closing connections.
* Split crawler and dns server.
* Install instructions.
* Catch startup bug.
* Try a big timeout for lock aquire.
* lint.
* Lint.
* Initial commit extended stats.
* Simplify code.
* Config.
* Correct stats.
* Be more restrictive in crawling.
* Attempt to fix stats bug.
* Add other peers port to config.
* Update README for the config.
* Simplify crawl task.
* Fix bug on restarts.
* Prevent log spamming.
* More spam prevention.
* Fix bug.
* Ipv6 (#1)
* Enable ipv6.
* Fix bug.
* Use numeric codes for QTYPE.
* ANY working.
* More spam prevention.
* Try to improve IPv6 selection.
* Log IPv6 available.
* Try to crawl more aggresive for v6.
* rename dns.py to crawler_dns.py so it doesn't conflict with imported package names
* Remove pytz package off dependencies
* Tidy-up ws_connection.py
* Fix spelling
* Reinstate chia-blockchain readme, with additional lines pertaining to the DNS introducer & crawler
* More detailed info in the README wrt Chia Seeder
* Nit
* More memetic naming of Chia Seeder
* Nit
* Add entry points
* Add entry in packages
* Patch some methods on the upstream server
* Update peer record fields
* Standard library imports first
* Crawler API check
* Reconcile crawl store
* Account for crawler_db_path in config
* Await crawl store load DB and load reliable peers
* Updates to crawler
* Rename to dns_server
* Crawler-specific overrides for the chia server
* Edit comment
* Undo changes to ChiaServer in view of crawler-specific overrides introduced in previous commit
* Nit
* Update service groups
* Expand name maps, mostly
* Fix the init config
* Remove unused import
* total_records unused at this stage
* Remove ios_reliable in peer_reliability table
* Remove row[20] entry
* Split overly long line
* Fix
* Type hint for ns_records
* Reconcile mismatch btw type int and uint64
* Type annotations in crawler
* Check whether crawl store is set
* Remove upnp_list
* Lint
* Chia Seeder CLI
* Lint
* Two white spaces
* 3rd party package import
* Cleaner way to handle overrides for ChiaServer method
* Address linter warnings
* Rename
* Nits
* Fix
* Change port #
* Most chia_seeder commands up and running
* Rename
* Progress of sorts
* Fix
* Improve legibility
* Fix naming
* Fix setup.py
* Lint
* None -> ''
* Remove whitespace
* Rename
* Log ipv6 better. (#9227)
* Log ipv6 better.
* Lint.
* -
* Undo GUI changes
* Another attempt
* GUI changes
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Florin Chirica <fchirica96@gmail.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
* Install .[dev] in CI tests
* only install pytest-monitor on linux, as before
* add -d to install.sh for dev extras
* handle invalid options to install.sh
* rebuild workflows
* Serialize/deserialize peer data alongside existing sqlite implementation (to be removed)
* Simplified AddressManagerStore. No longer uses sqlite and is no longer async.
* Removed aiosqlite usage from AddressManagerStore.
Added PeerStoreResolver class to determine the appropriate location for "peers.dat"
Updated initial-config.yaml to include "peers_file_path" default, replacing "peer_db_path" (similar change for "wallet_peers_path")
* Minor comment changes/additions
* Added migration from sqlite peer db.
Made AddressManagerStore's serialization async as it was right at the edge of blocking for too long.
* Minor tweaks to checking for migration
* Removed AddressManagerSQLiteStore class scaffolding
* makePeerDataSerialization now returns bytes instead of a PeerDataSerialization object
* Async file I/O for write_file_async using aiofiles
Added more tests
* Separate out the synchronous part of move_file
* Renamed write_file to files since we're opening up the capabilities a bit
* Update references to write_file
* Renamed test_write_file to test_files
* Tests covering move_file and move_file_async
* Minor refinements to behavior and tests
* Use aiofiles for reading peers.dat
* Added missing mypy typing info for aiofiles. Also added types-PyYAML to dev_dependencies so that `mypy chia tests` doesn't require running with --install-types
* Add types-aiofiles to the linting workflow
* Directory perms can now be passed into write_file_async.
Added an explicit f.flush() followed by os.fsync() after writing the temp file contents.
* Initial commit add plotters.
* Lint.
* Add progress for bladebit.
* Address some review comments.
* Oops...
* Add install option.
* Change chiapos to fit the old standard.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/install_plotter.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Lint.
* Remove farmerkey as required.
* Chia plotters chiapos works with no arguments.
* Added get_plotters RPC to support the GUI (#8530)
* Added 'get_plotters' daemon RPC. Probes installed/available plotters on behalf of the GUI.
* Linter fix
* Minor type tweak
* Tweaks.
* Run with default arguments all plotters.
* Fix bug.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Change bladebit repo.
* Update chia/plotters/bladebit.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Update chia/plotters/plotters.py
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
* Re-added the connect-to-daemon hidden option
* Use connect_to_daemon value for madmax and bladebit plot key resolution.
* Updated --tmp_dir, --tmp_dir2, --final_dir options to match old options from chia plots create
* Add CONNECT_TO_DAEMON as a valid option for madmax/bladebit
* Thread multiplier should be an int
* Passing params for madmax to start_plotting. Still needs cleanup/refactoring.
* Update chia/plotters/bladebit.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Update chia/plotters/madmax.py
Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Filename option -z.
* Factor out calling the plotter.
* First attempt refactor install scripts.
* Switch to exec.
* Attempt to fix mypy warning.
* Remove filename.
* Increase RLIMIT_NOFILE for madmax on non-Windows platforms
* Add trailing path separator to madmax tmpdir/tmp2dir/finaldir arguments (required by madmax)
* Fixes to support madmax plotting from the GUI.
Writing output from the plotters now includes a flush to ensure the plotter log (used by the GUI) is updated frequently.
* Handle madmax's tmptoggle option internally when plotting with the GUI
* Formatting and linter fix
* Fixed the -i option for bladebit
* Construct BladeBit plotting options
* Cleanup code for building plotter command line options
* Added a post-processing step after each plotting job completes. Adds the final_dir plot directory as necessary.
* Fix plotter root path
* Reverting prior checkin. Need to figure out how to handle CHIA_ROOT being overridden
* BladeBit support for Windows
* BladeBit's --memory-json option is used to check memory requirements
* Madmax Windows support
* Plotters directory is now under CHIA_ROOT
* Madmax version detection
* BladeBit will default to 0 threads. BladeBit will max-out available threads with this configuration.
* LGTM fixes
* Module definition for chia.plotters to resolve mypy issues with chiapos (package vs chiapos.py)
* Updated BladeBit build script to account for 1.2.0 changes.
Replaced remaining subprocess.run calls with run_command.
Use BladeBit's reported memory requirement instead of hardcoded value.
* Show a disclaimer when using thirdparty plotter
* Test adding mac madmax plotter to the installers
* Get latest madmax from the latest GH release
* Fix bad var name
* m1 madmax
* Add linux/linux arm
* pip install -e for arm installer, so that its consistent with the other platforms when looking for additional files
* madmax + windows
* Get madmax with Invoke-WebRequest
* Use the correct windows slashes
* add madmax to the list of windows binaries
* Check if madmax exists on windows install and move it to site packages if it does
* Make sure windows has .exe extension for madmax
* Update azure to get latest version of madmax from GH releases
* Bladebit for linux/linux arm
* Fix error with binaries.extend
* Bundle bladebit + windows
* Fix download url for bladebit
* Check for bladebit in windows script. move to correct directory if it exists
* Detect and use packaged plotters
* Removed unnecessary import
* Updating the branch to use chiaplotters_gui for installer verification
* Removed a change that was intended for debugging only
* Remove disclaimer
* Updated for new madmax plotter with k33, k34 support.
Updated chia-blockchain-gui submodule
* Fixed typo
* Package the chia_plot_k34 executable
* Boink
* Revert "Boink"
This reverts commit 8d13c07110.
* Additional chia_plot_k34 spots that I missed
* pyinstaller.spec fix for chia_plot_k34
* Windows installer fix for chia_plot_k34.exe
* Restoring chia-blockchain-gui submodule to 047ce16 (as in main)
* Update to chiapos 1.0.6
Co-authored-by: Jeff Cruikshank <paninaro@gmail.com>
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
* github: Add `pre-commit.yml`
This runs `pre-commit` as github action for all PRs and on pushes to
`main`.
* github: Drop trailing whitespaces in `stale_issue.yml`
* setup: Ignore type errors for `setup` call
* Moved keyring handling into a KeyringWrapper class
* Update click to 8.0.x for prompt_required support
* Renamed KeyringWrapper to _KeyringWrapper
* Expose password management options on Linux
* CLI support for setting/removing a password
* Global option for specifying the master password
* Cache the password instead of setting on the context
* Password bootstrapping during chia init
* Tidying up _KeyringWraper's interface
* Initial pass migrating the legacy keyring contents
* Encryption/decryption of keyring.yaml contents
* FileKeyring backend encrypts with ChaCha20Poly1305
* Tightened up keyring migration and initialization
* Fixed issues identified by linters
* Remove root_path from Keychain
* Prevent double-migration if setting master passwd
* KeyringWrapper tests are mostly complete
* FileKeyring will now honor the service param
* Tests for get/set/delete password
* Formatting/commenting updates
* Writer lock support with tests - WIP
* keyring.yaml is now watched for modifications
* Reader/Writer lock for get/delete password
* Fixed linter issues
* Reader lock tests
* Formatting update
* Hook up CHIA_ROOT support for KeychainWrapper
* Quick fix to address test failures
* Fixed failures when existing legacy keyring exists
* Fixed test failures caused by reusing the same temp dir
* keyring.yaml now lives in ~/.chia_keys by default. Can be overridden with CHIA_KEYS_ROOT or --keys-root-path
* Fixed migration failure when setting a password (not using the default)
* KeyringWrapper now uses supports_keyring_password to determine if a FileKeyring should be used. Patched tests to work regardless of whether supports_keyring_password return False
* The daemon now takes a --have-gui option that will prevent calling check_keys() during startup. If the keyring is locked, we want the GUI to prompt for the password.
* Added is_keyring_locked RPC call
* Added 'unlock_keyring' RPC command
* Added KeychainProxy and KeychainServer to handle RPC messages related to keyring operations. WalletNode no longer directly accesses the Keychain class.
* Turn on macOS support for testing keyring passwords
* Fixed get_key_for_fingerprint to use the ocal keychain if the platform doesn't need to remotely access the daemon's keychain.
Fixed key reconstruction when sent over RPC.
* Farmer now accesses the keychain over RPC
* Fixes for linter issues and some restructuring to support tests that use setup_nodes.py
* Couple of fixes to unblock the GUI from launching when a keyring password is set
* Added a keychain RPC call for add_private_key()
* Added remaining keychain proxy RPC calls for delete_key_by_fingerprint and delete_all_keys
* Check for None when inspecting request arguments
* Run check_keys after unlocking the keyring when the daemon is launched via GUI
* Added check_keys RPC method.
Fixed deserialization of key entropy in get_all_private_keys. This was preventing the GUI from being able to show key details.
* Added get_first_private_key to keychain_server/proxy.
create_plots now uses the keychain proxy when launched from the daemon.
* Added a comment about KeychainProxy in chia plots check
* Workaround import conflict when importing from 'tests.*' due to fasteners name conflict
* Simulator now uses KeychainProxy if launched by the daemon.
KeychainServer/Proxy now takes keychain user/testing params for testing scenarios.
* Added "set_keyring_passphrase" RPC message
* Reworking KeychainProxy usage to handle local keychain tests and RPC keychain tests.
* Replace my prior usage of asyncio.run() with asyncio.get_event_loop().run_until_complete()
* Silencing file_keyring logging for the moment.
* Updated tests to use test keychains and appropriate BlockTools construction
BlockTools should now be created with create_block_tools(_async) to handle async scenarios.
Updated block_tools to be async compatible
Updated fasteners to fix installation of top-level 'tests' in site-packages
* Added 'remove_keyring_passphrase' RPC message to the daemon
Minor tweak to TempKeyring to default to some test params
* Fixed linter issues
* Remove flake8 ignore statement now that the fasteners module has been updated
* Some initial renaming changes: password -> passphrase
* Fixed wallet RPC issue where get_key_for_fingerprint wasn't awaited-upon.
Fixed legacy keyring initialization (for migration scenarios)
* Fixed improperly merged file
* Fixed linter issues.
More renaming.
* Updated spots that were still using an incorrect keychain call
* Renamed use_password_cache, obtain_current_password
* Renamed supports_keyring_password
* Renamed has_master_password
* Renamed has_cached_password, get_cached_master_password
* Linter fixes
* Renamed master_password_is_valid
* Renamed set_cached_master_password
* Renamed set_master_password
* Renamed remove_master_password
* Renamed has_cached_master_password
* Renaming in file_keyring and keyring_wrapper
Updated default keyring payload used for tests
* Renamed get_password
Other renaming updates
* Renamed set_password
Other renaming updates
* Renamed remaining password occurrences (where appropriate)
* password -> passphrase
* Added tests for setting an emoji and Japanese master passphrase
* Attempt to notify the daemon when a keyring passphrase is set/updated/removed
* Missed one password -> passphrase replacement.
* Fixed some file synchronization issues found when running tests on macOS
* Adjusted timeout values for test_writer_lock_reacquisition_failure for macOS.
* Removed logging statements previously added for debugging
* Prompt for keyring passphrase up-front when launching a service.
Changed --have-gui flag to --wait-for-unlock
* Updated set_keyring_passphrase RPC message to fix optional current_passphrase param when the keyring is using the default passphrase.
* Minor test cleanup to deduplicate some code.
* Fixed regression when setting a new master passphrase
* Minor refactoring and docs/commenting updates
* Renaming password -> passphrase went too far. Keyring backends use password terminology for compatibility with third party backends.
* Disabling macOS support (previously added for testing only)
* Disabling passphrase support in preparation for sending out the PR
* Fixed improper merge (vscode didn't save changes during rebase)
* Update chia/cmds/init_funcs.py
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
* skip_check_keys -> should_check_keys
* Shuffling some imports around to break cycles reported by LGTM
* Handle unlocking the daemon if it's already launched and waiting for unlock.
* Replaced uses_keychain_proxy decorator in farmer.py. Fixed async usage of get_reward_targets.
Linter/reformatting fixes
* Replaced uses_keychain_proxy decorator with a clearer method.
* Cleanup the temp keyring dir using shutil.rmtree()
* Restored self._root_path (had been changed to self.root_path)
* Minor cleanup
* ensure_keychain_proxy() now throws if connect_to_keychain_and_validate() fails
* Plot key resolution now yields a PlotKeys object which can be passed into create_plots.
De-indented test_invalid_icc_sub_slot_vdf to keep git blame tidy.
* Added 'keyring_status' daemon RPC message to support the GUI
* Minor changes relating to PR feedback
* Addressed more PR feedback (mostly type annotations)
* Commented-out macOS file keyring usage. This can be re-enabled for testing purposes.
* Addressed test failures that require multiple keyrings in the same process. Each TempKeyring will now set a custom KeyringWrapper instance.
* Fixed logic for communicating user_passphrase_is_set in the keyring_status RPC response.
* Updated type annotations and method signature for set_passphrase to expect a string instead of bytes.
* Fixed Wallet RPC tests
* Fixed full_node_store tests. BlockTools should be created using the create_block_tools(_async) function(s)
* Fixed test failures in test_pool_rpc
* Fixed test_daemon. After BlockTools.setup_plots is run, the config file needs to be re-read to refresh stale plot_directories.
* Suppressing LGTM false positives regarding passphrase leakage in CLI error output. Seems that LGTM sees MIN_PASSPHRASE_LEN as sensitive data.
* Second attempt at suppressing LGTM false positives
* Third attempt at addressing LGTM false positives
* Removed test_keyring_wrapper param from Keychain ctor. Test setup now sets the keyring_wrapper property directly.
* Reformatting
* More targeted update of the test config to refresh just the "plot_directories" value
* More LGTM suppressions
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
Co-authored-by: wjblanke <wjb98672@gmail.com>
* added clarifying comments
* WIP test
* added WIP test
* Refine genesis challenge. Remove unnecessary pool_puzzle function
* Sign spend. Remove create_member_spend. Rename state transition function to create_travel_spend
* Rename create_member_spend to create_travel_spend
* Add singleton id logging
* Enhance logging for debugging
* renaming
* rephrase inside the puzzle
* fixed signing and added some support functions
* Fix issue with announcement
* Progress spending the singleton
* Fix arguments to pool_state_to_inner_puzzle call
* Fix arguments to pool_state_to_inner_puzzle
* Improve error message when wallet is not running
* Remove misleading message about missing wallet process, when problem is the farmer by making poolnft command error out earlier
* Fix parent coin info bug
* Multiple state transitions in one block
* Lint
* Remove assert
* Fix incorrect p2_singleton_ph calculation (thanks nil00)
* Update waiting room puzzle to accept genesis_challenge
* Update calls to create_waiting
* Go to waiting state from committed state
* Augment debug_spend_bundle
* fix 2 bugs in wallet
* Fix lint
* fix bad_agg_sig bug
* Tests and lint
* remove breakpoint
* fix clvm tests for new hexs and hashs
* Fixed a bug in the coin store that was probably from merging. (#6577)
* Fixed a bug in the coin store that was probably from merging.
* The exception doesn't need to be there
* CI Lint fix
* Added lifecycle tests for pooling drivers (#6610)
* Ms.poolabsorb (#6615)
* Support for absorbing rewards in pools (untested)
* Style improvements
* More work on absorb
* Revert default root and remove log
* Revert small plots
* Use real sub slot iters
* Update types
* debug1
* Fix bugs
* fix output of agg sig log messages
* Make fewer calls to pw_status in test
* remove old comment
* logging and state management
* logging
* small bug fix & rename for accuracy
* format
* Fix types for uncurry function
* lint
* Update test to use exceptions
* Change assumptions about self-pooling in lifecycle test
* Install types for mypy
* Revert "Install types for mypy"
This reverts commit a82dcb712a.
* install types for mypy
* install types for mypy
* More keys
* Remove flags requiring interactive prompts
* Change initial spend to waiting room if self-pooling
* lint
* lint
* linting
* Refactor test
* Use correct value in log message
* update p2_singleton_or_delated_puzhash
* initial version of pool wallet with p2_singleton_or_delay
* run black formatting
* fix rebase wonkiness
* fix announcement code in p2_singleton_or_delayed
* removed redundant defaulting
standardised hexstr handling
* lint fixes
* Fixed pool lifecycle tests to current standards, but discovered tests are not validating signatures
* Signatures validate on this test now although the test still does not check it.
* Lint fix
* Fixed plotnft show and linting errors
* fixed failing farmer/harvester rpc test
* lint fix
* Commenting out some outdated tests
* Updated test coverage
* lint fix
* Some minor P2singleton improvements (#6325)
* Improve some debugging tools.
* Tidy pool clvm.
* Use `SINGLETON_STRUCT`. Remove unused `and` macro.
* Use better name `SINGLETON_MOD_HASH`.
* Finish lifecycle test suite.
* Fixing for merge with chia-blockchain/pools_delayed_puzzle (#72)
Co-authored-by: Matt Hauff <quexington@gmail.com>
* Default delay time was being set incorrectly
* Extracted get_delayed_puz_info_from_launcher_spend to driver code
* Ms.taproot plot2 (#6692)
* Start work on adding taproot to new plots
* Fix issue in block_tools
* new test-cache
* Lint
* DID fixexs
* Fix other tests
* Python black
* Fix full node store test
* Ensure block index <= 128 bits.
* fix test_pool_config test
* fix comments in pool_config and in chialisp files
* self_pool -> pool -> self_pool
* Implement leaving pools
* Fix conflicts with main via mini-rebase
* Fixup rebase mistakes
* Bring in Mariano's node discovery chagnes from pools.dev
* Fix adapters - Thanks Richard
* build tests
* Add pools tests
* Disable DID tests
* farmer|protocol: Some renaming related to the pool protocol
* farmer: Use `None` instead of `{}` and add local `pool_state`
* protocol|farmer: Introduce and use `PoolErrorCode`
* rename: `pool_payout_instructions` -> `payout_instructions`
* refactor: `AuthenticationKeyInfo` -> `authentication_key`
* refactor: Move `launcher_id` up
* rename: Some variable name changes
* rename: `points_balance` -> `points`
* format: Squash aggregation into one line
* farmer: Make `update_pool_state` public
* farmer: Print traceback if `update_pool_state` fails
* farmer: Periodically call `GET /pool_info`, add `_pool_get_pool_info`
* farmer: Add `authentication_token_timeout` to `pool_state`
Fetch it from `GET /pool_info`
* protocol|farmer: Implement support for `GET|POST|PUT /farmer`
* farmer: Make use of `GET|POST /farmer`
- To make the farmer known by the pool
- To update local balance/difficulty from the pool periodically
* farmer|protocol: Adjust `POST /partial` to match the latest spec
* farmer: Hash messages before signing
* pools: Drop unused code
* farmer: Fix aggregation of partial signatures
* farmer: support self pooling, don't pool if url==""
* wallet: return uint64 for delay time, instead of bytes
* pool: add error code for delay time too short
* farmer: cleaner logging when no connection to pool
* farmer: add harvester node id to pool protocol
* Rename method (test fix) and lint fix
* Change errors to warnings (pool communication)
* Remove pool callbacks on a reorg
* farmer: Continue earlier when no pool URL is provided
* farmer: Print method in log
* farmer: Handle exceptions for all pool endpoint calls
* farmer|protocol: Keep track of failed requests to the pool
* farmer: Fix typo which caused issue with pooling
* wallet: simplify solution_to_extra_data
* tests: Comment out DID tests which are not working yet
* Remove DID Wallet test workflows
* Return launcher_id when creating Pool Wallet
* Name p2_singleton_puzzle_hash correctly
* Improve 'test_singleton_lifecycle_fast.py'.
* Make test more robust in the face of asynchronous adversity
* Add commandline cmds for joining and leaving pools
* Fix poolnft leave params
* Remove redundant assignment brought in from main
* Remove unneeded code
* Style and parsimony
* pool_puzzles: Check was wrong, and bad naming
* format: Fix linting
* format: Remove log and rename variable
* pool-wallet: Fix self pooling with multiple pool wallets. Don't remove interested puzzle_hash
* gui: Use pools branch
* format: fix lint
* Remove ununsed code, improve initial_pool_state_from_dict
* farmer: Instantly update the config, when config file changes
* format: Speed up loading of the authentication key
* logging: less annoying logging
* Test pool NFT creation directly to pool
* Test switching pools without self-farming in between
* lint
* pooling: Use integer for protocol version (#6797)
* pooling: Use integer for protocol version
* pooling: Fix import
* Update GUI commit
* Ms.login2 (#6804)
* pooling: Login WIP
* pooling: add RPC for get_link
* dont use timeout
* pooling: rename to get_login_link
* format: remove logging
* Fix SES test
* Required cli argument
Co-authored-by: almog <almogdepaz@gmail.com>
* farmer|protocols: Rename `current_difficulty` for `POST /partial` (#6807)
* Fix to farm summary
* Use target_puzzlehash param name in RPC call
* Pool test coverage (#6782)
* Improvement in test coverage and typing
* Added an extra absorb to the pool lifecycle test (only works when merged with https://github.com/Chia-Network/chia-blockchain/pull/6733)
* Added new drivers for the p2_singleton puzzles
* Added new tests and test coverage for singletons
* organize pools testing directory
* black formatting
* black formatting in venv
* lint fix
* Update CI tests
* Fixing tests post rebase
* lint fix
* Minor readability fix
Co-authored-by: matt <matt@chia.net>
* farmer: Drop `target_puzzle_hash` from `GET /farmer` and `GET /login` (#6816)
* Allow creation of PlotNFTs in self-farming state
* gui: Fix install with more RAM (#6821)
* Allow implicit payout_address in self-pool state, improve error messages and param ergonomics
* print units in non-standard wallets correctly
* Fix farmer import
* Make syncing message in CLI more intuitive like the GUI
* Fix linting and show header hash instead of height
* gui: Update to 725071236eff8c81d5b267dc8eb69d7e03f3df8c
* Revert "Merge"
This reverts commit 23a1e688c5, reversing
changes made to a850246c6f.
* Revert "Revert "Merge""
This reverts commit 680331859f.
* Treat tx_record as Dict. Refactor tx submission
* Also add passed-in coin spends when processing new blocks in reconsider_peak
* Test utilities had moved
* Fix import of moved block_tools
* Potentially fix yaml
* Previously didn't take the right part of this change
* Add -y flag, improve commandline plotnft handling
* Fix typo
* Add -y flag to plotnft create
* pool_wallet: Restore from DB properly
* wallet: ignore bad pool configs
* Reduce memory
* pool_wallet: Add claim command
* pool_wallet: Set transaction records to confirmed
* wallet: Fix bug in transaction cache
* Formatting and remove log
* pool_wallet: CLI balance and improvements to plotnft_funcs.py
* pool_wallet: Simplify, and fix issue with double submission
* pool_wallet: Fix tests
* pool_wallet: Don't allow switching before relative lock height
* update gui
* change to 3000 mem
* Correct sense of -y flag for self-pooling
* cli: Display payout instructions for pool
* pool_wallet: Don't create massive transactions
* cli: Improvements to plotnft
* pool_wallet: Get correct pool state
* pool_wallet: Use last transaction block to prevent condition failure
* Add block height for current state
* Add outstanding unconfirmed transactions to pw_status
* Refine command line plotnft show pending transactions
* Fix tests by using the correct output from pw_status
* Try to fix windows build
* Print expected leave height
* label pool urls
* pool_wallet: Don't include pool 1.75 rewards in total
* wallet: Add RPC and CLI for deleting unconfirmed transactions for a wallet
* pool_wallet: If farming to a pool, show 0 balance in wallet
* pool_wallet: Show error message if invalid state, in CLI
* pool_wallet: Don't allow switching if there are pending unconfirmed transactions
* tests: Clean up pool test logging
* tests: Fix lint
* Changed the pool innerpuzzes (#6802)
* overload solutions for pool_innerpuz parameters
* Fix tests for reduced size puzzles
* deleted messy deprecated test
* Fix lint.
* fix bug where spend types were the wrong way around
* merge with richard's lint fix
* fix wallet bug
remove unnecessary signature
add defun-inline for clarity
* Swap to defun for absorb case
Use cons box for member innerpuz solution
* fix if statement for cons box p1
* remove unnecessary solution arg
* quick innerpuz fix to make tests pass
* Switch to key-value pairs
Undo cons box solution in pool_member inner puzzle
* fix singleton lifecycle test
* added some comments to calrify the meaning on "ps"
* lint fix
* reduce label size, search for label when reconstructing from solution
* no need to keep looping if `p` found
* lint fix
* Removed unecessary defun-inline and changed hyphens to underscores
* Changed created_coin_value_or_0 to an inline function
* Changed morph_condition to an inline function
* Added a comment for odd_cons_m113
* Rename output_odd and odd_output_found
* Add inline functions to document the lineage proof values
* Stager two rewrite
* Added an ASSER_MY_AMOUNT to p2_singleton_or_delayed
* Extract truth functionality to singleton_truths.clib
* Fix tree hashes
* Changed truths to a struct rather than a list.
* fix test_singletons
update did_innerpuz
* recompile did_innerpuz
* fix a log error
* Renamed variable and factored out code per @richardkiss
* lint fix
* switch launcher extra_data to key_value pairs
* fix parsing of new format of extra_data in launcher solution
* fix broken test for new launcher solution format
* remove bare raise
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
* Also add passed-in coin spends when processing new blocks in reconsider_peak (#6898)
Co-authored-by: Adam Kelly <aqk>
* Moved debug_spend_bundle and added it to the SpendBundle object (#6840)
* Moved debug_spend_bundle and added it to the SpendBundle object
* Remove problematic typing
* Add testnet config
* wallet: Memory would get corrupted if there was an error (#6902)
* wallet: Memory would get corrupted if there was an error
* wallet: Use block_record
* wallet: Add records in a full fork too
* wallet: remove unnecessary arguments in CC and DID
* add to cache, revert if transaction fails
Co-authored-by: Yostra <straya@chia.net>
* Improve comment
* pool_wallet: Fix driver bug
* wallet: Fix memory corruption
* gui: Update to latest
* Increase memory size
* tests: Add test for absorbing from pool
* small fix in solution_to_extra_data
* Fixed incorrect function name
* pooling: Fix EOS handling in full node
* [pools.testnet9]add post /partial and /farmer header (#6957)
* Update farmer.py
add post header
* Update farmer_api.py
add post header
* Update chia/farmer/farmer.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Update chia/farmer/farmer_api.py
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* Fix lint and cleanup farmer.py
* farmer: Fix linting issues (#7010)
* Handle the case of incorrectly formatted PoolState data returned from inner singleton
* wallet: Resubmit transaction if not successful, rename to new_transaction_block_callback (#7008)
* Fix lint in pool_puzzles
* pooling: Fix owner private key lookup, and remove unnecessary argument
* pooling: Clear target state on `delete_unconfirmed_transactions`
* Lint
* Fix non-deterministic test
* Slight cleanup clvm driver code (#7028)
* Return None when a deserialized CLVM structure does not fit the expected format of var-value pair for singleton data
* lint
Co-authored-by: Adam Kelly <aqk>
* Revert "Add testnet config"
This reverts commit 9812442724.
Co-authored-by: matt <matt@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
Co-authored-by: Mariano Sorgente <sorgente711@gmail.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: Adam <aqk@Adams-MacBook-Pro.local>
Co-authored-by: Adam Kelly <aqk>
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: arvidn <arvid@libtorrent.org>
Co-authored-by: willi123yao <willi123yao@gmail.com>
Co-authored-by: arty <art.yerkes@gmail.com>
Co-authored-by: William Blanke <wjb98672@gmail.com>
Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: DouCrazy <43004977+lpf763827726@users.noreply.github.com>
* 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
* Fix issue with error handling in timelord. Show infusion rate for all timelords (even slow ones), and fix logging for rate limiting
* Fix another issue
* Further improvements in crashes, and better counting
* Don't error if we cannot infuse
* flake8
* more flake8
* Improvements for not the fastest timelord
* Don't double count
* Don't double count (again)
* rebase DID off main
* fix indentation and imports
* lint fixes
* fix test_compilation paths for new puzzles
* added _init__.py for did_wallet
* mypy typing fixes
* included did_wallet in setup.py module list
* stored pubkey & puzhash so that recovery_spend can choose not take them
* black missing comma