mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-10-05 21:36:40 -04:00
Merge commit '4b2f9f0c7e7e575dd266c238a017b9856b254a1f' into checkpoint/main_from_release_2.4.1_4b2f9f0c7e7e575dd266c238a017b9856b254a1f
This commit is contained in:
@@ -1,11 +1,50 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import List
|
||||
|
||||
import chia_rs
|
||||
|
||||
ProofBlockHeader = chia_rs.ProofBlockHeader
|
||||
RecentChainData = chia_rs.RecentChainData
|
||||
SubEpochChallengeSegment = chia_rs.SubEpochChallengeSegment
|
||||
from chia.types.blockchain_format.reward_chain_block import RewardChainBlock
|
||||
from chia.types.end_of_slot_bundle import EndOfSubSlotBundle
|
||||
from chia.types.header_block import HeaderBlock
|
||||
from chia.util.streamable import Streamable, streamable
|
||||
|
||||
SubEpochData = chia_rs.SubEpochData
|
||||
|
||||
# number of challenge blocks
|
||||
# Average iters for challenge blocks
|
||||
# |--A-R----R-------R--------R------R----R----------R-----R--R---| Honest difficulty 1000
|
||||
# 0.16
|
||||
|
||||
# compute total reward chain blocks
|
||||
# |----------------------------A---------------------------------| Attackers chain 1000
|
||||
# 0.48
|
||||
# total number of challenge blocks == total number of reward chain blocks
|
||||
|
||||
|
||||
SubEpochChallengeSegment = chia_rs.SubEpochChallengeSegment
|
||||
SubEpochSegments = chia_rs.SubEpochSegments
|
||||
SubSlotData = chia_rs.SubSlotData
|
||||
WeightProof = chia_rs.WeightProof
|
||||
|
||||
|
||||
@streamable
|
||||
@dataclass(frozen=True)
|
||||
# this is used only for serialization to database
|
||||
class RecentChainData(Streamable):
|
||||
recent_chain_data: List[HeaderBlock]
|
||||
|
||||
|
||||
@streamable
|
||||
@dataclass(frozen=True)
|
||||
class ProofBlockHeader(Streamable):
|
||||
finished_sub_slots: List[EndOfSubSlotBundle]
|
||||
reward_chain_block: RewardChainBlock
|
||||
|
||||
|
||||
@streamable
|
||||
@dataclass(frozen=True)
|
||||
class WeightProof(Streamable):
|
||||
sub_epochs: List[SubEpochData]
|
||||
sub_epoch_segments: List[SubEpochChallengeSegment] # sampled sub epoch
|
||||
recent_chain_data: List[HeaderBlock]
|
||||
|
||||
Reference in New Issue
Block a user