Commit Graph

562 Commits

Author SHA1 Message Date
Amine Khaldi
2f29930c3b
Merge commit 'ee19b7e1fd0664f78684b49a6e20540152211365' into checkpoint/long_lived_atari_from_main_ee19b7e1fd0664f78684b49a6e20540152211365 2022-07-25 21:37:01 +01:00
Amine Khaldi
af1f442646
Merge commit '5aaf07a6862994b0eb9fc3c529a34e8c49b41346' into checkpoint/long_lived_atari_from_main_5aaf07a6862994b0eb9fc3c529a34e8c49b41346 2022-07-24 18:24:47 +01:00
Amine Khaldi
903fb1363a
Merge commit '56777f9dd7fcf7d73836691c8fe0d4a20a87787e' into checkpoint/long_lived_atari_from_main_56777f9dd7fcf7d73836691c8fe0d4a20a87787e 2022-07-23 11:20:58 +01:00
Matt Hauff
917a76b50e
Merge remote-tracking branch 'origin/long_lived/atari' into dl_to_nft_chialisp 2022-07-20 14:03:33 -05:00
Amine Khaldi
fc6c2e4dc8
Merge commit '3e56471de9ffdf16c64b8b7a3f1c1ca042a8cb01' into checkpoint/long_lived_atari_from_main_3e56471de9ffdf16c64b8b7a3f1c1ca042a8cb01 2022-07-19 10:20:54 +01:00
Amine Khaldi
5621274fbd
Merge commit '5ae87189c491f930e5081b38069e3a48de6cea9c' into checkpoint/long_lived_atari_from_main_5ae87189c491f930e5081b38069e3a48de6cea9c 2022-07-18 10:58:16 +01:00
Amine Khaldi
c19d156cc0
Merge commit '46c4ab3891361e7d95ae106a541fa206813bb957' into checkpoint/long_lived_atari_from_main_46c4ab3891361e7d95ae106a541fa206813bb957 2022-07-15 16:22:17 +01:00
Amine Khaldi
9d4a66287c
Merge commit '3c2fc1947df311aa80130a0f60288547cf09250d' into checkpoint/long_lived_atari_from_main_3c2fc1947df311aa80130a0f60288547cf09250d 2022-07-14 20:36:30 +01:00
arty
166b67247e
20220705 clvm tools rs version bump (#12236)
* bump version for argument destructuring fix in class and new at-captures

* Bump

* Also bump clvm_tools version since that version will also sync to clvm_tools_rs 0.1.19

* Ensure chia-blockchain-gui is at main

* Fix my merge mistake

* Bump after release 0.4.5 of clvm_tools
2022-07-13 04:05:41 -05:00
Matt Hauff
e6ed51179b
Remove some more dlo stuff 2022-07-12 10:44:49 -05:00
dependabot[bot]
d18fff0a8a
Bump typing-extensions from 4.0.1 to 4.3.0 (#12207)
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.0.1 to 4.3.0.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.0.1...4.3.0)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-05 16:31:14 -05:00
dependabot[bot]
5504f36d42
Bump fasteners from 0.16.3 to 0.17.3 (#12206)
Bumps [fasteners](https://github.com/harlowja/fasteners) from 0.16.3 to 0.17.3.
- [Release notes](https://github.com/harlowja/fasteners/releases)
- [Changelog](https://github.com/harlowja/fasteners/blob/main/CHANGELOG.md)
- [Commits](https://github.com/harlowja/fasteners/compare/0.16.3...0.17.3)

---
updated-dependencies:
- dependency-name: fasteners
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-05 16:29:44 -05:00
dependabot[bot]
95803f09fe
Bump packaging from 21.0 to 21.3 (#12190)
Bumps [packaging](https://github.com/pypa/packaging) from 21.0 to 21.3.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/21.0...21.3)

---
updated-dependencies:
- dependency-name: packaging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 01:13:30 -05:00
dependabot[bot]
e57a8e41f4
Bump colorama from 0.4.4 to 0.4.5 (#12189)
Bumps [colorama](https://github.com/tartley/colorama) from 0.4.4 to 0.4.5.
- [Release notes](https://github.com/tartley/colorama/releases)
- [Changelog](https://github.com/tartley/colorama/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tartley/colorama/compare/0.4.4...0.4.5)

---
updated-dependencies:
- dependency-name: colorama
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 01:13:01 -05:00
dependabot[bot]
e57025a83e
Bump keyring from 23.0.1 to 23.6.0 (#11829)
* Bump keyring from 23.0.1 to 23.6.0

Bumps [keyring](https://github.com/jaraco/keyring) from 23.0.1 to 23.6.0.
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v23.0.1...v23.6.0)

---
updated-dependencies:
- dependency-name: keyring
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Small type change for new keyring version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
2022-07-02 01:10:04 -05:00
dependabot[bot]
9cc5b729d5
Bump filelock from 3.4.2 to 3.7.1 (#11728)
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.4.2 to 3.7.1.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.4.2...3.7.1)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-01 13:48:16 -05:00
Kyle Altendorf
ee19b7e1fd
move py3createtorrent to development dependencies (#12074) 2022-06-28 11:51:04 -05:00
Kyle Altendorf
5aaf07a686
run pylint directly (#12100)
* run pylint directly

* fixup
2022-06-27 10:53:04 -05:00
Kyle Altendorf
56777f9dd7
switch back to official dnspython for v2.2.0 (#10541) 2022-06-22 02:04:57 -05:00
Kyle Altendorf
c429933737
Merge commit 'd0de8038cd95b71fa050f79e3685c51dcf05e13e' into catchup/long_lived_atari_from_release_1.4.0_d0de8038cd95b71fa050f79e3685c51dcf05e13e 2022-06-13 17:44:12 -04:00
Kyle Altendorf
3e56471de9
watchdog==2.1.9 for bad file descriptor avoidance (#11873)
https://github.com/gorakhargosh/watchdog/blob/v2.1.9/changelog.rst#219
2022-06-13 13:22:21 -05:00
Arvid Norberg
5ae87189c4
Rust coin (#11807)
* use rust implementation of Coin class, from chia_rs

* bump chia_rs dependency
2022-06-13 07:21:04 -05:00
Sven Grunewaldt
46c4ab3891
Add Source and Changelog to project_urls (#11694) 2022-06-02 13:10:14 -05:00
Arvid Norberg
3c2fc1947d
upgrade chia-rs to streamable support (#11503)
* upgrade chia-rs to streamable support

* bump chia_rs dependency
2022-06-01 12:56:11 -05:00
Amine Khaldi
d0de8038cd
Bring DID/NFT effort into release/1.4.0 (#11662)
* initial commit

* assert coin added in test

* add support functions

* add RPC calls (untestested and surely unworking)
also change innerpuz

* missing comma

* update puzzle clvm hex sha256

* fixes

* add load_wallet for nft_wallet

* add singleton 1.1 and update innerpuz for it

* update wallet for new innerpuz

* use singleton 1.1

* swap DID to singleton 1.1

* Fix DID Wallet and DID Innerpuz

* list hint

* don't push automatically

* change to determine_coin_type

* stash debug

* fix get_hints()

* small fix en route to bigger fix later

* push for straya

* checkpoint

* coin discovered in wallet

* re-enable push of attests because message spends are different

* change a few node calls for rebase and rebase

* black and flake8

* flake8 test formatting

* Add transfer test and some transfer functions

* fix bug where innerpuzzle would not recreate itself properly

* fix get_info for received NFT and reovme breakpoint

* fix messages

* debug commit

* receive and send it back!

* send it back and remove NFTs after they're sent

* fix adding duplicates bug

* mint NFT with RPC calls test

* save newer coin info over older info

* finish RPC tests

* update to new version of singleton
black

* change puzzle to remove need for receive spend when trade_price = 0

* Begin conversion to trade price list

* fix test to new trade_price_list system

* Move towards goals in chialisp

* fix clvm testss

* remove unused code

* more chialisp changes working towards CAT royalties

* much progress on CAT royalties

* round down to even on royalties

* add delay to fix inconsistent tests

* remove unused file

* add assertions and fine tune sleep

* add richer support for URIs / metadata and add periphery functions

* switch to metadata, switch to puzzle announcements

* update innerpuz commit hash

* add clvm files to recomp list

* fix rpc test

* flake8 fixes for tests

* flake 8 stupid fix

* Big change to NFT innerpuz (#11141)

* new innerpuz with passing clvm tests

* more work on url updating

* fix broken add_url tests

* fix nft_wallet generate_nft code

* more progress

* fix wallet and change to auto-send on tradeprice == 0

* flake8 and black

* NFTs are always amount 1
removed some unnecessary new_did info detritus from wallet

* move trade_price_list into tp_solution

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* Update chia/wallet/nft_wallet/nft_puzzles.py

* typing for create_full_puzzle_with_curry_params

* Typing for update_metadata

* Typing for get_trade_prices_list_from_inner_solution

Co-authored-by: Jeff <jeff@chia.net>

* Merge commit with main (9ff3fc993f) (#11137)

* Merged with main (9ff3fc993f)

* Linter and some test fixes

* isort, linting, test fix

* Fixes and bumped the GUI to point to nftdev

* Couple of fixes

* Bumping GUI to 7aa199a4fb

* Bumping GUI to 155866f6d0

* DID changes all in one  (#10559)

* Chialisp draft

* Modify python code

* Reformat & Fix tests

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* Handle recovery

* Chialisp draft

* Modify python code

* Reformat & Fix tests

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* add clvm files to recomp list

* fix rpc test

* flake8 fixes for tests

* flake 8 stupid fix

* Bug fix & flake8 fix for NFT tests

* Modify python code

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* Generalize the message puzzle

* Add Pubkey as hint

* Receive DID

* Add DID APIs & Tests

* Fix tests

* Test fixes. in_transaction is now passed as a param to the various callers that eventually call save_info.

* Workflow Fix

* Add test config for DID/NFT

* Update workflow test yaml

* Fix install test script

* Fix typo

* Resolve comments

* Fix tests

* Change did_innerpuz and fix wallets for new design (#11196)

* correcting the design of did_innerpuz and related wallet changes

* remove breakpoint comments

* change decimal point accuracy of percentage system

* secure new_amount by fixing it to our current amount

* rename and update comments for new_amount - now my_amount

* rename P2_PUZZLE to simply INNER_PUZZLE

* fix variable re-declaration for flake/merge

* black and flake8 - inclduing wallet_state_manager bug fix

* update RPCs related to add_url
added commented out tests too, but DID needs fixing first

* Fix bugs in transfer case

* Fix pre-commit

* Fix install.sh test for bookworm

Co-authored-by: matt <matt@chia.net>
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>
Co-authored-by: ytx1991 <t.yu@chia.net>

* Merge commit with main 1.3.4 (d154105a6b) (#11276)

* slight simplification of interpreting the bytes received by the timelord. avoid redundant round-trips to strings (#10316)

* move build and twine to be dev deps rather than workflow installs (#10291)

* add db validate function to check consistency of blockchain database (#10398)

* streamable: Cache stream functions (#10419)

Apply the same pattern as we have for deserialization to serialization.

This avoids all those recursive runtime lookups for "how to stream this
object" which brings a nice speedup:

```
compare: benchmark
mode         | µs/iteration old | µs/iteration new | diff %
to_bytes     | 447.57           | 193.56           | -56.75

compare: full_block
mode         | µs/iteration old | µs/iteration new | diff %
to_bytes     | 110.32           | 61.09            | -44.62
```

* Stop assuming `True == 1` (#10396)

* Stop assuming `True == 1`

* Removed unnecessary lines which confuses code readers

* simplify self_hostname. It doesn't need to depend on initial-config.yaml -> create_block_tools() -> global variable bt (#10371)

* Fix balance calculation so it works with future unconfirmed tx (#10447)

* Only update height if we have processed everything before that height. (#10415)

* Only update height if we have processed everything before that height.

* Remove debug return

* Forgot this file

* Better sorting of coin states, and disconnect peer if we are connected to trusted

* Fix disconnect, and don't mutate arguments

* Fix comment

* Update chia/wallet/wallet_node.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update chia/wallet/wallet_state_manager.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Address comments

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* GC connections in wallet (#10450)

* Fix the year from 2021 to 2022 (#10462)

* Ms.unused code (#10453)

* Remove old backup stuff

* Remove references to CC (couloured coins) which is deprecated terminology

* removed no longer used import

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Don't load initial data older than 5 days (#10481)

* When loading initial data, don't include IPs older than 5 days in the best timestamp dict

* Don't load version data for hosts older than 5 days

* Update the DMG background image (#10289)

* Update the DMG background image

* Updated with latest design.

* Updated background.tiff with latest design

* Fancier DMG customization support via build_dmg.js

* npm_macos -> npm_macos_m1

* Pass in the app path to build_dmg.js

* Peppering with __init__.py files to satisfy the precommit hook

* Return the fees of an offer via RPC (#10480)

* farmer: Cleanup request retry and some logs (#10484)

* farmer: Bump next update times regardless of the request results

* farmer: Drop additional "success/failure" log logic

We already print the PUT response in `_pool_put_farmer` the other parts 
just lead to confusion if the pool didn't implement the PUT correct.

* farmer: Print error responses from the pool with `WARNING` log level

* Fix method name (#10500)

* updated gui to e2202874e1

* reverted to gui 800a0f6556

* updated gui to 672cf2a74a

* Only rewrite config when there is a difference (#10522)

* Only rewrite config when there is a difference

* Use variable

* Preserve existing pool payout_instructions when creating a PoolWallet (#10507)

* Preserve existing pool payout_instructions when creating a PoolWallet

* Updated the logged string when payout_instructions needs to be generated.

* Tests for update_pool_config

* isort

* Logging change, linter fixes, and more comments.

* Abort trusted sync if a state update fails (#10523)

* Abort trusted sync if a state update fails

* Fix lint

* fix updating of sub-epoch-summary map (part of BlockHeightMap) when the entirey change, including genesis changes (#10486)

* Fix propagation of errors when adding a key with an invalid mnemonic (#10274)

* Fix propagation of error messages originating from the keychain server

* Test that adding key with an invalid mnemonic returns the expected error

* Added daemon tests for the add_private_key RPC. Reverted wallet_rpc_client test as the daemon test is better suited for GUI testing.

* Reformatting updates

* Formatting change as requested by the pre-commit gods.

* catch up test_add_private_key() with dynamic ports (#10530)

* Updated background and icon positions. (#10531)

* improve the picking of free ports for tests (#10491)

* Hide balances until we are synced (#10501)

* make multiprocessing start method configurable (#10528)

* make multiprocessing start method configurable

* forkserver

* corrections

* fixup

* optional

* more optional

* stop attempting anchors in the yaml

* rework config handling

* comment

* Update URL for direct download of windows whl for upnp (#10540)

* Add incoming tx records when cancelling an offer (#10538)

* Add incoming tx records when cancelling an offer

* show fee on all txs

* wallet: Reduce log level for `Pulled from queue` message (#10529)

* pools: Drop redundant `PoolWalletInfo.from_json_dict` (#10524)

It exists the same way in its base class `Streamable`.

* correct multiprocessing start method logging, add python_default (#10547)

* correct multiprocessing start method logging, add python_default

* todo -> regular comment

* correct some comments to refer to CATs (#10548)

* correct some comments to refer to CATs

* one more

* and in a test

* Detect hints correctly in the TX (#10543)

* Detect hints correctly in the TX

* Only support list hints

* Allow CAT autodiscovery, refactor CAT default naming (#10308)

* Allow CAT autodiscovery

* Add wallet autodiscovery test

* Use dict get for automatically_add_unknown_cats with default false

* Refactor name generation for new CATs into one place

* Remove hardcoded default cat wallet name from wallet rpc test

* initial-config.yaml comment nit

* Wallet consistancy (#10532)

* use db transaction, -1 in synced up to height, delete unused funcitons

* use transaction info in key-val-store/pool-store

* cat stores

* db lock

* remove unused lock, set synced not always in transaction

* fix store tests

Co-authored-by: wjblanke <wjb98672@gmail.com>

* benchmarks: Implement streamable data comparison (#10433)

* Resubmit peak to timelord for failure. (#10551)

* Initial commit resubmit peak to timelord.

* Change how toandle exception.

* Add some logging. (#10556)

* Fix `install-gui.sh` (#10460)

* Fixed an issue where running  with gui git branch specified failed

* Fixed an issue where install-gui.sh failed if npm>=7 and NodeJS < 16 were installed

* Fixed inconsistent npm path issue

* Fixed typo

* Add fee to changing pool, and more PlotNFT syncing fixes (#10545)

* Add fee to changing pool, and more aggressive disconnect of untrusted

* Don't publish fee TX

* Lint

* Small plotnft related fixes

* More plotnft fixes

* Apply quexington suggestion

* correct param for in_transaction

* Support get_transaction and get_transactions in plotnft

* Re-add publish_transaction and add comment

* Don't rerun additions

* adding 1.3.0 release notes to changelog (#10578)

* adding 1.3.0 release notes to changelog

* Typos. thx @paninaro

* Adding requested adjustments to changelog

* Require pytest-asyncio>=0.17.0 for @fixture() (#10560)

* Convert tests/core/util/test_streamable.py to use pytest. Remove unneeded class. (#10577)

* make sync fixtures not use async def (#10504)

This is particularly relevant in cases where the scope is not function as
that forces use of a wider scoped event loop fixture as well.

* Fixup some hidden test errors (#10442)

* Touching up changelog (#10584)

* removing known issue that was only applicable to a beta release

* Adding additional fixes to the changelog

* Adding Unreleased section to track upcoming changes

* context manager for socket in find_available_listen_port(), catch OSError (#10567)

* Bump CAT wallet test timeout to 40 minutes (#10605)

* Remove block tools and keychain globals (#10358)

* Use bt fixture

* rebase

* Use local_hostname

* Fix test_json (inheritance from unittest.TestCase)

* Use correct BlockTools fixture for test_simulation

* Pass bt fixture into cost calculation tests

* flake8

* Add missing parameters to test functions

* Fix from rebase issues

* Remove set_shared_instance

* Update comment

* Remove unneeded comments

* Remove unused code

* Remove unused code, run `multiprocessing.set_start_method("spawn")` at correct time.

* Revert unrelated change

* Set daemon_port. Teardown services in correct order.
    BIG thanks to Mariano Sorgente for debugging help.

* Add back type signature - rebase issue

* Apply review fixes from Jeff

* Document why we need a later pytest-asyncio version

* Correct type for _configure_legacy_backend

* See what's going on during CI mypy run

* github workflows

* mypy typing

* Remove legacy Keyring create method

* Start daemon first

* Shutdown daemon coroutine properly

* Remove un-needed daemon_port argument

* Set chia-blockchain-gui to hash in main

* Remove connect_to_daemon_port

* Remove code that set "daemon_port" before calling `setup_daemon`

* Remove self_hostname fixture and extra self_hostname global

* Fix two test files that were not importing self_hostname

* self_hostname fixture

* Remove more unused test code

* Simplify  fixture

* a problem with using random.randint() to pick a port is that all processes (running in parallel) are seeded the same, and so pick the same ports at the same time, causing conflicts. This uses proper entropy instead. (#10621)

* `chia keys show` will default to displaying the first observer-derived wallet address. With the addition of the `-d` option, the non-observer derived wallet address can be displayed. (#10615)

* pools: Fix `plotnft claim` command's output (#10609)

If you currently claim rewards `claim_cmd` fails to print the txhash 
with the lookup hint in `submit_tx_with_confirmation`

```
Error performing operation on Plot NFT -f 172057028 wallet id: 12: 
'dict' object has no attribute 'name'
```

Because `submit_tx_with_confirmation` expects a `TransactionRecord` as 
result from its callable parameter `func` but `pw_absorb_rewards` 
returns a dict which includes the `TransactionRecord` as value for the 
key `transaction`. This PR makes sure all other methods used as `func` 
callable have the same return behaviour as `pw_absorb_rewards`. We could 
have adjusted it the other way around (only return `TransactionRecord` 
in `pw_absorb_rewards`) but then we would drop information in the RPC 
client.  


With this PR you get:

```
Do chia wallet get_transaction -f 172057028 -tx 
0x34f74a1ffd9da9a493b78463e635996fd03d4f805ade583acb9764df73355f9c to 
get status
```

* fix initial-config typo - log_maxbytesrotation (#10598)

* Fix invalid DB commit (#10594)

* Fix invalid DB commit

* More fixes

* Add raise

* Fix test

* correct spelling of genrated (#10653)

* fix [Bug] #10569 (#10571)

* Version control (#10479)

* Added version control enforcement to macOS m1

* Added enforced version control

* Added enforce version compliance

* Added enforced version compliance

* Added enforced versioning

* Updating this to include DRY internal action.

* Removed some unintended whitespace.

* Removed some unintended whitespace.

* CI re-run

* Trying to figure out why it's failing one test.

* Trying to figure out why it's failing one test.

* Trying to figure out why it's failing one test.

* plotting: Only lock while actually accessing `PlotManager.plots` (#10675)

* Fix exception when `chia keys migrate` is run without needing migration (#10655)

* Fix exception when `chia keys migrate` is run without needing migration

* Linter fixes

* Slightly different query for V2 DBs for getting compact/uncompact block counts, to ensure the available index is used / avoid a table scan (#10661)

* Check prefix on send_transaction before sending (#10566)

* Check prefix on send_transaction

* Fix failing RPC tests - xch -> txch since tests are a testnet and we enforce valid prefixes with this PR

* Ak.convert fixtures (#10612)

* Use bt fixture

* rebase

* Use local_hostname

* flake8

* Remove set_shared_instance

* Remove unneeded comments

* Revert unrelated change

* Add back type signature - rebase issue

* Correct type for _configure_legacy_backend

* See what's going on during CI mypy run

* github workflows

* mypy typing

* Remove legacy Keyring create method

* Start daemon first

* Set chia-blockchain-gui to hash in main

* Fix two test files that were not importing self_hostname

* self_hostname fixture

* Convert all class fixtures to top level functions

* updated gui to cdfa2b9821

* Better management of KeyringWrapper's keys_root_path when using TempKeyring for tests (#10636)

* Better management of KeyringWrapper's keys_root_path when using TempKeyring for tests.

* Move keys_root_path restoration code into `cleanup()`
Added an assert to detect if an unexpected shared KeyringWrapper is injected during a test.

* Conditionally restore keys_root_path for testing

* better TLS1.3 check (#10552)

* better TLS1.3 check

* catch ValueError instead of Exception

* Code simplification and cleanup

* a few nits in comments

* Add configuration locking (#10680)

* Add configuration locking

Extracted from https://github.com/Chia-Network/chia-blockchain/pull/10631

* note that fasteners will likely be replaced by filelock

* Fix test_multiple_writers on macOS

* create_all_ssl() doesn't need to be inside the config access lock

* add warnings about not using async within get_config_lock() get lock contexts

* no need to pre-touch the lock file

* .yaml.lock instead of just .lock

* test_multiple_writers() is sync

* Revert "add warnings about not using async within get_config_lock() get lock contexts"

This reverts commit 681af3835b.

* reduce lock context size in chia_init()

* use an exit stack in load_config()

* avoid config existence precheck

* only lock around the read in load_config()

* do not raise e, just raise

* tidy new imports

* fix queue empty check in test_config.py

* remove commented out code in test_config.py

* remove unused import

Co-authored-by: Jeff Cruikshank <jeff@chia.net>

* fix usage of the bt fixture in conftest fixtures (#10688)

* bump pre-commit mypy to 0.940 (#10672)

* remove some event_loop() fixtures (#10420)

* remove event_loop() fixtures

* flake8

* flake8

* remove sys.exit() from daemon shutdown

* bump full node test timeout.  a lot...  to see.

* fixup some tests

* back to module scope event loop fixture for test_full_node.py

* Update test_full_node.py

* Iterator...

* for the whole directory

* some fixtures back to module scope for reduced runtime

* back to 40 minute workflow timeouts

* these are being addressed separately

* updated gui to c992d07c95

* tests: Add `_PYTEST_RAISE` to fix exception breakpoints with pytest (#10487)

It's currently not possible to have the debuger stop on an uncaucht 
exception when debugging tests. With this patch, adding 
`_PYTEST_RAISE=1` to the environment variables in the pytest 
configuration template fixes this.

* Fixed test failures on Windows. (#10740)

* Convert helper method do_spend from a class method to a function (#10613)

* Remove unused test code (#10614)

* Ak.setup nodes (#10619)

* Remove unused test code

* Centralize fixture uses of setup_n_nodes

* Centralize fixure uses of setup_two_nodes

* Break up setup_nodes into setup_services, for individial services, and setup_nodes, for initializing different simulator configurations

* Sort imports

* more entropy in random listen ports (#10743)

* update chia-blockchain-gui one commit for npm build fix (#10776)

* Updating Changelog for point release (#10781)

* Updating Changelog for point release

* Adding missing changelog items

* run benchmarks separately (#10754)

* run benchmarks separately

* only run benchmarks once, with the most recent python version we support

* Change name to order of returned values. Enforce mandatory naming and inclusion of start_services parameter (#10769)

* cmds: Implement `chia rpc` command (#10763)

* cmds: Implement `chia rpc` command

* Enable "timelord" client + some refactoring to enable "crawler" client

* wallet: Fix `STANDARD_WALLET` creation for `wallet_info.id != 1` (#10757)

* wallet: Optional wallet type parameter for `get_wallets` and `wallet show` (#10739)

* wallet: Add optional `type` parameter to `get_wallets` and `wallet show`

* tests: Use the `type` parameter for `get_wallets` in pool rpc tests

* cmds: Ask for the name of the wallet type in CLI

* harvester: Reuse legacy refresh interval if new params aren't available (#10729)

* mypy 0.941 for pre-commit (#10728)

* Add maker fee to remaining offer RPCs (#10726)

* Add healthcheck endpoint to rpc services (#10718)

* Add healthcheck endpoint to rpc services

* Trailing whitespace ding

* Fix typos lastest > latest (#10720)

* fix typo in command line argument parsing for chia db validate (#10716)

* New RPC get_coin_records_by_hint - Get coins for a given hint (#10715)

* RPC endpoint to retrieve coins by hint

* RPC client update for get_coin_records_by_hint

* start writing tests for get_coin_records_by_hint

* Address linting concerns.

* Address flake8. Fix the get_coin_ids() call.

* convert hint to bytes32

* tests for get_coin_records_by_hint

Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>

* require test-cache repo is found in CI (#10711)

* Issues found in RPC API review (#10702)

* Removed unnecessary substitution

* Recovered  property which was accidentally removed in full node RPC API

* Added backward compatibility to `get_additions_and_removals` full_node RPC API

* Fixed full_node rpc client

* minor followup to config locking (#10696)

* minor lock scope reduction

* use the lock in tests

* Use the passed root_path in configure CLI command (#10694)

* Improve the CI runs w.r.t. timelord installation (#10673)

* Superficial analysis showed that only two test groups require (for now) installing the timelord. This change aims to save us hours of CI running time by simply running the install timelord script only for those test groups, with everything else having it omitted. Dedicated to @hoffmang9

* We don't need these anymore.

* less optional around ssl (#10558)

* less optional

* clean up cruft

* more

* more

* just a little less optional

* cmds: Fix trusted peer hint in `chia wallet show` (#10695)

`config` is the root config here.

* Enable clvm_tools_rs by default (#10554)

* Enable clvm_tools_rs by default

* Re-add clvm_tools dep for now as it provides python idioms for interacting with clvm data

* Take lint formatting

* Adam: Try making this non-parallel

* Try fix for threading issue in tests

* Test whether turning off parallel runs causes things to work (temp)

* Test use of temp files in clvm_tools_rs as a candidate solution for atomic replacement of hex output

* Use proper git+https url scheme (oops)

* Update to candidate 0.1.6 so we can test

* Revert version bump to re-test

* Test whether we can re-enable parallelism

* Attempt to mitigate concurrent test running: return own conception of the compiled output.  This will work if the failing path is downstream of recompilation

* fix path to hex file

* Probe for source of 0-length data

* Further exploration: more assertions, hopefully to trigger in the test on ci

* Do an even more paranoid check to verify that we observe a file whose filesystem reported size is much smaller than expected

* Try a heavier handed approach, using heavyweight lockfiles on the filesystem

* Import a simple lockfile implementation and use it to enforce mutual exclusion.  Simplify it and remove the unwanted os traffic

* Take lint, precommit advice, bump to clvm_tools_rs 0.1.6 now that it's released

* Fix lint

* While i was working on this, -n auto was on the command line so i think this didn't actually do anything, but reverting my change just in case

* Lint

* label the hashes re: pr

* Add a lock.py for spot exclusivity using the filesystem (re: adam in the pr) and a convenience wrapper that hides the details

* Formatting warning

* Ensure type info is present and do the obvious return of the inner function's result

* Use double quotes (lint)

* Properly balance blank lines

* Lint: alphabetize imports

* One line is required here (lint)

* Remove unnecessary assignment

* when creating a new blockchain database implicitly, make it v2 (#10498)

* when creating a new blockchain database implicitly, make it v2

* fix config deadlock

* add select_coins RPC method (#10495)

* add select_coins RPC method

* typing fix

* fix typing, casts

* add RPC coin selection tests

* black formatting

* fix select_coins tests

* improve error messages from chia db upgrade, specifically to help users if the disk is full (#10494)

* more set -o errexit (#10468)

* more set -o errexit -o pipefail

* no pipefail, too fancy for dash at least...

* Bump clvm_tools_rs to fix a problem running as daemon caused by old log message that is now eliminated (#10788)

* when running multiple services in the same process (in tests), don't initialize logging for all of them, and don't set the proctitle of the test (#10686)

* stop helping mkdir() do what it already does (#10802)

* stop helping mkdir() do what it already does

* flake8

* Capitalize display of Rpc -> RPC in `chia show -s` (#10797)

* Remove accidental parameters from calls to setup_simulators_and_wallets and prevent future mistakes (#10770)

* stop using deadsnakes, unless we need it (#10752)

* stop using deadsnakes.  and see...

* only install dead snakes stuff if building the timelord on linux

* small change to fix branch in contributing (#10805)

* small change to fix branch in contributing

* Update CONTRIBUTING.md

* Rename confusing fixtures, especially ones with the same name but dif… (#10772)

* Rename confusing fixtures, especially ones with the same name but different implementation

* rename test_environment to test_plot_environment

* Make it so setup_two_nodes is no longer the name of a fixture and a utility function

* revert premature fixture rename: two_wallet_nodes_start_height_1

* atomic rollback for wallet (#10799)

* atomic rollback for wallet

* Handle cases where one node doesn't have the coin we are looking for (#10829)

* Continue if one node doesn't have the coin

* Pass in coin_state list

* Pass in the single coinstate instead of list

* more simplifications

* run tests in parallel in CI (#10499)

* Fix timelord installation for Debian. (#10841)

* add optional persistence to SpendSim (#10780)

* add optional persistence to SpendSim

* Accidental rename

* remove duplicate event_loop (#10768)

* Adding check for python3.9 alongside python3.10 on Arch (#10363)

* Adding check for python3.9 alongside python3.10 on Arch

* Adjusting install.sh instructions for Arch

* Disabling prescribed python install for Arch

* Setting Arch install script to exit 0 to pass tests

* Adding workflow step for functional Arch install testing

* Adding noconfirm to pacman install command

* Relocating Arch support message for install.sh

* use DEFAULT_ROOT_PATH in tests (#10801)

* Disable the pytest-monitor plugin in CI if not checking results (#10837)

* disable the pytest-monitor plugin if not reporting results

pytest-monitor uses multiprocessing and has caused multiple confusing
issues.  Perhaps it can be adjusted to not use multiprocessing, but
for now lets just isolate the oddities to where we actually use it.

* use a template for resource usage check, similar to timelord install

* hint testconfig.custom_vars

* Check for requesting items when creating an offer (#10864)

* updated gui to 054d7b342e

* Added `-n`/`--new-address` option to `chia wallet get_address` (#10861)

* Added `-n`/`--new-address` option to `chia wallet get_address`

* Formatting fix

* Complemented --new-address with --latest-address per feedback

* Minor output formatting/enhancements for `chia wallet show` (#10863)

* Minor output formatting/enhancements for `chia wallet show`

* Updated format based on internal poll results

* Linter fix and row rearrangement.

* Hardcoded SSL test certs/keys (#10828)

* Hardcoded SSL test certs/keys

* Added a second set of certs/keys.
Cert/key sets are infinitely cycled-through using get_next_private_ca_cert_and_key() and get_next_nodes_certs_and_keys()

* More cert/key sets and a tool to generate them

* Updated SSL generator to sign with the appropriate root CA.
Fixed linter issues.

* Linter fixes

* Updated generate_ssl_for_nodes() based on feedback

* reduce indentation in a few functions in blockchain.py by negating early-exit checks and loop continues (#10872)

* fix typo and index issues in wallet database (#10273)

* fix typo in wallet_puzzle_store

* check some SQL statements

* deduplicate name SQL index

* deduplicate wallet_type index

* deduplicate wallet_id index

* Update appdmg to 0.6.4 to work with macos 12.3 (#10886)

* fixup and enable condition checking tests (#10888)

* fixup and enable tests for the edge cases of absolute timestamp and absolute height conditions in mempool_manager

* Update chia/full_node/full_node_api.py

Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>

Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>

* Bump colorlog from 5.0.1 to 6.6.0 (#9207)

Bumps [colorlog](https://github.com/borntyping/python-colorlog) from 5.0.1 to 6.6.0.
- [Release notes](https://github.com/borntyping/python-colorlog/releases)
- [Commits](https://github.com/borntyping/python-colorlog/compare/v5.0.1...v6.6.0)

---
updated-dependencies:
- dependency-name: colorlog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 2 to 3 (#10505)

* Bump actions/checkout from 2 to 3

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update actions in templates too

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>

* Bump github/super-linter from 4.8.1 to 4.9.1 (#10894)

* Bump github/super-linter from 4.8.1 to 4.9.1

Bumps [github/super-linter](https://github.com/github/super-linter) from 4.8.1 to 4.9.1.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/v4.8.1...v4.9.1)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Ignore too-many-function-args in test_type_checking.py

* black

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>

* fix type annotations for get_block_generator() (#10907)

* fix type annotations for FullBlock.header_hash and FullBlock.prev_header_hash (#10909)

* new DBWrapper supporting concurrent readers (#10166)

* new DBWrapper supporting concurrent readers

* adress review comments

* fixup default database version, when file doesn't exist

* remove unused argument

* use rust clvm in Program.run() (#10878)

* remove Program.from_serialized_program

* run the rust clvm implementation (instead of python) even for wallet programs

* Fix flaky trade test (#10921)

* single thread executor (#10919)

* add inline executor and an option to run single-threaded

* add option to run test_full_sync in single-thread mode, to include block validation in profiles. Also attempt to speed it up by disabling db_sync

* await the db commit in the async version of set_db_version (#10906)

* bump pre-commit mypy to v0.942 (#10902)

* bump clvm_tools dependency to make every chia-blockchain installation get the new brun that reports cost accurately (#10880)

* wallet: Drop unused `WalletStateManager.load_wallets` (#10756)

* Switch to integrated lock_and_load_config() context manager (#10698)

* minor lock scope reduction

* use the lock in tests

* Use the passed root_path in configure CLI command

* switch to lock_and_load_config()

* oops

* cleanup

* make _load_config_maybe_locked() private

* black

* Remove future improvement opportunity TODO comment

* move pytest.ini to the root directory (#10892)

* move pytest.ini to the root directory

* pytest.ini: testpaths = tests

https://docs.pytest.org/en/7.1.x/reference/reference.html?highlight=testpaths#confval-testpaths

* set CHIA_ROOT in tests instead of symlinking (#10682)

* attempt to checkout test-cache directly to desired location

* rebuild workflows

* maybe we can use CHIA_ROOT

* use CHIA_ROOT to find blocks and plots for tests

* oops

* more informational printing

* oops

* --capture no for debugging

* flake8

* import os

* undo some unrelated changes now covered elsewhere

* undo some debug changes

* rebuild workflows

* Remove sys.exit() from chia daemon /exit endpoint (#10454)

* asyncio.get_event_loop() is deprecated in 3.10, stop using it (mostly) (#10418)

* asyncio.get_event_loop() is deprecated in 3.10, stop using it

https://docs.python.org/3.10/library/asyncio-eventloop.html#asyncio.get_event_loop
> Deprecated since version 3.10: Deprecation warning is emitted if there is no running event loop. In future Python releases, this function will be an alias of get_running_loop().

* black

* run tests in CI via coverage (#9704)

* Add coverage (without collection)

* Separate test_block_compression() to avoid coverage-related hangs

* Revert "Separate test_block_compression() to avoid coverage-related hangs"

This reverts commit ebad3d0017.

* multiprocessing.set_start_method("spawn")

* multiprocessing.set_start_method() in conftest.py

* hand hold cc wallet tests

* lint

* spawn for running chia as well

* handle already set start method case

* a bit more timeout for test_multiple_writers

* more timeout for test_writer_lock_blocked_by_readers

* 45 minute tieout for tests/pools/

* 45 minute tieout for tests/pools/

* some more hand holding sleeps

* report coverage in each workflow

only really useful to make sure it is capturing something

* oops

* complete the job name and the JOB_NAME

* better coverage result file names

* reset worker process titles

* rebuild workflows

* rebuild workflows

* black

* black

* rebuild workflows

* push timeouts

* actually include the updated workflows...

* push more workflow timeouts

* parallel=True

* rebuild workflows

* restrict click to < 8.1 for black (#10923)

https://github.com/pallets/click/issues/2225

Doing this instead of updating since updating black will change several
files due to some formatting change.  I would like to take that on
separately from unbreaking CI.

* fixup workflow template merge env duplication (#10925)

* ignore lack of hinting on clvm_tools.binutils.assemble() (#10926)

* Contextualize some store test db names. (#10942)

* Type check values in RL Wallet (#10935)

* Use uint128 for wallet balances (#10936)

* Add more type checks to CAT Wallet (#10934)

* Bump actions/github-script from 4 to 6 (#10246)

* Bump actions/github-script from 4 to 6

Bumps [actions/github-script](https://github.com/actions/github-script) from 4 to 6.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to github.rest.* for calls to API for compat w/ github-script@v5+

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>

* Bump actions/setup-node from 2.4.1 to 3 (#10506)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.1 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.1...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/cache from 2.1.6 to 3 (#10846)

* Bump actions/cache from 2.1.6 to 3

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update actions in templates also

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>

* Fix trailing bytes shown in CAT asset ID row when using `chia wallet show` (#10924)

* Truncate CAT asset_id output to 32 bytes. A wallet RPC change is needed
to properly separate out the asset ID from the TAIL program returned by
`get_all_wallet_info_entries()`

* Move the truncation to the assignment location

* Consolidate test fixtures (#10778)

* Rename confusing fixtures, especially ones with the same name but different implementation

* revert premature fixture rename: two_wallet_nodes_start_height_1

* Consolidate test fixtures

* Quick fix for improper v2 DB initialization when targeting testnet (#10952)

* bump timing threashold for mempool performance test (#10953)

* Ms.parallel pool t (#10966)

* Try parallel pool tests

* Also change workflow files

* Run less combinations

* Todo for bad test

* Try lower n

* run more tests in parallel on CI (#10960)

* run more tests in parallel on CI

* fix test_farmer_get_harvesters to wait for plots to be loaded before asking about them

* improve error message when a block is missing from the blockchain database (#10958)

* improve error message when a block is missing from the blockchain database

* Update chia/full_node/block_height_map.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Also throw DB error on double spending a coin (#10947)

* Throw error on double spending a coin

* Throw error on double spending a coin

* Improve test

* reorg fixes (#10943)

* when going through a reorg, maintain all chain state until the very end, when the new fork has been fully validated and added

* when rolling back the chain, also rollback the height-to-hash map

* add tests

* Fix the issues in main (failing tests) (#10977)

* Fix one of the issues in test_blockchain

* Only rollback after all async operations are finished

* back to a single option for workflow parallel config (#10979)

* limit test output on CI by dropping -s and -v. Also, only print the 10 slowest tests, instead of all (#10959)

* Ms.flaky gen speed (#10965)

* Flaky test sometimes goes slower than 1 second

* Add sleep to reduce flakiness

* Increase timeout instead of sleeping to hopefully reduce flakiness

* fix test_full_sync.py to only feed the blocks in the main chain to the node (#10974)

* Bump peter-evans/create-pull-request from 3 to 4 (#10950)

Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* normalized_to_identity_cc_ip from get_consecutive_blocks was being passed in as overflow_cc_challenge in get_full_block_and_block_record (#10941)

* fix performance tests (#10983)

* Check for vulnerable openssl (#10988)

* Check for vulnerable openssl

* Update OpenSSL on MacOS

* First attempt - openssl Ubuntu 18.04 and 20.04

* place local/bin ahead in PATH

* specify install openssl

* correct path

* run ldconfig

* stop building and check for patched openssl

* spell sudo right by removing it

* Remove openssl building - 1st attempt RHs

* Test Windows OpenSSL version HT @AmineKhaldi

* Non Hobo patch the winstaller for CVE-2022-0778 (#10995)

* apt show not needed (#10997)

* install/upgrade openssl on Arch Linux also (#10999)

* Compile python 3.9.11 which is aware of the openssl issue (#11001)

* install.sh is not upgrading OpenSSL on MacOS (#11003)

* MacOS isn't updating OpenSSL in install.sh

* Exit if no brew on MacOS

* Code the if tree like a pro instead.

Co-authored-by: Kyle Altendorf <sda@fstab.net>

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* force index in get_coin_records_by_names (#10987)

* force index in get_coin_records_by_names

* fix lint

* Fix remaining linting issues (#10962)

* FIx remaining linting issues

* Revert type:ignore

* Revert token_bytes change

* streamable|pools: Fix `Optional` parsing in `dataclass_from_dict` (#10573)

* Test more `Optional` parsing in `dataclass_from_dict`

* Fix optional parsing in `dataclass_from_dict`

* Fix pool wallet / tests

* run_generator2 rust call and compact conditions data structure (#8862)

* use run_generator2 rust call and compact spend bundle conditions data structure pervasively.

* address review comments

* Faster full node tests (#10986)

* Start fast full node tests

* Perf improvement on send_transaction

* Major performance improvement for mempool test

* Speed up another test

* Speed up mempool tests startup

* Lint

* Debug tests

* Try function scope for wallet_nodes

* Update comment

* Force apt to install the things we asked it to (#11047)

* Force apt to install the things we asked it to

* Update .github/workflows/benchmarks.yml

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

* github: Drop unused `BUILD_VDF_CLIENT` variables (#11050)

From my understanding this is only used by `chiavdf` source builds which 
happen only if `install-timelord.sh` gets called but it doesn't in the 
addressed cases.

* bump up to 2.1.7 to fix inotify issue resolved by 848 (#11042)

* fix memory leak in test_full_sync (#11004)

* full_node: Drop unused `MempoolManager.constants_json` (#11046)

* simplify some header hash getting and assertions (#11007)

* Remove websockets dependency & do some refactoring (#10611)

* remove old ws

* Prepare test blocks and plots only for tests that need them. This saves us a couple more hours of CI running time. (#10975)

* Adding clean-workspace step to benchmarks (#11063)

* Checkout test blocks and plots for benchmarks workflow (#11068)

* Improve handling of unknown pending balances (likely change from addi… (#10984)

* Improve handling of unknown pending balances (likely change from adding a maker fee).
Minor improvement for fingerprint selection -- enter/return selects the logged-in fingerprint.

* Minor output formatting improvements when showing offer summaries.
Minor wallet key selection improvements.
Added tests for print_offer_summary

* Linter fixes

* isort fix

* Coroutine -> Awaitable

* Removed problematic fee calculation from get_pending_amounts per feedback.

* print average block rate at different block height windows (#11064)

* add -d for Install.ps1 (#11062)

* Set keychain_proxy to None in await_closed() to support reinitialization (#11075)

* Set keychain_proxy to None in await_closed() to support reinitialization.

* Added `shutting_down` param to _await_closed() to control whether the keychain_proxy is closed.

* Significantly speedup preparing test blocks and plots by opting for a release download instead of a shallow git clone, and also by putting a caching layer on top of that. (#11065)

* Bump github/super-linter from 4.9.1 to 4.9.2 (#11067)

Bumps [github/super-linter](https://github.com/github/super-linter) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/v4.9.1...v4.9.2)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove dead snakes usage from benchmark tests (#11053)

* Handle INSTALL_PYTHON_VERSION in Install.ps1, otherwise search 3.9/3.8/3.7 (#11034)

* Handle INSTALL_PYTHON_VERSION in Install.ps1, otherwise search 3.9/3.8/3.7

* fix python availability check in Install.ps1

* when Install.ps1 does not find an acceptable python, list supported versions in order

* Update Install.ps1

Co-authored-by: Matt Hauff <quexington@gmail.com>

Co-authored-by: Matt Hauff <quexington@gmail.com>

* wallet: Drop `puzzles/genesis_checkers.py` and related puzzles (#10790)

Its all duplicated code and puzzles as far as i can tell, see 
`chia/wallet/puzzles/tails.py`.

* Bump cryptography from 3.4.7 to 36.0.2 (#10787)

Bumps [cryptography](https://github.com/pyca/cryptography) from 3.4.7 to 36.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.4.7...36.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* wallet: Improve logging in `create_more_puzzle_hashes` (#10761)

* wallet: Improve logging in `create_more_puzzle_hashes`

It's pretty spammy currently when scanning puzzle hashes.

* scan -> create, Scanning -> Creating

* `scanning_msg` -> `creating_msg`

* Add /cat_get_unacknowledged API for accessing unknown CATs (#10382)

* Add /cat_get_unacknowledged API for accessing unknown CATs

* Reformat & fix cast issue

* Integration tested & add unit test

* Handle optional uint32

* Reformat

* Reformat

* Reformat

* Merge PR 10308

* Reformat

* Fix concurrent issue

* Add state change notification

* rename API

* Fix failing tests

* Updated state_change name

Co-authored-by: Jeff Cruikshank <jeff@chia.net>

* Increases the probability of connecting to local trusted node (#10633)

* extend tests in test_blockchain to include more conditions, as well as ensuring consensus rules allow unknown condition parameters (#11079)

* chia|tests|github: Implement, integrate and test plot sync protocol (#9695)

* protocols|server: Define new harvester plot refreshing protocol messages

* protocols: Bump `protocol_version` to `0.0.34`

* tests: Introduce `setup_farmer_multi_harvester`

Allows to run a test setup with 1 farmer and mutiple harvesters.

* plotting: Add an initial plot loading indication to `PlotManager`

* plotting|tests: Don't add removed duplicates to `total_result.removed`

`PlotRefreshResult.removed` should only contain plots that were loaded
properly before they were removed. It shouldn't contain e.g. removed
duplicates or invalid plots since those are synced in an extra sync step
and not as diff but as whole list every time.

* harvester: Reset `PlotManager` on shutdown

* plot_sync: Implement plot sync protocol

* farmer|harvester: Integrate and enable plot sync

* tests: Implement tests for the plot sync protocol

* farmer|tests: Drop obsolete harvester caching code

* setup: Add `chia.plot_sync` to packages

* plot_sync: Type hints in `DeltaType`

* plot_sync: Drop parameters in `super()` calls

* plot_sync: Introduce `send_response` helper in `Receiver._process`

* plot_sync: Add some parentheses

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* plot_sync: Additional hint for a `Receiver.process_path_list` parameter

* plot_sync: Force named parameters in `Receiver.process_path_list`

* test: Fix fixtures after rebase

* tests: Fix sorting after rebase

* tests: Return type hint for `plot_sync_setup`

* tests: Rename `WSChiaConnection` and move it in the outer scope

* tests|plot_sync: More type hints

* tests: Rework some delta tests

* tests: Drop a `range` and iterate over the list directly

* tests: Use the proper flags to overwrite

* test: More missing duplicates tests

* tests: Drop `ExpectedResult.reset`

* tests: Reduce some asserts

* tests: Add messages to some `assert False` statements

* tests: Introduce `ErrorSimulation` enum in `test_sync_simulated.py`

* tests: Use `secrects` instead of `Crypto.Random`

* Fixes after rebase

* Import from `typing_extensions` to support python 3.7

* Drop task name to support python 3.7

* Introduce `Sender.syncing`, `Sender.connected` and a log about the task

* Add `tests/plot_sync/config.py`

* Align the multi harvester fixture with what we do in other places

* Update the workflows

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Add wallentx as additional assignee on mozilla CA update PRs (#11089)

* rebuild workflows (#11092)

* transition to using chia_rs module (#11094)

* Fix the case of claiming a large number of coins (#11038)

* 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

* Ms.fast test blockchain (#11051)

* more work on test blockchain

* Optimize test_blockchain.py

* Fix weight proof bug

* Rename variable

* first rc_sub_slot hash bug

* New plots

* try with a new ID

* Run without cache

* Address test blocks and plots preparation.

* Update constant in test_compact_protocol().

* Update this constant too.

* Revert accidental altering of the gui submodule in ae7e3295f280a591e76c4dffdea75fb74ea5de6f.

* Fix benchmark test

* Revert mozilla-ca change

* Rebase on main

Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>

* can we get by without dead snakes? (#11070)

* can we get by without dead snakes?

* Update install-timelord.sh

* Revert "Update install-timelord.sh"

This reverts commit cba3250b09.

* do not install python dev package for timelords build in ci

it is already there...

* more quotes for sh

* Changelog from 1.3.3 (#11081)

* Updating changelog

* Update appdmg to 0.6.4 to work with macos 12.3 (#10886)

* restrict click to < 8.1 for black

https://github.com/pallets/click/issues/2225

Doing this instead of updating since updating black will change several
files due to some formatting change.  I would like to take that on
separately from unbreaking CI.

* Check for vulnerable openssl (#10988)

* Check for vulnerable openssl

* Update OpenSSL on MacOS

* First attempt - openssl Ubuntu 18.04 and 20.04

* place local/bin ahead in PATH

* specify install openssl

* correct path

* run ldconfig

* stop building and check for patched openssl

* spell sudo right by removing it

* Remove openssl building - 1st attempt RHs

* Test Windows OpenSSL version HT @AmineKhaldi

* Get updated openssl version (#10991)

* Get updated openssl version

* Update pyinstaller

* Fix typo

* lets try this

* Let's try this

* Try this

Co-authored-by: Earle Lowe <e.lowe@chia.net>

* Gh 1.3.3v2 (#11011)

* Non Hobo patch the winstaller for CVE-2022-0778 (#10995)

* install.sh is not upgrading OpenSSL on MacOS (#11003)

* MacOS isn't updating OpenSSL in install.sh

* Exit if no brew on MacOS

* Code the if tree like a pro instead.

Co-authored-by: Kyle Altendorf <sda@fstab.net>

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Remove hobo patch

* apt show not needed (#10997)

* install/upgrade openssl on Arch Linux also

* Update CHANGELOG

* revert Arch change backport

Co-authored-by: Kyle Altendorf <sda@fstab.net>

Co-authored-by: wallentx <william.allentx@gmail.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Gene Hoffman <30377676+hoffmang9@users.noreply.github.com>
Co-authored-by: William Allen <wallentx@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>

* consistently name installer github actions artifact zips (#11096)

* git -C and consistent activation in installer builds (#11098)

* updated gui to d714c21b4e

* only check the version once in installer build workflows (#11099)

* updated gui to 5f8b23fc7d

* updated gui to fccbd3e10d

* streamable: Simplify and force correct usage (#10509)

* streamable: Merge `strictdataclass` into `Streamable` class

* tests: Test not supported streamable types

* streamable: Reorder decorators

* streamable: Simplify streamable decorator and force correct usage/syntax

* streamable: Just move some stuff around in the file

* streamable: Improve syntax error messages

* mypy: Drop `type_checking.py` and `test_type_checking.py` from exclusion

* streamable: Use cached fields instead of `__annotations__`

This is now possible after merging `__post_init__` into `Streamable`

* Introduce `DefinitionError` as `StreamableError`

* `/t` -> `    `

* Expose farm_block RPC for simulator (#10830)

* expose farm block api to RPC for simulator

* lint

* pre-commit lint

* Ms.plot load perf2 (#10978)

* 2.7 seconds -> 0.45 seconds

* Merge

* Work on create_plots refactor

* Try to fix tests

* Try to fix tests

* Use new functions

* Fix block_tools by adding dir

* Extra argument

* Try to fix cyclic import

* isort

* Drop warning

* Some cleanups around `exclude_final_dir` and directory adding

* Cleanup `min_mainnet_k_size` checks

* Drop unrelated changes

* Fixes after rebase

* Fix cyclic import

* Update tests/block_tools.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

* Update tests/block_tools.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

* rebase and more fixes (#10885)

* derivation from just a master public key (#11140)

* Add dependencies macos rhel chiavdf (#11142)

* Added steps, when building the chiavdf wheel for macos and rhel-based systems, to install cmake and/or gmp.

* updated gui to d5b75bcf7a

* Revert "derivation from just a master public key (#11140)" (#11143)

This reverts commit db536c615a.

* Mark the github workspace as safe (#11159)

* Mark the github workspace as safe

* Move the git config step after git is installed in the test containers

* updated gui to 81303fb962

* optimize wallet tool by not caching the puzzle_hash -> derivation index, but caching puzzle_hash -> secret key (which is the lookup we're actually interested in). This avoids duplicating the actual derivation (#11154)

* make listen port colissions in CI less likely (#11164)

* Use get latest release endpoint for plotters, so that we ignore any pre-releases that could be returned by listReleases (#11165)

* Build cli only version of debs (#11166)

* Build cli only version of debs

* Export the vars needed by j2

* Fix paths

* Add symlink to chia in /usr/local/bin/

* Upload the cli only debs to s3

* Add init.py

* Ensure SHA is on the dev build for amd64

* add tool to generate a blockchain with full blocks, as a benchmark (#11146)

* Simplify how the chia symlink is created in the CLI .deb (#11188)

* fix block_tools feature when specifying a list of block references. Also add feature keep_going_until_tx_block. (#11185)

* Fix filename of latest intel dev installer (#11203)

* Add start_crawler and start_seeder to pyinstaller config (#11205)

* Pin mac intel installer to 10.15 (#11209)

* Revert "Pin mac intel installer to 10.15 (#11209)" (#11210)

This reverts commit 93a61eece1.

* Adding changelog (#11223)

* Adding changelog (#11223)

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: ChiaMineJP <admin@chiamine.jp>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: David Barratt <davidbarratt@users.noreply.github.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: William Blanke <wjb98672@gmail.com>
Co-authored-by: Juraj Oršulić <juraj.orsulic@fer.hr>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Florin Chirica <fchirica96@gmail.com>
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: William Allen <wallentx@users.noreply.github.com>
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
Co-authored-by: Johannes Tysiak <vinyl@users.sf.net>
Co-authored-by: Don Kackman <dkackman@gmail.com>
Co-authored-by: austinsirkin <a.sirkin@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
Co-authored-by: Brandon Butler <b.butler@chia.net>
Co-authored-by: Dave <72020697+daverof@users.noreply.github.com>
Co-authored-by: Freddie Coleman <f.coleman@hotmail.co.uk>
Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
Co-authored-by: arty <art.yerkes@gmail.com>
Co-authored-by: Francesco Truzzi <ftruzzi@users.noreply.github.com>
Co-authored-by: hugepants <hugepants@users.noreply.github.com>
Co-authored-by: Jack Nelson <jack@jacknelson.xyz>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Gene Hoffman <30377676+hoffmang9@users.noreply.github.com>
Co-authored-by: roseiliend <90035993+roseiliend@users.noreply.github.com>
Co-authored-by: Kronus91 <ytx1991@gmail.com>
Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: wallentx <william.allentx@gmail.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: Patrick Maslana <79757486+pmaslana@users.noreply.github.com>

* WIP commit for the new NFT spec

* Update to optimized singleton

* flesh out ownership layer

* nft_transfer_nft: (#11181)

* Introduce some error handling.
* The new_did_inner_hash and trade_price params should be optional for now.

* Add get_confirmed_balance(), get_unconfirmed_balance(), get_spendable_balance(), get_pending_change_balance() and get_max_send_amount() to NFTWallet. This fixes chia wallet show when NFTs are involved. (#11256)

* Needed for DID CLI: (#11268)

* RPC: Add /did_set_wallet_name and /did_get_wallet_name.
* DIDWallet: Add set_name() and get_name().

* Generalize the Offer class to more than CATs

* Remove CAT dependencies from trade_manager

* Fix offer RPC

* isort

* Further generalize the Offer drivers

* Update trade manager with new generalizations

* Fix offer RPC again

* Move outer_puzzles.py

* pivot from string to clvm for dict entries

* add test coverage for driver dict in RPC

* Remove some CAT specific stuff from tm

* Add comments explaining the changes

* Minor fixes

* isort and flake8

* More linting

* Include drivers in offer summary

* Better autodetection of drivers on offer creation

* Forgot to update rpc test

* checkpoint

* fix test and optimise state_layer puz

* rebuild workflows

* Pass Recovery Info in the Transfer case (#11249)

* Chialisp draft

* Modify python code

* Reformat & Fix tests

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* Handle recovery

* Chialisp draft

* Modify python code

* Reformat & Fix tests

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* add clvm files to recomp list

* fix rpc test

* flake8 fixes for tests

* flake 8 stupid fix

* Bug fix & flake8 fix for NFT tests

* Modify python code

* Chialisp draft

* Modify python code

* Bug fix & flake8 fix for NFT tests

* Generalize the message puzzle

* Add Pubkey as hint

* Receive DID

* Add DID APIs & Tests

* Fix tests

* Test fixes. in_transaction is now passed as a param to the various callers that eventually call save_info.

* Workflow Fix

* Add test config for DID/NFT

* Update workflow test yaml

* Fix install test script

* Fix typo

* Resolve comments

* Fix tests

* Change did_innerpuz and fix wallets for new design (#11196)

* correcting the design of did_innerpuz and related wallet changes

* remove breakpoint comments

* change decimal point accuracy of percentage system

* secure new_amount by fixing it to our current amount

* rename and update comments for new_amount - now my_amount

* rename P2_PUZZLE to simply INNER_PUZZLE

* fix variable re-declaration for flake/merge

* black and flake8 - inclduing wallet_state_manager bug fix

* update RPCs related to add_url
added commented out tests too, but DID needs fixing first

* Fix bugs in transfer case

* Fix pre-commit

* Fix install.sh test for bookworm

* Pass recovery info in the transfer case

* add clvm files to recomp list

* flake8 fixes for tests

* flake 8 stupid fix

* Modify python code

* Bug fix & flake8 fix for NFT tests

* Pass recovery info in the transfer case

* Fix tests

* Fix security issue of the recovery empty list

* Revert test code

* Allow assign fee when creating the wallet

* reformat

* Add option for pass recovery list

* DID wallet name generation & deduplication

* Fix test

* Remove file reading code

* Fix tests

Co-authored-by: matt <matt@chia.net>
Co-authored-by: Jeff Cruikshank <jeff@chia.net>
Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>
Co-authored-by: ytx1991 <t.yu@chia.net>

* Bumping GUI to 447ac34942

* metadata checkpoint

* fix state layer for metadata updater

* add test for metadata updating

* removed second param for create_ann condition

* forgot to compile clvm

* compiled updated clvm sha256

* * Add fees support to DID wallet creation RPC client. (#11363)

* Initial iteration of the chia wallet did create command. (#11237)

* Add nft_get_nft_info API (#11351)

* Add nft_get_nft_info API

* Refine NFT uncurry code

* Resolve comments

* Resolve comments

Co-authored-by: ytx1991 <t.yu@chia.net>

* almost generates a new nft

* generating nfts

* rpc fix

* DID set wallet name RPC API: Ensure that the wallet type is a DID wallet before proceeding. (#11391)

* Initial iteration of the chia wallet did set_name command. (#11334)

* make NFTWallet a dataclass (#11139)

* make NFTWallet a dataclass

* isort

* flake8

* mypy

* Optional

* Implement nft transfer program

* Resolve comment

* transfer wip

* checkpoint

* basic rpc api working

* Fix data hash issue

* pre commit hooks passing, tests pass

* removed old NFT tests

* workflow files?

* Attempt to fix workflows.

* Workflows?

* Prepare test blocks and plots for NFT wallet tests.

* Reflect the previous commit into workflows.

* clvm compilation fix

* future proof create_coin in nft state layer

* Add RPC client support for the create_new_wallet API. (#11430)

* nft_get_nfts returns a nicer response

* get nfts rpc should now conform to old format

* checkpoint

* Fix tests

* Remove impossible case

* metadata updater working with latest puzzles

* removed unused method

* mypy fix

* Bumping GUI to df86eca99a

* added state change events in nft wallet (#11469)

* added state change events in nft wallet

* Attempt to fix workflows.

Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>

* Bumping GUI to b4d3eebfe3

* fix for clvm compilation fail

* made nft state layer more future proof

* Add `chia.wallet.nft_wallet` to packages in setup.py

* Initial iteration of the NFT0 chia wallet nft create command. (#11476)

* Add wallet RPC client support for the NFT0 nft_mint_nft API. (#11477)

* Automatically create NFT wallet (#11482)

* Create NFT Wallet if there is not a NFT wallet

* Fix pre-commit

* Remove unnecessary log

* fix to merge into main_dids

* Initial iteration of the NFT0 chia nft mint command.

* Initial iteration of the NFT0 chia wallet nft add_uri command.

* Initial iteration of the NFT0 chia wallet nft transfer command.

* Initial iteration of the NFT0 chia wallet nft list command.

* NFT0: Make the wallet ID required for adding a URI.

* Bumping GUI to 725d77abba

* NFT0: Make the wallet ID required for transferring an NFT.

* Add fee option for NFT & limit NFT wallet creation (#11492)

* Add fee option for NFT & limit NFT wallet creation

* Fix pre-commit

* Add fee for update metadata

* Add the ability to set fees for minting NFTs, transferring NFTs and adding URIs to NFTs.

* Fix handling fees on the RPC API side.

* fix for missing minted coins

* updating metadata with multiple uris fix

* Consolidate test_did_rpc.py into test_wallet_rpc.py and make the tests use the wallet RPC client. (#4)

* Update workflows and minor formatting.

* faster tests, other fixes

* potentially fixes the did test failure

Co-authored-by: matt <matt@chia.net>
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com>
Co-authored-by: Jeff <jeff@chia.net>
Co-authored-by: Kronus91 <ytx1991@gmail.com>
Co-authored-by: ytx1991 <t.yu@chia.net>
Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: ChiaMineJP <admin@chiamine.jp>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: David Barratt <davidbarratt@users.noreply.github.com>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: William Blanke <wjb98672@gmail.com>
Co-authored-by: Juraj Oršulić <juraj.orsulic@fer.hr>
Co-authored-by: Florin Chirica <fchirica96@gmail.com>
Co-authored-by: Richard Kiss <him@richardkiss.com>
Co-authored-by: William Allen <wallentx@users.noreply.github.com>
Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
Co-authored-by: Johannes Tysiak <vinyl@users.sf.net>
Co-authored-by: Don Kackman <dkackman@gmail.com>
Co-authored-by: austinsirkin <a.sirkin@chia.net>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
Co-authored-by: Brandon Butler <b.butler@chia.net>
Co-authored-by: Dave <72020697+daverof@users.noreply.github.com>
Co-authored-by: Freddie Coleman <f.coleman@hotmail.co.uk>
Co-authored-by: arty <art.yerkes@gmail.com>
Co-authored-by: Francesco Truzzi <ftruzzi@users.noreply.github.com>
Co-authored-by: hugepants <hugepants@users.noreply.github.com>
Co-authored-by: Jack Nelson <jack@jacknelson.xyz>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Gene Hoffman <30377676+hoffmang9@users.noreply.github.com>
Co-authored-by: roseiliend <90035993+roseiliend@users.noreply.github.com>
Co-authored-by: almog <almogdepaz@gmail.com>
Co-authored-by: wallentx <william.allentx@gmail.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: xdustinface <xdustinfacex@gmail.com>
Co-authored-by: Patrick Maslana <79757486+pmaslana@users.noreply.github.com>
Co-authored-by: Sebastjan <trepca@gmail.com>
Co-authored-by: Andreas Greimel <andreas@mintgarden.io>
2022-05-27 13:47:08 -05:00
Kyle Altendorf
7e3e18bdfd
Catchup/long lived atari from release 1.4.0 46ebed37d8 (#11648)
* Resend transactions (#11167)

* 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>

* less except -> false (#10219)

* less except -> false

* establish_connection() and .perform_handshake() can just return None

* remove more pointless, and no wrong, assertions

* Write python version error to stderr (#11239)

Co-authored-by: wjblanke <wjb98672@gmail.com>

* simplify SizedBytes and StructStream (#11429)

* simplify SizedBytes and StructStream

* lint

* super()  !!!

* do not pass parameter up to super().__init__()

* Update chia/util/struct_stream.py

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>

* parse fixed-width int data from class name

* add int512 and uint128 .from_bytes(), test .parse() failures

* test serialization against struct.pack()

* use typing_extensions for final

* override ignore

* stop using struct for StructStream

oh the irony

* fixup .to_bytes() to accept parameters again for where we use that

* bring back signed parameter

* format

* adjust tests for new exception

* eliminate custom coding for uint128 and int512

* tidy

* remove unused StructStream.PACK attribute

* add direct tests for parse_metadata_from_name()

* stricter hinting

* remove no-longer-needed typeshed work-around

* apply strict type checking to all touched files

* remove StructStream override of .to_bytes()

* tidy

* types touchup

* add unused parameter comments

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
Co-authored-by: wjblanke <wjb98672@gmail.com>

* Allow services to set a non-default max request body size limit (#11516)

* updated bls to 13 (#11529)

* reduce the redundant computations of coin_ids in block_body_validation (#11530)

* add test for streamable -> json conversion (#11527)

* add test for streamable -> json conversion

* fixup test

* Uses the new `from_bytes_unchecked` method in blspy, to improve perfo… (#11463)

* Uses the new `from_bytes_unchecked` method in blspy, to improve performance

* Update test

* Fix merge conflict

* Use from_bytes_unchecked in post_init and from_json

* More uniform code

* rename test files that are missing test_ prefix (#10712)

* rename test files that are missing test_ prefix

* update mypy and isort excludes

* skip test_get_host_addr6() in GitHub Actions under macOS

* rebuild workflows

* Coin Selection Refactor With CAT Coin Selection Refactor  (#9975)

* 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: d7b91295b d9b0ef5f3
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: ce2165942 618fbaeba
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: 16aabb3fd 6daba28db
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: 0b9fc2845 2286fe426
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>

* rebuild workflows (#11543)

* remove the cache from CoinStore. It appears the cost of maintaining the cache outweighs the gains. (#11540)

* Keep daemon websocket alive during keyring unlock (#11371)

* When prompting to unlock the keyring during daemon launch, it's possible
that the daemon websocket connection will timeout before the user has
entered their passphrase. We can't quickly detect that the connection
has timed-out, so instead we now reconnect after collecting the
passphrase, unlock the keyring, and then close the old connection.

* mypy fix

* Switch to using asyncio.loop.run_in_executor to collect the passphrase on its own thread.

* Use a new ThreadPoolExecutor configured with 1 worker thread.

* Support searching derived addresses on testnet. (#11449)

* Support searching derived addresses on testnet.

* Added tests

* Optimize code to not perform useless subgroup checks (#11546)

* Optimize code to not perform useless subgroup checks

* Revert less important optimizations

* hints and strict type checking for test_wallet (#11541)

* hints and strict type checking for test_wallet

* fixup

* flip flop

* disable pytest-monitor by default (#11507)

* disable pytest-monitor by default

* take 2

* make recurse_jsonify() work directly on types (#11537)

* make recurse_jsonify() work directly on types, circumventing the dataclasses.asdict() step. This enables simpler integration of non dataclasses into the Streamable and JSON protocols

* add benchmark for Streamable.to_json_dict()

* tests: Split up and improve `test_wallet_rpc.py` (#11552)

This breaks up the one big test into 

```
test_send_transaction
test_create_signed_transaction
test_create_signed_transaction_with_coin_announcement
test_create_signed_transaction_with_puzzle_announcement
test_send_transaction_multi
test_get_transactions
test_get_transaction_count
test_cat_endpoints
test_offer_endpoints
test_key_and_address_endpoints
```

Note that there is still much more room for improvements. Also the 
following tests can still be split up more:

```
test_get_transactions
test_cat_endpoints
test_offer_endpoints
test_key_and_address_endpoints
```

* Remove unneeded uint64() intermediate in CAT wallet (#11575)

* Get get_args() and get_origin() from typing_extensions (#11571)

* Get get_args() and get_origin() from typing_extensions

* Update streamable.py

* cleanup

* Fix several flaky tests (#11576)

* 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

* Fix a few additional flaky tests (#11597)

* Fix a few additional flaky tests

* Lint

* Update tests/core/full_node/stores/test_full_node_store.py

Co-authored-by: Jeff <jeff@chia.net>

* Fix merge conflict

* Remove unnecessary function

Co-authored-by: Jeff <jeff@chia.net>

* Bind port 0 to fix race condition when grabbing available ports (#11578)

* 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

* restore missing hints being stored as None (instead of 0-length bytes) (#11568)

* Coin simplification (#11567)

* factor out as_list() from Coin into free function. Remove unused name_str() from Coin. Minor optimization of hash_coin_ids() for common case.

* extend Coin unit test

* test installer on fedora:36, drop 33

* add tests.util.misc.assert_maximum_duration for benchmark assertions (#11589)

* add tests.util.misc.assert_maximum_duration for benchmark assertions

* fix some imports

* more

* lint

* correct duration

* hint fixup

* rename to caller_file_and_line()

* set default timer to thread_time()

* extract gc manager and default to disabling

* self calibrate overhead

* wrap none-ness behind .results() method

* add messages

* from __future__ import annotations

* yield out self

* final from typing_extensions

* split it

* just use Future

* tweak

* tweak

* correction in loosely hint checked file

* all future indexing in hints

* union for the hints

* rename

* assert_runtime()

* another rename...

* message -> label

* label all results with test names

* oops

* early return from _set_spent function (#11594)

* check for removals before calling function

* move condition to function

* remove redundant condition (#11582)

* fix built-in profiler to work for mac (#11590)

* Bump actions/setup-python from 2 to 3 (#10949)

* Bump actions/setup-python from 2 to 3

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fixup templates for python@v3

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>

* avoid cancelling release/** and long_lived/** (#11519)

* tests: Some adjustments in `test_offer_endpoints` (#11558)

This is a follow up after #11552 which basically used the initial parts 
of `test_cat_endpoints` to make `test_offer_endpoints` working. Now this 
PR drops a lot of the stuff we can assume to be not needed in this test 
because its tested in `test_cat_endpoints` and it adds some general 
improvments to it.

* async sleep and require connection reset error for DoS test (#11612)

* fix jsonify bool

* Remove is not None and length assertion in select_coins() (#11569)

* Remove is not None and length assertion in select_coins()

The `coins is not None` check seems unneeded since `select_coins()` is hinted to return `Set[Coin]`.  The length requirement needlessly restricts from being able to request a zero amount.  Either situation would either trigger an exception in the next assert, or trigger the assert itself for non-zero amounts requested.

* also remove from cat_wallet.py

* new port 0 stuff

Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com>
Co-authored-by: Earle Lowe <e.lowe@chia.net>
Co-authored-by: Evan Graham <me@luakt.net>
Co-authored-by: wjblanke <wjb98672@gmail.com>
Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com>
Co-authored-by: Jack Nelson <jack@jacknelson.xyz>
Co-authored-by: Mariano Sorgente <sorgente711@gmail.com>
Co-authored-by: Jeff <jeff@chia.net>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: neurosis69 <83925572+neurosis69@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: William Allen <wallentx@users.noreply.github.com>
2022-05-26 18:11:21 -07:00
wjblanke
b44ae22077
updated bls to 13 (#11529) 2022-05-15 15:45:32 -07:00
Kyle Altendorf
259a2ce0ea
Merge commit 'd1e445fac2e503ea230acf74ec24a1bb9c529aee' into atari-merge_main_d1e445fac2e503ea230acf74ec24a1bb9c529aee 2022-05-13 16:08:17 -04:00
Kyle Altendorf
a03d1670f8
Merge tag '1.3.5' into atari-merge_release_1.3.5_0f5a6df4ffcd7b1d5b950b9f40c15b4e6045ee1b 2022-05-12 10:20:11 -04:00
Arvid Norberg
a4ec7e7cb8
Replace MerkleSet with the rust implementation of computing the merkle root. This saves about 20% of the CPU work in the main thread when validating blocks. (#11432) 2022-05-10 04:42:45 -07:00
arty
60f372fcaf
Bump clvm_tools_rs version for clvm stepper and add a test (#11418)
* Bump clvm_tools_rs version for clvm stepper and add a test

* lint

* lint

* flake8

* lint

* lint?

* formatting

* More formatting

* More formatting

* hopefully final lint

* A bit more formal python style for the clvm test

* Add typing imports
2022-05-05 09:14:23 -07:00
William Blanke
df850dbd6b
revert bls to 1.0.9 until windows threading issues are resolved 2022-05-02 10:34:09 -07:00
Earle Lowe
086de8d406
Update PyYAML to 6.0 for python 3.10 (#11273) 2022-04-28 03:22:10 -05:00
Earle Lowe
728bba0e1a
Remove multidict from setup.py for python 3.10 (#11272)
* Testing multidict 6.0.2

* Stop specifying multidict directly
2022-04-28 03:22:09 -05:00
Earle Lowe
b6370b2515
Update setproctitle to 1.2.3 for python 3.10 (#11274) 2022-04-28 03:22:08 -05:00
Kyle Altendorf
58e231e929
add daemon entry point (#11329)
* add daemon entry point

* remove argv parameter from chia.daemon.server.main()
2022-04-27 14:28:13 -07:00
Chris Marslender
3f0dd497a7
Update to pyinstaller 5.0 (#11289) 2022-04-25 09:20:39 -07:00
William Blanke
bb556dffbd
updated gui to 042e2af1a4. bls to 1.0.11 for windows multi 2022-04-24 10:25:05 -07:00
Earle Lowe
ee89334809
Update PyYAML to 6.0 for python 3.10 (#11273) 2022-04-23 20:13:06 -07:00
Earle Lowe
7cd2a6f0c8
Remove multidict from setup.py for python 3.10 (#11272)
* Testing multidict 6.0.2

* Stop specifying multidict directly
2022-04-23 20:11:56 -07:00
Earle Lowe
b1c7f70c9f
Update setproctitle to 1.2.3 for python 3.10 (#11274) 2022-04-23 20:11:31 -07:00
wjblanke
d473911454
revert to old bls no gil release until windows is sorted (#11275) 2022-04-22 11:37:17 -07:00
Kyle Altendorf
ddab10c7d6
locate pyinstaller in dev deps rather than build scripts (#11118) 2022-04-22 09:04:45 -06:00
William Blanke
ef3ac41f8b
updated bls and vdf to new releases 2022-04-20 11:52:23 -07:00
Kyle Altendorf
5b044ea497
locate pyinstaller in dev deps rather than build scripts (#11118) 2022-04-20 11:16:53 -07:00
dustinface
1e7703fe6a
plotting|tests|setup: Improve PlotManager cache (#9903)
* plotting|tests: Extend the lifetime of plot data cache entries

* plotting|tests: Add `prover` and `farmer_public_key` to the cache

* plotting: Missing type hints in `Cache` and `CacheEntry`

* setup: Bump `chiapos` to 1.0.10

* plotting: Move cache classes into `chia.plotting.cache`

* plotting: Introduce `CacheEntry.from_disk_prover`

* Make `Cache` a dataclass

* `staticmethod` -> `classmethod`

* Store cache data as `bytes` in `DiskCache`
2022-04-20 11:08:35 -07:00
Kyle Altendorf
83a740571b
aiohttp==3.8.1 for Python 3.10 (#11129) 2022-04-20 11:02:45 -07:00
Kyle Altendorf
b6c5babba3
Merge commit 'd154105a6b35f94649f15bca4e3fb8a11a39e70e' into atari-merge_main_d154105a6b35f94649f15bca4e3fb8a11a39e70e 2022-04-19 22:44:02 -04:00
Arvid Norberg
21fb6f260e
transition to using chia_rs module (#11094) 2022-04-08 09:37:10 -07:00
dustinface
ded9f68583
chia|tests|github: Implement, integrate and test plot sync protocol (#9695)
* protocols|server: Define new harvester plot refreshing protocol messages

* protocols: Bump `protocol_version` to `0.0.34`

* tests: Introduce `setup_farmer_multi_harvester`

Allows to run a test setup with 1 farmer and mutiple harvesters.

* plotting: Add an initial plot loading indication to `PlotManager`

* plotting|tests: Don't add removed duplicates to `total_result.removed`

`PlotRefreshResult.removed` should only contain plots that were loaded
properly before they were removed. It shouldn't contain e.g. removed
duplicates or invalid plots since those are synced in an extra sync step
and not as diff but as whole list every time.

* harvester: Reset `PlotManager` on shutdown

* plot_sync: Implement plot sync protocol

* farmer|harvester: Integrate and enable plot sync

* tests: Implement tests for the plot sync protocol

* farmer|tests: Drop obsolete harvester caching code

* setup: Add `chia.plot_sync` to packages

* plot_sync: Type hints in `DeltaType`

* plot_sync: Drop parameters in `super()` calls

* plot_sync: Introduce `send_response` helper in `Receiver._process`

* plot_sync: Add some parentheses

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* plot_sync: Additional hint for a `Receiver.process_path_list` parameter

* plot_sync: Force named parameters in `Receiver.process_path_list`

* test: Fix fixtures after rebase

* tests: Fix sorting after rebase

* tests: Return type hint for `plot_sync_setup`

* tests: Rename `WSChiaConnection` and move it in the outer scope

* tests|plot_sync: More type hints

* tests: Rework some delta tests

* tests: Drop a `range` and iterate over the list directly

* tests: Use the proper flags to overwrite

* test: More missing duplicates tests

* tests: Drop `ExpectedResult.reset`

* tests: Reduce some asserts

* tests: Add messages to some `assert False` statements

* tests: Introduce `ErrorSimulation` enum in `test_sync_simulated.py`

* tests: Use `secrects` instead of `Crypto.Random`

* Fixes after rebase

* Import from `typing_extensions` to support python 3.7

* Drop task name to support python 3.7

* Introduce `Sender.syncing`, `Sender.connected` and a log about the task

* Add `tests/plot_sync/config.py`

* Align the multi harvester fixture with what we do in other places

* Update the workflows

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2022-04-07 17:10:44 -07:00
dependabot[bot]
ab71236215
Bump cryptography from 3.4.7 to 36.0.2 (#10787)
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.4.7 to 36.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.4.7...36.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-07 09:20:30 -07:00
Jack Nelson
9b7d7d2555
Remove websockets dependency & do some refactoring (#10611)
* remove old ws
2022-04-05 10:19:09 -07:00
wjblanke
261f5baa6f
bump up to 2.1.7 to fix inotify issue resolved by 848 (#11042) 2022-04-04 23:35:28 -07:00
Kyle Altendorf
36bee1b8ca
run tests in CI via coverage (#9704)
* Add coverage (without collection)

* Separate test_block_compression() to avoid coverage-related hangs

* Revert "Separate test_block_compression() to avoid coverage-related hangs"

This reverts commit ebad3d0017.

* multiprocessing.set_start_method("spawn")

* multiprocessing.set_start_method() in conftest.py

* hand hold cc wallet tests

* lint

* spawn for running chia as well

* handle already set start method case

* a bit more timeout for test_multiple_writers

* more timeout for test_writer_lock_blocked_by_readers

* 45 minute tieout for tests/pools/

* 45 minute tieout for tests/pools/

* some more hand holding sleeps

* report coverage in each workflow

only really useful to make sure it is capturing something

* oops

* complete the job name and the JOB_NAME

* better coverage result file names

* reset worker process titles

* rebuild workflows

* rebuild workflows

* black

* black

* rebuild workflows

* push timeouts

* actually include the updated workflows...

* push more workflow timeouts

* parallel=True

* rebuild workflows
2022-03-28 13:22:23 -07:00
Arvid Norberg
84cdd609e9
bump clvm_tools dependency to make every chia-blockchain installation get the new brun that reports cost accurately (#10880) 2022-03-28 12:49:14 -07:00
dependabot[bot]
aa296db3cb
Bump colorlog from 5.0.1 to 6.6.0 (#9207)
Bumps [colorlog](https://github.com/borntyping/python-colorlog) from 5.0.1 to 6.6.0.
- [Release notes](https://github.com/borntyping/python-colorlog/releases)
- [Commits](https://github.com/borntyping/python-colorlog/compare/v5.0.1...v6.6.0)

---
updated-dependencies:
- dependency-name: colorlog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 22:23:08 -07:00
Kyle Altendorf
6fc66009c6
Merge commit 'bf2976a2a9dfdd1b71db48030ef79a4a571feae0' into atari-merge_main_bf2976a2a9dfdd1b71db48030ef79a4a571feae0 2022-03-25 17:13:28 -04:00
arty
36ea914201
Bump clvm_tools_rs to fix a problem running as daemon caused by old log message that is now eliminated (#10788) 2022-03-17 14:57:39 -07:00
arty
4bd8498e5a
Enable clvm_tools_rs by default (#10554)
* Enable clvm_tools_rs by default

* Re-add clvm_tools dep for now as it provides python idioms for interacting with clvm data

* Take lint formatting

* Adam: Try making this non-parallel

* Try fix for threading issue in tests

* Test whether turning off parallel runs causes things to work (temp)

* Test use of temp files in clvm_tools_rs as a candidate solution for atomic replacement of hex output

* Use proper git+https url scheme (oops)

* Update to candidate 0.1.6 so we can test

* Revert version bump to re-test

* Test whether we can re-enable parallelism

* Attempt to mitigate concurrent test running: return own conception of the compiled output.  This will work if the failing path is downstream of recompilation

* fix path to hex file

* Probe for source of 0-length data

* Further exploration: more assertions, hopefully to trigger in the test on ci

* Do an even more paranoid check to verify that we observe a file whose filesystem reported size is much smaller than expected

* Try a heavier handed approach, using heavyweight lockfiles on the filesystem

* Import a simple lockfile implementation and use it to enforce mutual exclusion.  Simplify it and remove the unwanted os traffic

* Take lint, precommit advice, bump to clvm_tools_rs 0.1.6 now that it's released

* Fix lint

* While i was working on this, -n auto was on the command line so i think this didn't actually do anything, but reverting my change just in case

* Lint

* label the hashes re: pr

* Add a lock.py for spot exclusivity using the filesystem (re: adam in the pr) and a convenience wrapper that hides the details

* Formatting warning

* Ensure type info is present and do the obvious return of the inner function's result

* Use double quotes (lint)

* Properly balance blank lines

* Lint: alphabetize imports

* One line is required here (lint)

* Remove unnecessary assignment
2022-03-17 09:08:36 -07:00
Kyle Altendorf
6e93b5a225
Merge commit '05f96670181654415b1ad219d38463228f30b0ce' into atari-merge_main_05f96670181654415b1ad219d38463228f30b0ce 2022-03-16 15:45:37 -04:00
Kyle Altendorf
dbeff36ae0
Add configuration locking (#10680)
* Add configuration locking

Extracted from https://github.com/Chia-Network/chia-blockchain/pull/10631

* note that fasteners will likely be replaced by filelock

* Fix test_multiple_writers on macOS

* create_all_ssl() doesn't need to be inside the config access lock

* add warnings about not using async within get_config_lock() get lock contexts

* no need to pre-touch the lock file

* .yaml.lock instead of just .lock

* test_multiple_writers() is sync

* Revert "add warnings about not using async within get_config_lock() get lock contexts"

This reverts commit 681af3835b.

* reduce lock context size in chia_init()

* use an exit stack in load_config()

* avoid config existence precheck

* only lock around the read in load_config()

* do not raise e, just raise

* tidy new imports

* fix queue empty check in test_config.py

* remove commented out code in test_config.py

* remove unused import

Co-authored-by: Jeff Cruikshank <jeff@chia.net>
2022-03-12 06:52:47 -08:00
Kyle Altendorf
e79768ede6
Merge commit '98971de9d525e1de323ecb09f0777cca6286f932' into atari-merge_main_98971de9d525e1de323ecb09f0777cca6286f932 2022-03-10 21:26:45 -05:00
Adam Kelly
ff324095cc
Remove block tools and keychain globals (#10358)
* Use bt fixture

* rebase

* Use local_hostname

* Fix test_json (inheritance from unittest.TestCase)

* Use correct BlockTools fixture for test_simulation

* Pass bt fixture into cost calculation tests

* flake8

* Add missing parameters to test functions

* Fix from rebase issues

* Remove set_shared_instance

* Update comment

* Remove unneeded comments

* Remove unused code

* Remove unused code, run `multiprocessing.set_start_method("spawn")` at correct time.

* Revert unrelated change

* Set daemon_port. Teardown services in correct order.
    BIG thanks to Mariano Sorgente for debugging help.

* Add back type signature - rebase issue

* Apply review fixes from Jeff

* Document why we need a later pytest-asyncio version

* Correct type for _configure_legacy_backend

* See what's going on during CI mypy run

* github workflows

* mypy typing

* Remove legacy Keyring create method

* Start daemon first

* Shutdown daemon coroutine properly

* Remove un-needed daemon_port argument

* Set chia-blockchain-gui to hash in main

* Remove connect_to_daemon_port

* Remove code that set "daemon_port" before calling `setup_daemon`

* Remove self_hostname fixture and extra self_hostname global

* Fix two test files that were not importing self_hostname

* self_hostname fixture

* Remove more unused test code

* Simplify  fixture
2022-03-10 11:06:49 -08:00
Kyle Altendorf
0992710492
Require pytest-asyncio>=0.17.0 for @fixture() (#10560) 2022-03-08 08:48:19 -08:00
Kyle Altendorf
af163a1c5b
Merge commit '87aeadc34310eb86aa0bd56f4eb00f84cc9563b2' into atari-merge_main_87aeadc34310eb86aa0bd56f4eb00f84cc9563b2 2022-03-01 17:59:11 -05:00
Kyle Altendorf
a50b113bc7
Merge commit 'fa2cdd6492bcffbe61f50fde8b5e1d4fd2ac5a16' into atari-merge_main_fa2cdd6492bcffbe61f50fde8b5e1d4fd2ac5a16 2022-03-01 10:25:32 -05:00
Kyle Altendorf
43138bccf0
move build and twine to be dev deps rather than workflow installs (#10291) 2022-02-24 20:58:28 -08:00
Kyle Altendorf
b98d9a56f6
Fix setuptools_scm local_scheme configuration (#10296)
* only configure setuptools_scm in pyproject.toml

* unban setuptools 60.9.1 and 60.9.2
2022-02-18 15:58:24 -05:00
Kyle Altendorf
ffe4e7ca37
Fix setuptools_scm local_scheme configuration (#10296)
* only configure setuptools_scm in pyproject.toml

* unban setuptools 60.9.1 and 60.9.2
2022-02-18 10:29:55 -05:00
dustinface
98971de9d5
pre-commit: Add a new hook to run isort (#8827)
* pre-commit: Add a new hook to run `isort`

* contributing: Add hint about `isort`

* add isort to dev deps, ignore existing .py files, use black profile

* long list to lines not comma delimited

* isort: Update and sort ignore list to match latest `main`

* add bash command line to generate isort extend skip list (#3)

* add bash command line to generate extend skip list

* tidy

* isort: More files to ignore after rebase

* tests: Fix `test_wallet_user_store.py` after rebase

* Some fixes after rebase

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2022-02-15 07:28:53 -08:00
Chris Marslender
eb3ed142e0
Crawler RPC (#10141)
* Add crawler RPC server

* Generate private keypair for crawler

* Bring over cleanup changes from the last closed PR

* Update the crawler RPC information to be its own subsection within seeder

* Add sleep before crawling to let the daemon connection get set up

* Wait for the actual callback to not be None, instead of just a random sleep interval

* Rework crawler/dns seeder to use the daemon + normal chia start process rather than the old system intended for the standalone repo

* Update configure testnet to work with seeder config

* Add back the crawler/seeder options from the standalone version

* Remove the check for none/sleep. Not needed when this is started by the daemon

* Add real data to the get_peer_counts endpoint

* Lint

* Fix calls to configure from init

* Turns out we still might sometimes move too quick before daemon/state changed callback is ready

* Add peer counts in the state_changed callback method

* Add a setting for peer_connect_timeout in the seeder: section so we can control it just for crawler

* start_seeder

* Pass config/root_path to the DNSServer so it can also use the configured crawler DB Path

* change in () instead of if/or

* Remove unnecessary return
2022-02-14 11:48:35 -08:00
Kyle Altendorf
34f94bece8
add new wallet packages to setup.py 2022-02-07 20:28:56 -05:00
William Blanke
bd9153c876
updated chiapos 2022-02-01 10:12:12 -08:00
Kyle Altendorf
f157145e9c
Pin black==21.12b0 for click 7 support. (#10027) 2022-01-31 12:50:32 -05:00
Kyle Altendorf
7c2c04b984
Pin black==21.12b0 for click 7 support. (#10027) 2022-01-29 13:54:30 -08:00
Arvid Norberg
b8ada1ceb7
introduce restrictions on generators at a specific height (#9957)
* introduce restrictions on generators at a specific height. disallow division on negative numbers and disallow redundant leading zeros on integer condition arguments (produced by a generator)

* use SOFT_FORK_HEIGHT constant

* there is no need to specify height when validating block in block_creation

* Update tests/core/full_node/test_mempool.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
2022-01-28 12:29:11 -08:00
Florin Chirica
80c87a217e
Update chiavdf. (#9982) 2022-01-27 16:02:23 -08:00
Jack Nelson
fe8a3f7aca
Update Dependencies for python 3.10. Part 1 of many (#9808)
* Update initial Dependencies

try to get python 3.10 ready.

* final changes

* Update setup.py

* Revert Click

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Update setup.py

* Update setup.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2022-01-25 07:43:01 -08:00
Kyle Altendorf
4453f32363
Merge commit '2acf03e850fb883dc6ca5a554f5f827097157ac1' (latest main) into atari-merge_main_2acf03e850fb883dc6ca5a554f5f827097157ac1 2022-01-19 10:37:04 -05:00
Kyle Altendorf
7cc1728503
Merge branch 'atari' into atari-merge_main_89f15f591cc3cc3e8ae40e95ffc802f7f2561ece 2022-01-15 12:26:37 -05:00
Kyle Altendorf
690d94555d
unpin types-click as well 2022-01-15 00:29:07 -05:00
Kyle Altendorf
90426f84d8
Unpin mypy 2022-01-14 23:35:59 -05:00
Matt Hauff
6e899f5992
Merge commit '89f15f591cc3cc3e8ae40e95ffc802f7f2561ece' into atari-merge_main_89f15f591cc3cc3e8ae40e95ffc802f7f2561ece 2022-01-14 20:11:22 -07:00
Kyle Altendorf
2a79868a61
Merge commit '0ba838b7a8ea2b5410d438ac70295df699a30dae' (main) into atari-merge_main_0ba838b7a8ea2b5410d438ac70295df699a30dae 2022-01-14 19:21:13 -05:00
dependabot[bot]
ec15343ec2
Bump dnslib from 0.9.14 to 0.9.17 (#9795)
Bumps [dnslib](https://github.com/paulc/dnslib) from 0.9.14 to 0.9.17.
- [Release notes](https://github.com/paulc/dnslib/releases)
- [Commits](https://github.com/paulc/dnslib/commits)

---
updated-dependencies:
- dependency-name: dnslib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-14 14:40:09 -08:00
Yostra
89f15f591c
Merge standalone wallet into main (#9793)
* wallet changes from pac

* cat changes

* pool tests

* pooling tests passing

* offers

* lint

* mempool_mode

* black

* linting

* workflow files

* flake8

* more cleanup

* renamed

* remove obsolete test, don't cast announcement

* memos are not only bytes32

* trade renames

* fix rpcs, block_record

* wallet rpc, recompile settlement clvm

* key derivation

* clvm tests

* lgtm issues and wallet peers

* stash

* rename

* mypy linting

* flake8

* bad initializer

* flaky tests

* Make CAT wallets only create on verified hints (#9651)

* fix clvm tests

* return to log lvl warn

* check puzzle unhardened

* public key, not bytes. api caching change

* precommit changes

* remove unused import

* mypy ci file, tests

* ensure balance before creating a tx

* Remove CAT logic from full node test (#9741)

* Add confirmations and sleeps for wallet (#9742)

* use pool executor

* rever merge mistakes/cleanup

* Fix trade test flakiness (#9751)

* remove precommit

* older version of black

* lint only in super linter

* Make announcements in RPC be objects instead of bytes (#9752)

* Make announcements in RPC be objects instead of bytes

* Lint

* misc hint'ish cleanup (#9753)

* misc hint'ish cleanup

* unremove some ci bits

* Use main cached_bls.py

* Fix bad merge in main_pac (#9774)

* Fix bad merge at 71da0487b9

* Remove unused ignores

* more unused ignores

* Fix bad merge at 3b143e7050

* One more byte32.from_hexstr

* Remove obsolete test

* remove commented out

* remove duplicate payment object

* remove long sync

* remove unused test, noise

* memos type

* bytes32

* make it clear it's a single state at a time

* copy over asset ids from pacr

* file endl linter

* Update chia/server/ws_connection.py

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: Matt Hauff <quexington@gmail.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
2022-01-13 12:08:32 -08:00
Arvid Norberg
0ba838b7a8
New clvm generator api (#9645)
* use the new run_generator2() and run_chia_program() API of clvm_rs

* bump clvm_rs dependency to 0.1.17
2022-01-11 15:32:43 -08:00
Kyle Altendorf
bd0ecc1646
Merge branch 'main' into atari-merge_main_a3c79c939da2f65ec1fc5a6c9423ffae1e63cccd 2021-12-14 11:14:10 -05:00
Arvid Norberg
a3c79c939d
use zstd compression for full blocks (#9492) 2021-12-13 22:44:29 -08:00
Kyle Altendorf
bc2ae4bcbd
Add pre-commit to dev dependencies (#9512) 2021-12-10 15:01:31 -08:00
Kyle Altendorf
44b4d69ad7
Fix some hints (#9484)
* Fix some hints

* remove unused import

* correct AmountWithPuzzlehash.amount to be uint64
2021-12-10 15:00:43 -08:00
Kyle Altendorf
759b173e7d
stricter hints 2021-12-09 12:13:48 -05:00
Kyle Altendorf
d17ce9efab
Merge branch 'main' into atari 2021-12-07 21:39:10 -05:00
William Blanke
cc3b5e326e
updated bls, pos, and clvm_rs to new releases 2021-12-03 13:51:27 -08:00
Gregory
025c45f0b5
Chia Seeder (#8991)
* 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>
2021-11-27 18:30:25 -08:00
Kyle Altendorf
b1abc3df26
Merge branch 'main' into atari 2021-11-27 19:43:42 -05:00
Kyle Altendorf
fbc6c738c8
Install .[dev] in CI tests (#9251)
* 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
2021-11-23 12:45:23 -08:00
Kyle Altendorf
1073f9d5dd
mypy: warn_unused_ignores = true (and remove some) (#9085)
* mypy: warn_unused_ignores = true (and remove some)

* catch up

* type checking tweaks

* precommit uses mypy --no-warn-unused-ignores

* revert a bit

* precommit explanatory comment

* Update .pre-commit-config.yaml

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
2021-11-23 12:44:53 -08:00
Kyle Altendorf
a6e58c9855
Merge branch 'main' into atari 2021-11-22 14:24:00 -05:00
Jeff
c4e14f5c78
Peer db new serialization (#9079)
* 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.
2021-11-19 11:12:58 -08:00
Kyle Altendorf
5bd8b3dbaa
Merge branch 'main' into atari 2021-11-11 08:57:35 -05:00
William Blanke
d2b6f28a3c
bumped blspy to 1.0.7 2021-11-10 11:26:50 -08:00
wjblanke
c1796c3b63
switch to forked dnspython v2.2.0 (#9107) 2021-11-03 16:45:16 -07:00
wjblanke
1c201c49d5
510 (#9109)
5.1.0 multidict
2021-11-03 16:44:29 -07:00
Florin Chirica
f550555c7d
Add plotters. (#8497)
* 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>
2021-10-28 15:37:46 -07:00
William Blanke
2d7a59655d
update clvm_rs to 0.1.15 2021-10-27 11:42:28 -07:00
dependabot[bot]
ec8d3ae2f9
Bump watchdog from 2.1.3 to 2.1.6 (#8732)
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 2.1.3 to 2.1.6.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v2.1.3...v2.1.6)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 00:34:52 -07:00
Kyle Altendorf
f3e4bbc8d9
Merge branch 'main' into altendky-data_layer_exploration 2021-10-15 17:10:52 -04:00
dustinface
5b7bb5e0f6
github|setup: Introduce pre-commit.yml to force pre-commit to pass (#8811)
* 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
2021-10-13 10:26:15 -07:00
Kyle Altendorf
c05ee032d2
Merge branch 'main' into altendky-data_layer_exploration 2021-10-03 17:23:06 -04:00
Kyle Altendorf
0cdcb14749
preliminary data layer cli 2021-09-28 20:57:12 -04:00
William Blanke
f25c2290d6
update clvm_rs 2021-09-28 14:10:51 -07:00
Kyle Altendorf
3b212cad86
Merge branch 'main' into altendky-data_layer_exploration 2021-09-23 15:16:55 -04:00
William Blanke
b5537fcc53
update to clvm_rs 13 2021-09-23 08:05:35 -07:00
Arvid Norberg
fceb39f783
bump clvm_rs version and add test for the optional 3rd hint parameter to CREATE_COIN (#8566) 2021-09-22 21:01:10 -07:00
Kyle Altendorf
97d94d9569 Merge branch 'main' into altendky-data_layer_exploration 2021-09-22 17:39:48 -04:00
Mariano Sorgente
066a8b2119
Mypy issues on python 3.9.7 (#8554)
* Mypy issues on python 3.9.7

* Typo
2021-09-22 10:44:03 -07:00
Kyle Altendorf
3f0737ff0e make chia.data_layer a properly installed package 2021-09-21 09:41:32 -04:00
William Blanke
f692360aa2
updated bls to 1.0.6 2021-09-08 14:47:44 -07:00
Arvid Norberg
0b92c89e7d
Conditions parser (#8393)
* tests for invalid list terminators in conditions

* bump clvm_rs version
2021-09-08 14:46:25 -07:00
dependabot[bot]
4ef9a84661
Bump sortedcontainers from 2.3.0 to 2.4.0 (#5387) 2021-09-07 09:04:47 -07:00
Chris Marslender
aa68ec2e05
Update chiavdf to 1.0.3 (#8228) 2021-08-26 16:17:24 -07:00
Arvid Norberg
5ee182932e
Rust conditions (#7167)
* use rust implementation of condition checker

* enable rust condition checker at specific block height

* bump switch-over height
2021-08-17 14:57:41 -07:00
Matt Hauff
1e18dc65fc
Added a py.typed file in the chia directory for pep-561 compliance (#8014) 2021-08-17 10:53:25 -07:00
dependabot[bot]
ed66c57ced
Bump watchdog from 2.1.2 to 2.1.3 (#8017) 2021-08-10 15:59:35 -07:00
dependabot[bot]
fa71f91f4c
Bump bitstring from 3.1.7 to 3.1.9 (#7676)
Bumps [bitstring](https://github.com/scott-griffiths/bitstring) from 3.1.7 to 3.1.9.
- [Release notes](https://github.com/scott-griffiths/bitstring/releases)
- [Changelog](https://github.com/scott-griffiths/bitstring/blob/master/release_notes.txt)
- [Commits](https://github.com/scott-griffiths/bitstring/commits)

---
updated-dependencies:
- dependency-name: bitstring
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-04 13:49:34 -07:00
Jeff Cruikshank
325d7f8245
Keyring passphrase protection (#7249)
* 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>
2021-08-04 12:46:55 -07:00
William Blanke
1ebb55acb3
upped bls to 1.0.5 2021-07-21 10:40:31 -07:00
Earle Lowe
2d1b19d871
Option to revert back to sequential read (#7644)
* Option to revert back to sequential read

* reverse logic for disable

* Add parallel_read to initial-config
2021-07-21 10:37:07 -07:00
William Blanke
4fbc291969
update blspy to 1.0.4 (sans GIL release) 2021-07-17 10:09:20 -07:00
Matt Hauff
257021d862
Include all chialisp files in source distribution (#7571) 2021-07-16 13:50:13 -07:00
dependabot[bot]
1ea65f02b5
Bump blspy from 1.0.2 to 1.0.3 (#7462)
Bumps [blspy](https://github.com/Chia-Network/bls-signatures) from 1.0.2 to 1.0.3
2021-07-15 07:41:16 -07:00
Adam Kelly
89f7a4b3d6
Pools mainnet (#7047)
* 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>
2021-06-29 14:21:25 -07:00
Arvid Norberg
6cd7a7f5b3
Bump clvm rs version (#6892)
* use deserialize_and_run_program2 from clvm_rs

* bump clvm_rs to 0.1.8

* bump clvm to 0.9.7
2021-06-22 11:47:07 -07:00
Gene Hoffman
dc781169b9
Update all platforms to miniupnpc 2.2.2 and Windows to Python 3.9 (#6703)
* Update all platforms to miniupnpc 2.2.2 and Windows to Python 3.9

* Actually use python 3.9 in Windows
2021-06-14 08:21:12 -07:00
wjblanke
5b51aebaf2
updated vdf and pos (#6150) 2021-05-27 22:16:57 -07:00
Florin Chirica
413d29083f Initial commit. 2021-05-14 14:05:12 -06:00
Nikolaj Kuntner
2faab1ea83
Improve style consistency in root directory docs files (#4493)
* Improve style consistency

* black python required blank

Co-authored-by: Nikolaj Kuntner <>
2021-05-12 13:12:30 -07:00
wjblanke
79430402b4
use chiapos 1.0.2 (#4638) 2021-05-13 01:57:15 +09:00
Arvid Norberg
ca4b25210b
Rust parse serialized (#3444)
* use rust implementation for finding length of a serialized clvm program

* bump clvm_rs version
2021-05-03 18:58:01 +09:00
dependabot[bot]
d590e08745 Bump colorlog from 4.8.0 to 5.0.1
Bumps [colorlog](https://github.com/borntyping/python-colorlog) from 4.8.0 to 5.0.1.
- [Release notes](https://github.com/borntyping/python-colorlog/releases)
- [Commits](https://github.com/borntyping/python-colorlog/compare/v4.8.0...v5.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-22 17:00:23 -07:00
Gene Hoffman
cb3dab5c89 Update to reverted blspy 1.0.2 2021-04-17 02:32:07 -07:00
wjblanke
065a539490
reverted BLS back to GIL enforced (#1936) 2021-04-15 10:59:38 -07:00
Arvid Norberg
cab78c43a6
update cost and max cost according to new plan (#1864)
* 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
2021-04-15 20:16:52 +09:00
Will Bendick
5cc09d8c22 bump blspy 2021-04-09 10:06:45 -07:00
dependabot[bot]
bc2c31afd1 Bump chiapos from 1.0.0 to 1.0.1
Bumps [chiapos](https://github.com/Chia-Network/chiavdf) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/Chia-Network/chiavdf/releases)
- [Commits](https://github.com/Chia-Network/chiavdf/compare/1.0...1.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-09 10:06:18 -07:00
Mariano Sorgente
876692631a
Fix issue with error handling in timelord. Show infusion rate for all… (#1716)
* 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)
2021-04-06 19:48:46 -07:00
matt-o-how
5e1bf6d5f3
Merge DID into main (#1720)
* 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
2021-04-06 19:31:44 -07:00
Richard Kiss
b3f70a1c68 Bump clvm versions. 2021-04-06 18:33:41 -07:00
Richard Kiss
8a3e00548a Rename src to chia. 2021-04-04 21:41:39 -07:00
Richard Kiss
7a970b8fe7 Add PYINSTALLER_SPEC_PATH. Simplify & unify spec file. 2021-04-02 19:50:54 -07:00
dependabot[bot]
5680124eaa Bump keyring from 23.0 to 23.0.1
Bumps [keyring](https://github.com/jaraco/keyring) from 23.0 to 23.0.1.
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v23.0.0...v23.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-02 11:48:47 -07:00
Gene Hoffman
4a03f27431 Chiapos to 1.0.0 2021-03-29 23:57:15 -07:00
Mariano Sorgente
51e90ed19e
Removes aiter which is not used (#1524) 2021-03-26 10:57:27 -07:00
Gene Hoffman
a23b2947c5 Update cryptography to 3.4.7
Updated Windows, macOS, and ``manylinux`` wheels to be compiled with OpenSSL 1.1.1k due to a security issue in OpenSSL...
2021-03-25 15:55:59 -07:00
Richard Kiss
be4af4128c Monkey-patch click instead of forking. 2021-03-24 15:41:53 -07:00
Richard Kiss
f6cd947da2 Add some missing files to the sdist. 2021-03-24 15:41:53 -07:00
dependabot[bot]
ae53e7e185 Bump colorlog from 4.7.2 to 4.8.0
Bumps [colorlog](https://github.com/borntyping/python-colorlog) from 4.7.2 to 4.8.0.
- [Release notes](https://github.com/borntyping/python-colorlog/releases)
- [Commits](https://github.com/borntyping/python-colorlog/compare/v4.7.2...v4.8.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-23 21:54:27 -07:00
wjblanke
54dd987668 use forked click (#1347) 2021-03-17 18:40:45 -07:00
Gene Hoffman
122731cbaa
chiavdf to 1.0.1 for new Windows MPIR (#1238) 2021-03-11 01:08:15 -08:00
Gene Hoffman
5a6af6dbd6
blspy to 1.0 - update GUI (#1226)
* blspy to 1.0 - update GUI

* Revert GUI
2021-03-10 17:44:25 -08:00
Gene Hoffman
de4b5b3050
chiavdf gold at 1.0 (#1214) 2021-03-09 19:38:05 -08:00
Gene Hoffman
b5ce8c9e66
Isort take 3 (#1213)
* isort in a black friendly way

* isort but debug superlinter later
2021-03-09 18:27:27 -08:00
Gene Hoffman
26f18d4efe
Bump keyring, update GUI (#1211) 2021-03-09 15:30:51 -08:00
Gene Hoffman
1d7fadbc20
cryptography and keyring to current version (#1208)
* Try linux keyring

* cryptography and keyring to current version - keyrings.cryptfile issue

* Remove comment re cryptography

* Correct URL

* 3.4.6 cryptography
2021-03-09 13:43:57 -08:00
Yostra
da9b9ccf6f
Mozilla ca (#1155)
* include moz

* add mozzila submodule

* install script

* use file path

* update commit

* typo
2021-03-04 14:25:35 -08:00
Gene Hoffman
4ddd1385f6 chiapos to 0.9, pin current GUI 2021-03-04 02:24:05 -08:00
Mariano Sorgente
d33d16591d
blspy to 0.9, replace infinity, update clvm, puzzle hash (#1146)
* blspy to 0.9

* replace infinity with default constructor

* infinity

* Update clvm, puzzle hash

* Fix tests with new blspy

* prefarm in config instead of constants

Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Bill Blanke <wjb2002@flex.com>
2021-03-04 00:54:03 -08:00
Gene Hoffman
ccbd20bc94
Chia VDF to 0.9 (#1138)
* Chia VDF to 0.9

* Try test-cache 20
2021-03-03 20:54:19 -08:00
Gene Hoffman
88a6675cf4 chiabip158 to 1.0 2021-03-03 19:02:44 -08:00
Yostra
3e77319eda
Pinned root cert (#1137)
* typo

* pin cert

* depricated warnning

* don't require 0x

* Fix lint issue w black and update GUI pin

Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
2021-03-03 17:26:26 -08:00
Richard Kiss
f79152d1ab
Bump clvm and replace ((c P A)) with (a P A). Add some cc fixes prior to audit. (#1133)
* Bump clvm versions and replace `((c P A))` with `(a P A)`. Again.

* Modernize some clvm.

* Fix some comments and naming in `cc.clvm`.

* Prohibit `CREATE_ANNOUNCEMENT` in inner puzzle.

* fix cc.clvm

initial commit for innerpuz announcement test

Co-authored-by: matt <matt@chia.net>
2021-03-03 14:12:04 -08:00
Florin Chirica
bac6e36c05
Bluebox weight proof. (#1028)
* Initial commit weight proof bluebox.

* More verification, fix linting.

* Checkpoint testing.

* Checkpoint verify compact proofs.

* First attempt already seen compact proofs.

* Try bigger timeouts.

* Try passing first without ICC EOS.

* Try to uniformly sanitize by field_vdf.

* Try to fix vdf.py

* Temporary change: check if simulation is slow or stalled.

* Try fixing VDFProof erros in tests.

* Checkpoint: address some comments.

* Checkpoint is_fully_compactified.

* First attempt compact blocks fixture.

* Add tests.

* Test simulation should eventually pass.

* Test full node store passing.

* Use the proper fixture.

* Try lighter test_simulation.

* Bump chiavdf, use correct fixture db, try test cache.

* Update fixtures.py

* Try bigger timeouts.

* First attempt split tests.

* Rename workflow files.

* Relax test simulation since it's still failing.

* Update test cache.
2021-03-03 13:13:08 -08:00
Richard Kiss
a8a7af9ebc Revert "Bump clvm versions and replace ((c P A)) with (a P A)."
This reverts commit d0a08d2a93.
2021-03-01 17:14:13 -08:00
Richard Kiss
d0a08d2a93 Bump clvm versions and replace ((c P A)) with (a P A). 2021-03-01 12:12:48 -08:00
dependabot[bot]
f0a598b1a5 Bump aiohttp from 3.7.3 to 3.7.4
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.7.3 to 3.7.4.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.7.3...v3.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-25 21:30:52 -08:00
Gene Hoffman
c35021339f chiapos to 12.45 for harvester multithread fix 2021-02-23 23:20:21 -08:00
Richard Kiss
1c1cafc865 Use renumbered opcodes. 2021-02-23 11:20:55 -08:00
Jesús Espino
d8410eff83
Migrating CLI to Click (#1002)
* Migrating CLI to Click

* Adding more type annotations

* Adding some required to flags

* Some extra small fixes

* Add click dependency to the setup.py file

* Making callable from outside

* Manually applying changes from commit f23c45

* Improving type annotations

* Adding -h as --help option

* Added feedback to add/remove commands for plots

* Properly exiting with error code
2021-02-23 02:23:56 -08:00
Gene Hoffman
3bcaacceb3 Try the newly patched aiosqlite at 0.17.0 2021-02-21 19:57:34 -08:00
Adam Kelly
a07cec4362 Update clvm dependencies 2021-02-18 21:23:55 +09:00
Adam Kelly
20626108f5 Update clvm_revamp dependencies 2021-02-18 21:23:55 +09:00
Gene Hoffman
4bd91e36c7 Update chiapos 2021-02-17 14:50:50 -08:00
Gene Hoffman
94c3cb1a10 clvm_tools to 0.3.1 to fix the run/brun issue 2021-02-11 14:02:30 -08:00
Rostislav
2e6130cf6d Use fixed-size bytes100 object for compressed quadratic forms 2021-02-10 17:11:49 -08:00
Rostislav
65dcae570e Change to compressed quadratic forms for VDFs
Using compressed representation of quadratic forms reduces their
serialized size from 130 to 100 bytes (for forms with 1024-bit
discriminant). This shrinks the size of VDF outputs and VDF proofs, and
it's a breaking change as compressed representation is not compatible
with older uncompressed (a, b) representation.

Compressed forms are also used in calls to chiavdf and in timelord's
communication with VDF client.

Update to version 0.14.0 of chiavdf and version 0.2.0 of test-cache.
Older versions of these do not support compressed forms.
2021-02-10 17:11:49 -08:00
Arvid Norberg
d9bb9bf12c honor safe-mode setting in CLVM when validating mempool conditions 2021-02-09 16:02:43 -08:00
dependabot[bot]
8bd328a157 Bump pyyaml from 5.3.1 to 5.4.1
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4.1.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-09 13:08:06 -08:00
Mariano Sorgente
ef83c95ef4
Ms.cbor3 [protocol breaking change] (#864)
- removes cbor and instead uses streamable (https://trello.com/c/anzukjLs/901-remove-cbor)
- data types checked for payload ids and function (https://trello.com/c/4kPt98as/921-data-types-not-checked-on-payload-ids-and-function-names)
- Compressed format for messages: 1 byte for the message type / function, 2 optional bytes for the payload id
- Optimization to not fetch transactions for a block if we already have them
- RejectBlock message
- Software version sent in the handshake message (although ignored now)
- Removed mempool hack, big blocks can now be made with this codebase
2021-02-09 16:14:37 +09:00
Yostra
17db396a02
Update clvm (#871)
* update clvm

* flk
2021-02-08 18:15:41 -08:00
Gene Hoffman
d9396d4308
cryptography 3.4.1 has a toxic interaction with keyrings on linux (#862)
* cryptography 3.4.1 has a toxic interaction with keyrings on linux

* black setup.py
2021-02-07 21:50:07 -08:00
Gene Hoffman
75a858c6a7
Up to cryptography 3.4.1 - better show error. (#857) 2021-02-07 19:30:32 -08:00
Gene Hoffman
165f7c8d57 Add MacOS Univeral wheels 2021-02-06 10:37:29 -08:00
Arvid Norberg
be7e2356d6 introduce SerializedProgram to use in the FullNode. Instead of parsing block programs in python, maintain them in serialized form to save time when executing them in rust 2021-02-04 18:26:26 -08:00
Yostra
3d27a7d660 Use TLS Certificate hash as node id ssl id (#740)
* create CA

* create CA chain, pin public, private, auth

* build scripts

* refactor rpc

* test logging
2021-02-04 01:27:59 -08:00
Gene Hoffman
02966411b9 Fix blspy source dist 2021-02-04 01:27:59 -08:00
dependabot[bot]
4aabe86580 Bump chiabip158 from 0.17 to 0.18
Bumps [chiabip158](https://github.com/Chia-Network/chiabip158) from 0.17 to 0.18.
- [Release notes](https://github.com/Chia-Network/chiabip158/releases)
- [Commits](https://github.com/Chia-Network/chiabip158/compare/0.17...0.18)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-04 01:27:59 -08:00
dependabot[bot]
289c908adb Update setproctitle requirement from ~=1.1.10 to ~=1.2.2 (#752)
* Update setproctitle requirement from ~=1.1.10 to ~=1.2.2

Updates the requirements on [setproctitle](https://github.com/dvarrazzo/py-setproctitle) to permit the latest version.
- [Release notes](https://github.com/dvarrazzo/py-setproctitle/releases)
- [Changelog](https://github.com/dvarrazzo/py-setproctitle/blob/master/HISTORY.rst)
- [Commits](https://github.com/dvarrazzo/py-setproctitle/compare/version-1.1.10...version-1.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

* setproctitle now has binary wheels for all platforms except mac - PR'ed those to them and added to download.chia

* Just install local wheels

* update changelog
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: Gene Hoffman <30377676+hoffmang9@users.noreply.github.com>
2021-02-04 01:27:59 -08:00
Gene Hoffman
fc140df9db blspy to 0.3.3 2021-02-04 01:27:59 -08:00
Gene Hoffman
7e514a842a chiapos to 0.12.42b2 2021-02-04 01:27:59 -08:00