Commit Graph

4978 Commits

Author SHA1 Message Date
dustinface
8940a7a007
farmer: Always check the pool URL for https:// (#7152) 2021-07-06 18:38:31 -07:00
Adam Kelly
873c5f16cd
Enforce HTTPS when fetching pool server configs for mainnet (#7148)
* Enforce HTTPS when fetching pool server configs for mainnet

* Update chia/cmds/plotnft_funcs.py

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

* Update chia/cmds/plotnft_funcs.py

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

* Update chia/farmer/farmer.py

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

Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
2021-07-06 16:06:10 -07:00
William Blanke
b96c830282
updated gui to latest 2021-07-06 15:59:59 -07:00
Chris Marslender
6c81516527
Split secret check to signing and aws secrets, so we can still do AWS actions when we dont have a signing cert available (#7142) 2021-07-06 14:57:27 -06:00
willi123yao
3ad7f8e93c Minor fix to wrong error message printed 2021-07-07 00:08:59 +09:00
Mariano
b1cd26cf5b Fix DB invalid format for additional_coin_spends 2021-07-04 14:48:55 +09:00
Niraj Pathak
2cbbdbe492 update arm64 builder 2021-07-02 15:17:08 -07:00
Niraj Pathak
749cde1949 rename build script to match corresponding yml file 2021-07-02 15:17:08 -07:00
Earle Lowe
46395374ae
Improves error handling for unknown protocol types (#7073)
* Improves error handling for unknown protocol types

* Add test for invalid protocol
2021-07-01 21:20:21 -07:00
Arvid Norberg
3b71210a9c
in strict/safe mode, require integers to use the minimal/canonical encoding (#7071) 2021-07-01 21:19:47 -07:00
nirajpathak13
229ff7ab08
Split linux installers (#6987)
Move .rpm and .deb installers into individual workflows
2021-07-01 23:11:22 -04:00
Chris Marslender
75223a497f
M1 Installer (#7092) 2021-07-01 14:44:01 -05:00
Earle Lowe
34ae4609ac
New RPC to check keys prior to deleting them (#6894)
* New RPC to check keys prior to deleting them

* Updates based on PR comments

* Make sure to stop wallet before start again
2021-07-01 11:52:54 -07:00
Arvid Norberg
f1390dab73
lower the RAM threshold to 800 MB (the largest test use 144 MB right now). Also improve printing of results (#6972) 2021-07-01 09:48:28 -07:00
Mariano Sorgente
24b4533e7d
farmer: Reload keys when config changes, so we can detect new plot NFTs (#7060) 2021-06-30 07:51:49 -07:00
Mariano Sorgente
925bb2b644
Remove debug logging (#7061) 2021-06-30 07:50:52 -07:00
William Blanke
d5a7dbbcfa
update to latest gui main 1b268cd167 2021-06-29 23:10:42 -07:00
Adam Kelly
b758e74828 Handle undef. sync state in UI 2021-06-30 15:07:50 +09:00
Gene Hoffman
9e0169d4b7 Add missing secrets check 2021-06-29 20:32:32 -07:00
Adam Kelly
5727021148
Update to Pools GUI (#7048) 2021-06-29 15:23:10 -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
Florin Chirica
aba34c1ceb
Sanity check correct header hash in replace proof. (#7045) 2021-06-29 12:54:28 -07:00
wjblanke
92f5c5c3a9
config branch of submodule mozilla-ca. based on 7020 from opct (#7044) 2021-06-29 12:52:24 -07:00
nirajpathak13
ae4a01d8c4
configure aws creds (#7043)
* check if has secret
2021-06-29 15:25:24 -04:00
Almog De Paz
e5eff54149
wallet short batch sync (#6112)
* short batch sync

* switch log for fixing ci

* switch log level back

* increase test time

* new line

* test fix

* change sem to lock

* change sem to lock

* refactor

* move weight check under lock

* short sync tests

* lint

* remove duplicate code

* remove duplicate code

* add await

* fix
2021-06-29 11:25:54 -07:00
Almog De Paz
748f7825ad
use is_trusted_peer (#6830)
* use is_trusted_peer

* fix indentation

* lint

* dont assume localhost is trusted
2021-06-29 10:33:10 -07:00
Yostra
ab4f44175b
service singleton (#6735) 2021-06-24 11:10:46 -07:00
Arvid Norberg
1b65328b40
check, and limit, memory usage of tests (#6964) 2021-06-24 11:00:11 -07:00
Arvid Norberg
0368544c84
validate more aspects of conditions earlier (#6654)
* validate more aspects of conditions earlier, in the process clvm execution is offloaded to

* more tests

* use as_int() in SExp rather than int_from_bytes()

* put condition parser tests in its own test class

* capitalize module-scope variable

* abbreviate enum names in parse_condition_args

* use a more realistic cost per byte in test_rom

* merge parse_coin_id and parse_hash, since they are identical
2021-06-23 09:49:23 -07:00
Chris Marslender
5d1f721821
Notify glue API as each installer is done building (#6922) 2021-06-22 17:26:44 -05: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
Arvid Norberg
375ec8f69d
fix mypy warning (#6910) 2021-06-22 11:46:23 -07:00
nirajpathak13
6cac70c394
fix yml syntax (#6903) 2021-06-22 01:08:58 -04:00
nirajpathak13
c300533c0e
generate and upload torrent files (#6810)
Generate and Upload torrent files for chia installers.
Files are located here: https://s3.console.aws.amazon.com/s3/buckets/download-chia-net?region=us-west-2&prefix=torrents/&showversions=false
2021-06-21 19:42:46 -04:00
arvidn
d2d869066f fix typo in build-linux-installer.yml and build-linux-arm64-installer.yml 2021-06-19 09:34:43 -07:00
Maran
dfc79fa500
Adds Farmer and Pool public keys to API. Required for Chia-Network/chia-blockchain-gui#286 (#6694)
Co-authored-by: Animazing <Animazing@protonmail.com>
2021-06-18 05:23:52 -07:00
Arvid Norberg
b1e7d45e9b
factor out common test boilerplate from mempool tests (#6815) 2021-06-18 05:22:27 -07:00
Earle Lowe
150b6cc9b0
remove non-ascii space (#6842) 2021-06-18 05:22:01 -07:00
Justin England
5a1bad45ba
second times a charm (#6834)
* second times a charm

* Update .github/workflows/build-linux-arm64-installer.yml

Co-authored-by: Chris Marslender <chris@chia.net>

* Update .github/workflows/build-linux-installer.yml

Co-authored-by: Chris Marslender <chris@chia.net>

* fixing yaml bug

* fixing syntax

Co-authored-by: Chris Marslender <chris@chia.net>
2021-06-17 12:51:28 -06:00
Arvid Norberg
f46bfd6197
don't use wall-clock time in mempool test for absolute time condition. The validation does not use wall-clock, but expected time based on the peak timestamp (#6801) 2021-06-16 14:39:57 -07:00
Almog De Paz
867fd09d70
fix flaky cc test (#6800)
* fix flaky cc test

* lint

* add assert

* lower test times

* dont use timeout

* lint
2021-06-16 11:15:06 -07:00
Arvid Norberg
42fde9a8d4
move chia.util.block_tools and chia.util.wallet_tools into tests (#6799)
* move chia.util.block_tools and chia.util.wallet_tools into tests

* only depend on block_tools when we actually run the wallet in test mode
2021-06-16 11:12:26 -07:00
Arvid Norberg
662286cc1a
extend and improve Mempool tests (#6781)
* make sure mempool condition tests fail for the right reason

* use int_to_bytes

* add more mempool condition tests

* simplify one mempool test
2021-06-16 11:10:46 -07:00
Florin Chirica
370444a7ff
Fix compact error message. (#6808) 2021-06-16 09:48:28 -07:00
nirajpathak13
99db32b8af
change checksum extension to algorithm (#6788)
Change file extensions on checksum files to sha256
2021-06-15 17:23:25 -04:00
nirajpathak13
c50a00f640
fix windows artifact name (#6784) 2021-06-15 10:58:22 -07:00
nirajpathak13
29f5feec85
Release Pipeline (#3588)
Release Pipeline

Co-authored-by: Justin England <justin@chia.net>
Co-authored-by: Chris Marslender <chrismarslender@gmail.com>
2021-06-15 09:55:08 -07:00
Almog De Paz
b99ae594b7
Validate summaries while syncing (#5284)
* block pre process check se matches wp

* test

* test

* test

* lint

* merge

* lint
2021-06-15 07:50:41 -07:00
Arvid Norberg
3fd8f681dd
factor out common parts of mempool condition tests (#6770) 2021-06-15 07:10:42 -07:00
Florin Chirica
dace191b11
Refresh download/upload rates in farmer. (#6776) 2021-06-15 07:08:40 -07:00