* minimun for refs
* Commit to generator reference list value in the foliage
* missing args
* Insert generator references hash in foliage
* add comma.
* Add 3 commas for linter
* lint: commas
* kick the tests to run again
* 23
Co-authored-by: Adam Kelly <aqk@aqk.im>
* change to coin ID calculation
* Generator_for_single_coin uses coin info to generate coin IDs live
* update sha256tree of generator for single coin
* Update changelog for more stringent coin ID calculation
Co-authored-by: matt <matt@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
* Start work on timelord fixes
* Send correct peak to timelords in case of error
* Don't change cost
* Only re-send peak to the bad timelord, and fix test
* don't use gen challenge
* service wait for gen
* FullNode, Timelord wait
* Don't disconnect if receiving disconnected VDF
* Fix test
* api for ui, start wallet but delay wallet_blockchain init
* rebase cleanup
Co-authored-by: Mariano <sorgente711@gmail.com>
* added chialisp deserialisation puzzle
* Update clvm-deserialization-in-chialisp. Add test
* added new test_chialisp_deserialisation tests
* fix tests
* Reduce accepted atom size to 1MB during ChiaLisp native deserialization
* add lower_level generator
updates to python_lowerlevel
* add black formatting to lowerlevel
* fix puzzles references
* lowlevel generator improvement
lint fixes
* chialisp.py remove git ditritus
* pass the second arg to the block_program in low level generator
* use slightly more optimised string for lower level generator
* Restore cc.clvm to f79152d1ab
* Adjust compilation sanity checks - remove generator.clvm, add chialisp_deserialisation.clvm
* Update tests for building clvm assembly from python
* Adjust sha256tree commitments for puzzles
* black formatting for lint
* add #noqas to long hexstrings
Co-authored-by: matt <matt@chia.net>
Co-authored-by: Adam Kelly <aqk@aqk.im>
* Migrate to testnet. increase weight proof recent blocks, and increase temp RAM
* Remove unnecessary logic, and make number of blocks sent safer
* Revert block validation change
* Revert changes
* revert failed test
* Reduce max k
1. The formula for computing iterations is simplified, so that only one division is necessary, and inverting the (1-x) into just x.
2. There are new timestamp rules. A block N must have a greater timestamp than block N-1. Also, a block's timestamp cannot be more than 5 minutes in the future.
3. A List[Tuple[uint16, str]] is added to the handshake. These are the capabilities that the node supports, to add new features to the protocol.
4. The message_id is now before the data in each message.
* 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>
* 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.
* rpc get network settings
* breakpoints
* don't log canceled
* fix test coin store
* cancel task on exit
* use network prefix for prefarm
* rebase and change network type
* network type
* missing config
* add timeout
* Add checks for blockchain program generation
This is written in a verbose style for better error messages.
Note that src/wallet/puzzles/p2_delegated_puzzle_or_hidden_puzzle.clvm is temporarily moved aside, until it compiles to our intended bytecode.
* Remove CI clvm compilation check in favor of pytest check
* improve test failure message
* Enable clvm tests
* Formatting
Co-authored-by: Adam Kelly <aqk@aqk.im>
- RPC api: /push_tx. Using this RPC, you can spend custom chialisp programs. You need to make a SpendBundle, which includes the puzzle reveal (chialisp), a solution (chialisp) and a signature
- RPC apis to query the mempool
- Simplify signature validation logic by using the infinity element
* Slot catch-up, windows migrate, higher sub_slot_iters in the beginning
* Fix typo in filename
* reverse directory names
* comment flaky test
* Dont migrate addresses for now
* This allows configuring a new testnet only by changing the config file, no code changes required.
* We can theoretically join either testnet1 (beta27) or testnet2 (rc) with this codebase
* There is a new constant: DIFFICULTY_CONSTANT_FACTOR, this number is a constant multiplied by the difficulty. It is set to 2**65 now, to make difficulty smaller (we can start the mainnet with a difficulty of 5 for example).
* If you want to run a new testnet, you can change DIFFICULTY_CONSTANT_FACTOR in the config, and create a new entry for it
* Also, the databases now contain the GENESIS_CHALLENGE in them, so that if you run on two testnets, the DBs will be different
* Don't double load duplicate plots
Sample config:
```
network_overrides: &network_overrides
testnet4:
DIFFICULTY_CONSTANT_FACTOR: 33554432
DIFFICULTY_STARTING: 16777216
GENESIS_CHALLENGE: "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b" # std_hash(b"1")
GENESIS_PRE_FARM_POOL_PUZZLE_HASH: "23b039a829f3ed14a260355b9fc55d9ccc4539f05bd4bf529fd2630de1751d52"
GENESIS_PRE_FARM_FARMER_PUZZLE_HASH: "23b039a829f3ed14a260355b9fc55d9ccc4539f05bd4bf529fd2630de1751d52"
mainnet:
GENESIS_CHALLENGE: "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35" # std_hash(b"2")
selected_network: &selected_network "testne4"
```
* Updated gui with sub block changes
* Move some files, validate fees in mempool
* Support for plots with pool address
* Fix test and new blocks
* chia-blockchain-gui good commit
* changelof
* Fix edge cases with unfinished blocks
* Update gui
* Add test fixtures
- Real block reward schedule:
Prefarm 21,000,000
0-3 years 2 chia per block
3-6 years 1 chia per block
6-9 years 0.5 chia per block
9-12 years 0.25 chia per block
after that 0.125 chia per block
- Fixed proof of space estimation formula (type). network space was overestimated by 2x
- Consolidated all genesis hashes into one GENESIS_CHALLENGE value
- Tables sub_block_record renamed into block_record, in anticipation of renaming of sub blocks to blocks
- Coin amounts stored as bytes since sqlite 3 does not fit 64 bit unsigned integers as ints
- Fix a bug with chia show and chia netspace
- Adds validation of end of sub slots
- RPC renames:
get_sub_block -> get_block
-parameter sub_block -> block
get_sub_block_record_by_height -> get_block_record_by_height
-parameter sub_block_record -> block_record
get_sub_block_record -> get_block_record
-parameter sub_block_record to block_record
get_sub_block_records -> get_block_records
-parameter sub_block_records -> block_records
get_unfinished_sub_block_headers -> get_unfinished_block_headers
Co-authored-by: Yostra <straya@chia.net>
Co-authored-by: Gene Hoffman <hoffmang@hoffmang.com>
Co-authored-by: almog <almogdepaz@gmail.com>
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.
* cherrypicked add announcement opcodes
* remove unused import in test_mempool
* fixed broken test
* fix black superlint errors
* simple convert of coloured coins to announcements
announcements message now type bytes
* removed assert coin consumed
* updated RL higher level puzzle
* fix RL wallet to use announcement instead of lock
* rebase add announcement to blockchain_check_conditions
* lint and re-enable tests
* remove lingering reference to coin_consumed
* fixed bug with block validation
* fix RL wallet
* -update CC to use more simple announcement message
* lint fix for announcement class
* remove breakpoint
improve announcement set checking
delete TODO
* deleted commented out code
use .extend() instead of nested for
* fix mempool tests and aesthetic changes for richard
* fix mempool and add to debug_spend_bundle
* fixed test_blockchain_transactions
* flake
* update test_mempool annouce tests to use height not subheight
Co-authored-by: Yostra <straya@chia.net>
* First pass at removing height
* Fix test
* Remove useless files
* Rename sub_block_height to block_height everywhere
* A few more replaces. Don't migrate old addresses. Don't replace addresses
* lru cache for blocks
* cc fixes rebased
* race
* close check full node task
* lint
* more race
Co-authored-by: Yostra <straya@chia.net>
- 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
* add fields to sub_records
dont keep all sub_blocks in mem
dont load all known sub_blocks on strat
* add fields to sub_records
dont keep all sub_blocks in mem
dont load all known sub_blocks on strat
* add sub_epoch_summary column to db
* fix bug on warmup
* weight proof, fetch old blocks from db
* naming
* correct warmup
* merge fixes
* wallet changes
* merge fixes, wallet tests passing
* clean redundant var
* weight proof cache fix
* wallet api merge fix
* fix tests failing do to merge
* merge dev
* fix full node store merge
* merge dev
* wallet merge fix
* extend test timeout
* remove redundant code after merge
* add peak height to log
* remove field from sub_block
* fix and add extend proof test,rebase
* fix lint issues
* remove redundant test
* pr fixes
* persist sub epoch segments
* handle blockcache
* create segments
* refactor
* fix warmup bug, clean after each sync batch
* switch to assert
* refactor
* create segments as we go
* increase max samples
* fix stores,refactor
* fix merge
* remove duplicate code
* change logs to debug
* remove logs
* Revert "remove duplicate code"
This reverts commit aef0f20a
* remove code from interface
* fix wallet sql