@@ -2,15 +2,12 @@ use crate::{
22 consensus:: {
33 parlia:: { util, SIGNATURE_LENGTH , VANITY_LENGTH } , *
44 } ,
5- kv:: { mdbx:: * , tables} ,
6- HeaderReader ,
75} ;
86use serde:: { Deserialize , Serialize } ;
97use std:: {
108 collections:: { BTreeMap } ,
119} ;
1210use ethereum_types:: { Address } ;
13- use tracing:: * ;
1411
1512/// Snapshot, record validators and proposal from epoch chg.
1613#[ derive( Clone , Debug , Default , Deserialize , Serialize ) ]
@@ -45,7 +42,7 @@ impl Snapshot {
4542
4643 pub fn apply (
4744 & mut self ,
48- db : & dyn SnapRW ,
45+ db : & dyn SnapDB ,
4946 header : & BlockHeader ,
5047 chain_id : ChainId ,
5148 ) -> Result < Snapshot , DuoError > {
@@ -117,31 +114,3 @@ impl Snapshot {
117114 -1
118115 }
119116}
120-
121- /// to handle snap from db
122- pub trait SnapRW : HeaderReader {
123- /// read snap from db
124- fn read_snap ( & self , block_hash : H256 ) -> anyhow:: Result < Option < Snapshot > > ;
125- /// write snap into db
126- fn write_snap ( & self , snap : & Snapshot ) -> anyhow:: Result < ( ) > ;
127- }
128-
129- impl < E : EnvironmentKind > SnapRW for MdbxTransaction < ' _ , RW , E > {
130- fn read_snap ( & self , block_hash : H256 ) -> anyhow:: Result < Option < Snapshot > > {
131- let snap_op = self . get ( tables:: ColParliaSnapshot , block_hash) ?;
132- Ok ( match snap_op {
133- None => {
134- None
135- }
136- Some ( val) => {
137- Some ( serde_json:: from_slice ( & val) ?)
138- }
139- } )
140- }
141-
142- fn write_snap ( & self , snap : & Snapshot ) -> anyhow:: Result < ( ) > {
143- debug ! ( "snap store {}, {}" , snap. block_number, snap. block_hash) ;
144- let value = serde_json:: to_vec ( snap) ?;
145- self . set ( tables:: ColParliaSnapshot , snap. block_hash , value)
146- }
147- }
0 commit comments