Commit Graph

24 Commits

Author SHA1 Message Date
Richard Kiss b084813b12
Improve streamable (#3031)
* Avoid importing `test_constants` as it takes a long time.

* Factor out `parse_*` functions.

* First crack at refactoring `Streamable.parse`.

* Don't add `_parse_functions` attribute to `Streamable`.

This no longer requires an extra `_parse_functions` attribute on a
`Streamable`, as it may be confusing serializers or other functions
that use `__annotations__`.

* Fix lint problems with `black`.

* Fix `parse_tuple`.

* Defer some parsing failures to parse time rather than class-creation time.

* Tidy up & remove some obsolete stuff.

* Decorate `RequestBlocks` as `streamable`.

* Fix wrong uses of Streamable class

Revert an earlier commit and error out on class creation in case a
Streamable subclass is instantiated incorrectly, e.g. containing a
non-serializable member.

Fix cases where Streamable parent class was forgotten.

* Fix wrong types when creating DerivationRecord and WalletCoinRecord

* additional unit tests for streamable parsers

* add type annotations (#3222)

Co-authored-by: Rostislav <rostislav@users.noreply.github.com>
Co-authored-by: arvidn <arvid@libtorrent.org>
2021-04-30 10:22:11 -07:00
Adam Kelly bc5efbbee9 Test passing multiple arguments as arguments to block generators 2021-04-20 17:07:36 -07:00
Richard Kiss 44ba53550d Rewrite "ROM" in clvm, including deserialization. 2021-04-18 16:02:53 -07:00
arvidn 6b4d060758 pass through max cost all the way down to where we execute the CLVM code 2021-04-17 10:34:13 -07:00
matt-o-how 1d6bc440c7
Deleted blockchain_check_conditions (#1966)
* deleted blockchain_check_conditions and added optional timestamp to mempool_check_conditions

* removed unnecessary code

* change back to < for block height

* time now passes on equal to condition value
2021-04-16 14:02:06 -07:00
Adam Kelly 82876587ca Generator Block Decompression 2021-04-14 20:03:37 -07:00
matt-o-how e977bed7e4
Add Puzzle Announcement conditions (#1780)
* Specified two types of create_announcement

* Fix create_announce_with_puzhash in specific situation

* Removed unnecessary announcement functionality from a bunch of place

* Added tests for puzzle announcement and wallet features

* fix tests/clvm/coin_store.py to use new announcements

* fix test_blockchain_transactions

* update test_blockchain_transactions to use real names

* remove lingering ConditionVarPair

* Fix another lignering CVP issue

* fix broken test imports

* fix puzzle announcement test

* change announcement_names to set and rename some functions for clarity

* Rename conditions for consistency

* typing and typo fixes

* fix name conflict in test

* fix test coin_store to use sets

* renumber opcode

* force recompile and small fixes for new conditions numberings

* add sha256tree files for updated hex files
2021-04-14 11:28:18 -07:00
Mariano Sorgente a2ca057b49
Ms.aggsig me challenge (#1843)
* Start aggsig me

* Pass in genesis challenge

* Update DID, and remove useless functions from coinbase.py

* Unused imports

* Revert GUI

* Use a different constant so forks of chia can easily change it
2021-04-14 14:03:14 +09: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 569ca16f50 Use `sed` to change imports from `src` to `chia`. 2021-04-04 21:41:39 -07:00
Richard Kiss 8a3e00548a Rename `src` to `chia`. 2021-04-04 21:41:39 -07:00
Adam Kelly f59acccf51 Add github workflow tool 2021-03-25 12:05:54 -07:00
Gene Hoffman 4697e39470
Various clean ups, spelling thanks @adamfiddler, isort (#1278)
* Various clean ups, spelling thanks @adamfiddler, isort

* Actually thank @adamfiddler

* isort tests

* Update changelog, readme, spec, spelling

* Readme nit

* locales

* locales again
2021-03-13 14:57:41 -08:00
Adam Kelly e50d14b0a9
Generator reference (#1209)
* 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>
2021-03-10 13:24:17 -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
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
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
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
Richard Kiss 3a2413cf3b Add tests for many puzzles, and fix some bugs found. 2021-02-28 16:54:26 -08:00
Gene Hoffman a6f6211206 black format 2021-02-25 01:16:08 -08:00
Adam Kelly 30863d4668
Test clvm compilation (#1042)
* 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>
2021-02-24 23:48:39 -08:00
Mariano Sorgente 5cc3407b65
Support for plots with pool address (#920)
* 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
2021-02-16 01:15:24 -08:00
Adam Kelly dc891f65e6
Test SerializedProgram (#883)
* Test SerializedProgram

* Test get_tree_hash() in Program and SerializedProgram

* lint

Co-authored-by: Adam Kelly <aqk@aqk.im>
2021-02-10 10:29:25 -08:00