mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2024-09-21 08:31:52 +03:00
Use standard hash everywhere
This commit is contained in:
parent
83ff47bb58
commit
48901a02a7
@ -1,5 +1,4 @@
|
||||
import argparse
|
||||
from hashlib import sha256
|
||||
from pathlib import Path
|
||||
|
||||
from blspy import PrivateKey, PublicKey
|
||||
@ -9,6 +8,7 @@ from chiapos import DiskProver, Verifier
|
||||
from definitions import ROOT_DIR
|
||||
from src.types.proof_of_space import ProofOfSpace
|
||||
from src.types.sized_bytes import bytes32
|
||||
from src.util.hash import std_hash
|
||||
|
||||
plot_root = ROOT_DIR / "plots"
|
||||
plot_config_filename = ROOT_DIR / "config" / "plots.yaml"
|
||||
@ -49,7 +49,7 @@ def main():
|
||||
total_proofs = 0
|
||||
try:
|
||||
for i in range(args.num):
|
||||
challenge = sha256(i.to_bytes(32, "big")).digest()
|
||||
challenge = std_hash(i.to_bytes(32, "big"))
|
||||
for index, quality_str in enumerate(
|
||||
pr.get_qualities_for_challenge(challenge)
|
||||
):
|
||||
|
@ -23,7 +23,7 @@ from src.types.challenge import Challenge
|
||||
from src.types.full_block import FullBlock
|
||||
from src.types.hashable.Coin import Coin
|
||||
from src.types.hashable.BLSSignature import BLSSignature
|
||||
from src.util.Hash import std_hash
|
||||
from src.util.hash import std_hash
|
||||
from src.types.hashable.SpendBundle import SpendBundle
|
||||
from src.types.hashable.Program import Program
|
||||
from src.types.header import Header, HeaderData
|
||||
|
@ -6,7 +6,7 @@ from clvm.serialize import sexp_from_stream, sexp_to_stream
|
||||
from clvm.subclass_sexp import BaseSExp
|
||||
|
||||
from src.types.sized_bytes import bytes32
|
||||
from src.util.Hash import std_hash
|
||||
from src.util.hash import std_hash
|
||||
|
||||
SExp = to_sexp_f(1).__class__
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
from dataclasses import dataclass
|
||||
from hashlib import sha256
|
||||
from typing import Optional
|
||||
|
||||
from blspy import PublicKey
|
||||
@ -8,6 +7,7 @@ from chiapos import Verifier
|
||||
from src.types.sized_bytes import bytes32
|
||||
from src.util.ints import uint8
|
||||
from src.util.streamable import Streamable, streamable
|
||||
from src.util.hash import std_hash
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@ -34,4 +34,4 @@ class ProofOfSpace(Streamable):
|
||||
|
||||
@staticmethod
|
||||
def calculate_plot_seed(pool_pubkey: PublicKey, plot_pubkey: PublicKey) -> bytes32:
|
||||
return bytes32(sha256(bytes(pool_pubkey) + bytes(plot_pubkey)).digest())
|
||||
return bytes32(std_hash(bytes(pool_pubkey) + bytes(plot_pubkey)).digest())
|
||||
|
@ -5,10 +5,10 @@ import dataclasses
|
||||
import io
|
||||
import pprint
|
||||
import json
|
||||
from hashlib import sha256
|
||||
from typing import Any, BinaryIO, List, Type, get_type_hints, Union
|
||||
from src.util.byte_types import hexstr_to_bytes
|
||||
from src.types.hashable.Program import Program
|
||||
from src.util.hash import std_hash
|
||||
|
||||
from blspy import (
|
||||
ChainCode,
|
||||
@ -190,7 +190,7 @@ class Streamable:
|
||||
self.stream_one_item(f_type, getattr(self, f_name), f)
|
||||
|
||||
def get_hash(self) -> bytes32:
|
||||
return bytes32(sha256(bytes(self)).digest())
|
||||
return bytes32(std_hash(bytes(self)))
|
||||
|
||||
@classmethod
|
||||
def from_bytes(cls: Any, blob: bytes) -> Any:
|
||||
|
@ -1,6 +1,5 @@
|
||||
import sys
|
||||
import time
|
||||
from hashlib import sha256
|
||||
from typing import Any, Dict, List, Tuple, Optional
|
||||
from pathlib import Path
|
||||
|
||||
@ -28,6 +27,7 @@ from src.types.proof_of_time import ProofOfTime
|
||||
from src.types.sized_bytes import bytes32
|
||||
from src.util.errors import NoProofsOfSpaceFound
|
||||
from src.util.ints import uint8, uint32, uint64
|
||||
from src.util.hash import std_hash
|
||||
|
||||
# Can't go much lower than 19, since plots start having no solutions
|
||||
k: uint8 = uint8(19)
|
||||
@ -42,8 +42,8 @@ plot_sks: List[PrivateKey] = [
|
||||
plot_pks: List[PublicKey] = [sk.get_public_key() for sk in plot_sks]
|
||||
|
||||
farmer_sk: PrivateKey = PrivateKey.from_seed(b"coinbase")
|
||||
coinbase_target = sha256(bytes(farmer_sk.get_public_key())).digest()
|
||||
fee_target = sha256(bytes(farmer_sk.get_public_key())).digest()
|
||||
coinbase_target = std_hash(bytes(farmer_sk.get_public_key()))
|
||||
fee_target = std_hash(bytes(farmer_sk.get_public_key()))
|
||||
n_wesolowski = uint8(3)
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ class BlockTools:
|
||||
self.filenames: List[str] = [
|
||||
"genesis-plots-"
|
||||
+ str(k)
|
||||
+ sha256(int.to_bytes(i, 4, "big")).digest().hex()
|
||||
+ std_hash(int.to_bytes(i, 4, "big")).hex()
|
||||
+ ".dat"
|
||||
for i in range(num_plots)
|
||||
]
|
||||
@ -117,7 +117,7 @@ class BlockTools:
|
||||
else:
|
||||
block_list.append(
|
||||
self.create_genesis_block(
|
||||
test_constants, sha256(seed).digest(), seed
|
||||
test_constants, std_hash(seed), seed
|
||||
)
|
||||
)
|
||||
prev_difficulty = test_constants["DIFFICULTY_STARTING"]
|
||||
|
@ -1,8 +1,7 @@
|
||||
from hashlib import sha256
|
||||
|
||||
from src.consensus.pot_iterations import calculate_iterations_quality
|
||||
from src.consensus.pos_quality import _expected_plot_size
|
||||
from src.util.ints import uint8, uint64
|
||||
from src.util.hash import std_hash
|
||||
|
||||
|
||||
class TestPotIterations:
|
||||
@ -33,7 +32,7 @@ class TestPotIterations:
|
||||
|
||||
for b_index in range(total_blocks):
|
||||
qualities = [
|
||||
sha256(b_index.to_bytes(32, "big") + bytes(farmer_index)).digest()
|
||||
std_hash(b_index.to_bytes(32, "big") + bytes(farmer_index))
|
||||
for farmer_index in range(len(farmer_ks))
|
||||
]
|
||||
iters = [
|
||||
|
@ -240,6 +240,7 @@ class TestBlockchainTransactions:
|
||||
)
|
||||
|
||||
# Invalid block bundle
|
||||
assert bad_spend_bundle is not None
|
||||
invalid_program = best_solution_program(bad_spend_bundle)
|
||||
aggsig = bad_spend_bundle.aggregated_signature
|
||||
|
||||
@ -258,6 +259,7 @@ class TestBlockchainTransactions:
|
||||
assert error is Err.ASSERT_MY_COIN_ID_FAILED
|
||||
|
||||
# Valid block bundle
|
||||
assert valid_spend_bundle is not None
|
||||
valid_program = best_solution_program(valid_spend_bundle)
|
||||
aggsig = valid_spend_bundle.aggregated_signature
|
||||
|
||||
@ -314,6 +316,7 @@ class TestBlockchainTransactions:
|
||||
)
|
||||
|
||||
# Invalid block bundle
|
||||
assert block1_spend_bundle is not None
|
||||
solo_program = best_solution_program(block1_spend_bundle)
|
||||
aggsig = block1_spend_bundle.aggregated_signature
|
||||
|
||||
@ -384,6 +387,7 @@ class TestBlockchainTransactions:
|
||||
)
|
||||
|
||||
# program that will be sent to early
|
||||
assert block1_spend_bundle is not None
|
||||
program = best_solution_program(block1_spend_bundle)
|
||||
aggsig = block1_spend_bundle.aggregated_signature
|
||||
|
||||
@ -452,6 +456,7 @@ class TestBlockchainTransactions:
|
||||
)
|
||||
|
||||
# program that will be sent to early
|
||||
assert block1_spend_bundle is not None
|
||||
program = best_solution_program(block1_spend_bundle)
|
||||
aggsig = block1_spend_bundle.aggregated_signature
|
||||
|
||||
@ -520,6 +525,7 @@ class TestBlockchainTransactions:
|
||||
)
|
||||
|
||||
# program that will be sent to early
|
||||
assert block1_spend_bundle is not None
|
||||
program = best_solution_program(block1_spend_bundle)
|
||||
aggsig = block1_spend_bundle.aggregated_signature
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
from src.util.Hash import std_hash
|
||||
from src.util.hash import std_hash
|
||||
from src.util.condition_tools import (
|
||||
conditions_by_opcode,
|
||||
aggsig_in_conditions_dict,
|
||||
@ -17,7 +17,7 @@ def test_1():
|
||||
|
||||
conditions = [
|
||||
make_create_coin_condition(std_hash(bytes(pp)), amount)
|
||||
for pp, amount in [(puzzle_program_1, 1000), (puzzle_program_2, 2000),]
|
||||
for pp, amount in [(puzzle_program_1, 1000), (puzzle_program_2, 2000), ]
|
||||
]
|
||||
|
||||
assert conditions is not None
|
||||
|
Loading…
Reference in New Issue
Block a user