mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-08-24 10:05:29 -05:00
Simplify CSE input format.
It was `((parent amount) (puzzle solution))`. It is now `(parent puzzle amount solution . *spend_level_extras)`
This commit is contained in:
@@ -17,8 +17,10 @@ def spend_bundle_to_coin_solution_entry_list(bundle: SpendBundle) -> List[Any]:
|
||||
r = []
|
||||
for coin_solution in bundle.coin_solutions:
|
||||
entry = [
|
||||
[coin_solution.coin.parent_coin_info, coin_solution.coin.amount],
|
||||
[coin_solution.puzzle_reveal, coin_solution.solution],
|
||||
coin_solution.coin.parent_coin_info,
|
||||
coin_solution.puzzle_reveal,
|
||||
coin_solution.coin.amount,
|
||||
coin_solution.solution,
|
||||
]
|
||||
r.append(entry)
|
||||
return r
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
(mod (deserialize decompress_puzzle puzzle_prefix suffix cse)
|
||||
|
||||
; decompress a single compressed standard transaction
|
||||
(c (f cse) (c (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) suffix)) (r (f (r cse)))) ()))
|
||||
(c (f cse) (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) suffix)) (c (f (r (f cse))) (r (f (r cse))))))
|
||||
|
||||
;; original: (c (f cse) (c (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) suffix)) (r (f (r cse)))) ()))
|
||||
|
||||
)
|
||||
|
||||
@@ -1 +1 @@
|
||||
ff04ff4fffff04ffff04ffff02ff05ffff04ff02ffff04ff0bffff04ff82012fffff04ff17ff808080808080ff8201af80ff808080
|
||||
ff04ff4fffff04ffff02ff05ffff04ff02ffff04ff0bffff04ff82012fffff04ff17ff808080808080ffff04ff82014fff8201af808080
|
||||
@@ -1 +1 @@
|
||||
5f5bd2fe143857ca65933b467bab298d6d11e525d4e51c27c96dc1cbf37796cf
|
||||
9d98ed08770d31be4bd1bde4705dab388db5e7e9c349f5a76fc3c347aa3a0b79
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
(mod (deserialize decompress_puzzle puzzle_prefix cse)
|
||||
|
||||
; decompress a single compressed standard transaction
|
||||
(c (f cse) (c (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) (q . 0xff018080))) (r (f (r cse)))) ()))
|
||||
|
||||
(c (f (f cse)) (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) (q . 0xff018080))) (c (f (r (f cse))) (r (f (r cse))))))
|
||||
|
||||
;; original: (c (f cse) (c (c (a decompress_puzzle (list deserialize puzzle_prefix (f (f (r cse))) (q . 0xff018080))) (r (f (r cse)))) ()))
|
||||
)
|
||||
|
||||
@@ -1 +1 @@
|
||||
ff04ff27ffff04ffff04ffff02ff05ffff04ff02ffff04ff0bffff04ff8197ffff01ff84ff0180808080808080ff81d780ff808080
|
||||
ff04ff47ffff04ffff02ff05ffff04ff02ffff04ff0bffff04ff8197ffff01ff84ff0180808080808080ffff04ff81a7ff81d7808080
|
||||
@@ -1 +1 @@
|
||||
69792020ee4bc07f9654aa784c0d14796e812d368d098a98a095ff9788e9f629
|
||||
92aa4bc8060a8836355a1884075141b4791ce1b67ae6092bb166b2845954bc89
|
||||
|
||||
@@ -6,10 +6,14 @@
|
||||
(sha256 2 (sha256tree1 (f TREE)) (sha256tree1 (r TREE)))
|
||||
(sha256 1 TREE)))
|
||||
|
||||
(defun check_coin_solution ((parent puzzle amount solution) coinname)
|
||||
(= (sha256 parent (sha256tree1 puzzle) amount) coinname)
|
||||
)
|
||||
|
||||
(defun check_for_coinname (coin_solutions coinname)
|
||||
(if coin_solutions
|
||||
(if (= (sha256 (f (f (f coin_solutions))) (sha256tree1 (f (f (r (f coin_solutions))))) (f (r (f (f coin_solutions))))) coinname)
|
||||
(list (f (f (r (f coin_solutions)))) (f (r (f (r (f coin_solutions))))))
|
||||
(if (check_coin_solution (f coin_solutions) coinname)
|
||||
(list (f (r (f coin_solutions))) (f (r (r (r (f coin_solutions))))))
|
||||
(check_for_coinname (r coin_solutions) coinname)
|
||||
)
|
||||
(x)
|
||||
|
||||
@@ -1 +1 @@
|
||||
ff02ffff01ff02ff04ffff04ff02ffff04ffff02ff05ff0b80ffff04ff17ff8080808080ffff04ffff01ffff02ffff03ff05ffff01ff02ffff03ffff09ffff0bff21ffff02ff06ffff04ff02ffff04ff49ff80808080ff5180ff0b80ffff01ff04ff49ffff04ff81a9ff808080ffff01ff02ff04ffff04ff02ffff04ff0dffff04ff0bff808080808080ff0180ffff01ff088080ff0180ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff06ffff04ff02ffff04ff09ff80808080ffff02ff06ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080
|
||||
ff02ffff01ff02ff0affff04ff02ffff04ffff02ff05ff0b80ffff04ff17ff8080808080ffff04ffff01ffff09ffff0bff09ffff02ff0effff04ff02ffff04ff15ff80808080ff2d80ff0b80ffff02ffff03ff05ffff01ff02ffff03ffff02ff04ffff04ff02ffff04ff09ffff04ff0bff8080808080ffff01ff04ff29ffff04ff81b9ff808080ffff01ff02ff0affff04ff02ffff04ff0dffff04ff0bff808080808080ff0180ffff01ff088080ff0180ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff0effff04ff02ffff04ff09ff80808080ffff02ff0effff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080
|
||||
@@ -1 +1 @@
|
||||
0672b5bfcd874cffecabe97d1f07fa73eb0c5ca2f0b8f832209fd4c48b54086b
|
||||
8ea7edc47445c786702254ee6fb5ab2ee2f236a6020b339957f08c27f0967eab
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defun process_coin_solution (((parent amount) (puzzle solution)))
|
||||
(defun process_coin_solution ((parent puzzle amount solution . *spend_level_extras*))
|
||||
(list (list parent (sha256tree puzzle) amount) (a puzzle solution))
|
||||
)
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
ff02ffff01ff02ff0affff04ff02ffff04ffff02ff05ffff04ff08ffff04ff13ff80808080ff80808080ffff04ffff01ffffff02ffff01ff05ffff02ff3effff04ff02ffff04ff05ff8080808080ffff04ffff01ffffff81ff7fff81df81bfffffff02ffff03ffff09ff0bffff01818080ffff01ff04ff80ffff04ff05ff808080ffff01ff02ffff03ffff0aff0bff1880ffff01ff02ff1affff04ff02ffff04ffff02ffff03ffff0aff0bff1c80ffff01ff02ffff03ffff0aff0bff1480ffff01ff0880ffff01ff04ffff0effff18ffff011fff0b80ffff0cff05ff80ffff01018080ffff04ffff0cff05ffff010180ff80808080ff0180ffff01ff04ffff18ffff013fff0b80ffff04ff05ff80808080ff0180ff80808080ffff01ff04ff0bffff04ff05ff80808080ff018080ff0180ff04ffff0cff15ff80ff0980ffff04ffff0cff15ff0980ff808080ffff04ffff04ff05ff1380ffff04ff2bff808080ffff02ff16ffff04ff02ffff04ff09ffff04ffff02ff3effff04ff02ffff04ff15ff80808080ff8080808080ff02ffff03ffff09ffff0cff05ff80ffff010180ff1080ffff01ff02ff2effff04ff02ffff04ffff02ff3effff04ff02ffff04ffff0cff05ffff010180ff80808080ff80808080ffff01ff02ff12ffff04ff02ffff04ffff0cff05ffff010180ffff04ffff0cff05ff80ffff010180ff808080808080ff0180ff018080ff04ffff04ff11ffff04ffff02ff0effff04ff02ffff04ff25ff80808080ffff04ff29ff80808080ffff04ffff02ff25ff5580ff808080ffff02ffff03ff05ffff01ff04ffff02ff0cffff04ff02ffff04ff09ff80808080ffff02ff0affff04ff02ffff04ff0dff8080808080ff8080ff0180ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff0effff04ff02ffff04ff09ff80808080ffff02ff0effff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080
|
||||
ff02ffff01ff02ff0affff04ff02ffff04ffff02ff05ffff04ff08ffff04ff13ff80808080ff80808080ffff04ffff01ffffff02ffff01ff05ffff02ff3effff04ff02ffff04ff05ff8080808080ffff04ffff01ffffff81ff7fff81df81bfffffff02ffff03ffff09ff0bffff01818080ffff01ff04ff80ffff04ff05ff808080ffff01ff02ffff03ffff0aff0bff1880ffff01ff02ff1affff04ff02ffff04ffff02ffff03ffff0aff0bff1c80ffff01ff02ffff03ffff0aff0bff1480ffff01ff0880ffff01ff04ffff0effff18ffff011fff0b80ffff0cff05ff80ffff01018080ffff04ffff0cff05ffff010180ff80808080ff0180ffff01ff04ffff18ffff013fff0b80ffff04ff05ff80808080ff0180ff80808080ffff01ff04ff0bffff04ff05ff80808080ff018080ff0180ff04ffff0cff15ff80ff0980ffff04ffff0cff15ff0980ff808080ffff04ffff04ff05ff1380ffff04ff2bff808080ffff02ff16ffff04ff02ffff04ff09ffff04ffff02ff3effff04ff02ffff04ff15ff80808080ff8080808080ff02ffff03ffff09ffff0cff05ff80ffff010180ff1080ffff01ff02ff2effff04ff02ffff04ffff02ff3effff04ff02ffff04ffff0cff05ffff010180ff80808080ff80808080ffff01ff02ff12ffff04ff02ffff04ffff0cff05ffff010180ffff04ffff0cff05ff80ffff010180ff808080808080ff0180ff018080ff04ffff04ff09ffff04ffff02ff0effff04ff02ffff04ff15ff80808080ffff04ff2dff80808080ffff04ffff02ff15ff5d80ff808080ffff02ffff03ff05ffff01ff04ffff02ff0cffff04ff02ffff04ff09ff80808080ffff02ff0affff04ff02ffff04ff0dff8080808080ff8080ff0180ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff0effff04ff02ffff04ff09ff80808080ffff02ff0effff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080
|
||||
@@ -1 +1 @@
|
||||
352859e971feb2bbea735c6fa05f06d6c30c495fa789bf4ec7310fd4c11a95d4
|
||||
cd6cb71a93dd12c6966fd28a3a601c0872bf02b4d93dcdc5ab0ff7151b39c862
|
||||
|
||||
@@ -125,8 +125,8 @@ class TestCostCalculation:
|
||||
disassembly = binutils.disassemble(puzzle)
|
||||
program = SerializedProgram.from_bytes(
|
||||
binutils.assemble(
|
||||
f"(q . (((0x3d2331635a58c0d49912bc1427d7db51afe3f20a7b4bcaffa17ee250dcbcbfaa 300)"
|
||||
f" ({disassembly} (() (q . ((65 '00000000000000000000000000000000' 0x0cbba106e000))) ())))))"
|
||||
f"(q . ((0x3d2331635a58c0d49912bc1427d7db51afe3f20a7b4bcaffa17ee250dcbcbfaa {disassembly} 300"
|
||||
f" (() (q . ((65 '00000000000000000000000000000000' 0x0cbba106e000))) ()))))"
|
||||
).as_bin()
|
||||
)
|
||||
generator = BlockGenerator(program, [])
|
||||
|
||||
Reference in New Issue
Block a user