1
1
from __future__ import annotations
2
2
3
- import dataclasses
4
3
from collections .abc import AsyncIterator , Collection
5
4
from contextlib import AbstractAsyncContextManager
5
+ from dataclasses import dataclass
6
6
from pathlib import Path
7
7
from types import TracebackType
8
8
from typing import TYPE_CHECKING , Any , Optional
19
19
from chia .util .db_wrapper import DBWrapper2
20
20
21
21
22
+ @dataclass
22
23
class ConsensusStoreSQLite3Writer :
23
- def __init__ (self , block_store : BlockStore , coin_store : CoinStore ):
24
- self ._block_store = block_store
25
- self ._coin_store = coin_store
24
+ block_store : BlockStore
25
+ coin_store : CoinStore
26
26
27
27
async def add_full_block (self , header_hash : bytes32 , block : FullBlock , block_record : BlockRecord ) -> None :
28
- await self ._block_store .add_full_block (header_hash , block , block_record )
28
+ await self .block_store .add_full_block (header_hash , block , block_record )
29
29
30
30
async def rollback (self , height : int ) -> None :
31
- await self ._block_store .rollback (height )
31
+ await self .block_store .rollback (height )
32
32
33
33
async def set_in_chain (self , header_hashes : list [tuple [bytes32 ]]) -> None :
34
- await self ._block_store .set_in_chain (header_hashes )
34
+ await self .block_store .set_in_chain (header_hashes )
35
35
36
36
async def set_peak (self , header_hash : bytes32 ) -> None :
37
- await self ._block_store .set_peak (header_hash )
37
+ await self .block_store .set_peak (header_hash )
38
38
39
39
async def persist_sub_epoch_challenge_segments (
40
40
self , ses_block_hash : bytes32 , segments : list [SubEpochChallengeSegment ]
41
41
) -> None :
42
- await self ._block_store .persist_sub_epoch_challenge_segments (ses_block_hash , segments )
42
+ await self .block_store .persist_sub_epoch_challenge_segments (ses_block_hash , segments )
43
43
44
44
async def rollback_to_block (self , block_index : int ) -> dict [bytes32 , CoinRecord ]:
45
- return await self ._coin_store .rollback_to_block (block_index )
45
+ return await self .coin_store .rollback_to_block (block_index )
46
46
47
47
async def new_block (
48
48
self ,
@@ -52,7 +52,7 @@ async def new_block(
52
52
tx_additions : Collection [tuple [bytes32 , Coin , bool ]],
53
53
tx_removals : list [bytes32 ],
54
54
) -> None :
55
- await self ._coin_store .new_block (height , timestamp , included_reward_coins , tx_additions , tx_removals )
55
+ await self .coin_store .new_block (height , timestamp , included_reward_coins , tx_additions , tx_removals )
56
56
57
57
58
58
@dataclasses .dataclass
0 commit comments