@@ -6,8 +6,8 @@ use graph::components::store::BlockStore;
6
6
use graph:: {
7
7
blockchain:: Block ,
8
8
prelude:: {
9
- serde_json, web3:: types:: H256 , BlockHash , BlockNumber , BlockPtr , EthereumBlock ,
10
- LightEthereumBlock ,
9
+ serde_json, web3:: types:: H256 , web3 :: types :: U256 , BlockHash , BlockNumber , BlockPtr ,
10
+ EthereumBlock , LightEthereumBlock ,
11
11
} ,
12
12
} ;
13
13
@@ -16,23 +16,25 @@ lazy_static! {
16
16
pub static ref GENESIS_BLOCK : FakeBlock = FakeBlock {
17
17
number: super :: GENESIS_PTR . number,
18
18
hash: super :: GENESIS_PTR . hash_hex( ) ,
19
+ timestamp: None ,
19
20
parent_hash: NO_PARENT . to_string( )
20
21
} ;
21
22
pub static ref BLOCK_ONE : FakeBlock = GENESIS_BLOCK
22
- . make_child( "8511fa04b64657581e3f00e14543c1d522d5d7e771b54aa3060b662ade47da13" ) ;
23
+ . make_child( "8511fa04b64657581e3f00e14543c1d522d5d7e771b54aa3060b662ade47da13" , None ) ;
23
24
pub static ref BLOCK_ONE_SIBLING : FakeBlock =
24
- GENESIS_BLOCK . make_child( "b98fb783b49de5652097a989414c767824dff7e7fd765a63b493772511db81c1" ) ;
25
+ GENESIS_BLOCK . make_child( "b98fb783b49de5652097a989414c767824dff7e7fd765a63b493772511db81c1" , None ) ;
25
26
pub static ref BLOCK_ONE_NO_PARENT : FakeBlock = FakeBlock :: make_no_parent(
26
27
1 ,
27
28
"7205bdfcf4521874cf38ce38c879ff967bf3a069941286bfe267109ad275a63d"
28
29
) ;
29
30
30
- pub static ref BLOCK_TWO : FakeBlock = BLOCK_ONE . make_child( "f8ccbd3877eb98c958614f395dd351211afb9abba187bfc1fb4ac414b099c4a6" ) ;
31
+ pub static ref BLOCK_TWO : FakeBlock = BLOCK_ONE . make_child( "f8ccbd3877eb98c958614f395dd351211afb9abba187bfc1fb4ac414b099c4a6" , None ) ;
31
32
pub static ref BLOCK_TWO_NO_PARENT : FakeBlock = FakeBlock :: make_no_parent( 2 , "3b652b00bff5e168b1218ff47593d516123261c4487629c4175f642ee56113fe" ) ;
32
- pub static ref BLOCK_THREE : FakeBlock = BLOCK_TWO . make_child( "7347afe69254df06729e123610b00b8b11f15cfae3241f9366fb113aec07489c" ) ;
33
+ pub static ref BLOCK_THREE : FakeBlock = BLOCK_TWO . make_child( "7347afe69254df06729e123610b00b8b11f15cfae3241f9366fb113aec07489c" , None ) ;
33
34
pub static ref BLOCK_THREE_NO_PARENT : FakeBlock = FakeBlock :: make_no_parent( 3 , "fa9ebe3f74de4c56908b49f5c4044e85825f7350f3fa08a19151de82a82a7313" ) ;
34
- pub static ref BLOCK_FOUR : FakeBlock = BLOCK_THREE . make_child( "7cce080f5a49c2997a6cc65fc1cee9910fd8fc3721b7010c0b5d0873e2ac785e" ) ;
35
- pub static ref BLOCK_FIVE : FakeBlock = BLOCK_FOUR . make_child( "7b0ea919e258eb2b119eb32de56b85d12d50ac6a9f7c5909f843d6172c8ba196" ) ;
35
+ pub static ref BLOCK_THREE_TIMESTAMP : FakeBlock = BLOCK_TWO . make_child( "6b834521bb753c132fdcf0e1034803ed9068e324112f8750ba93580b393a986b" , Some ( U256 :: from( 1657712166 ) ) ) ;
36
+ pub static ref BLOCK_FOUR : FakeBlock = BLOCK_THREE . make_child( "7cce080f5a49c2997a6cc65fc1cee9910fd8fc3721b7010c0b5d0873e2ac785e" , None ) ;
37
+ pub static ref BLOCK_FIVE : FakeBlock = BLOCK_FOUR . make_child( "7b0ea919e258eb2b119eb32de56b85d12d50ac6a9f7c5909f843d6172c8ba196" , None ) ;
36
38
pub static ref BLOCK_SIX_NO_PARENT : FakeBlock = FakeBlock :: make_no_parent( 6 , "6b834521bb753c132fdcf0e1034803ed9068e324112f8750ba93580b393a986b" ) ;
37
39
}
38
40
@@ -45,14 +47,16 @@ pub struct FakeBlock {
45
47
pub number : BlockNumber ,
46
48
pub hash : String ,
47
49
pub parent_hash : String ,
50
+ pub timestamp : Option < U256 > ,
48
51
}
49
52
50
53
impl FakeBlock {
51
- pub fn make_child ( & self , hash : & str ) -> Self {
54
+ pub fn make_child ( & self , hash : & str , timestamp : Option < U256 > ) -> Self {
52
55
FakeBlock {
53
56
number : self . number + 1 ,
54
57
hash : hash. to_owned ( ) ,
55
58
parent_hash : self . hash . clone ( ) ,
59
+ timestamp,
56
60
}
57
61
}
58
62
@@ -61,6 +65,7 @@ impl FakeBlock {
61
65
number,
62
66
hash : hash. to_owned ( ) ,
63
67
parent_hash : NO_PARENT . to_string ( ) ,
68
+ timestamp : None ,
64
69
}
65
70
}
66
71
@@ -79,6 +84,9 @@ impl FakeBlock {
79
84
block. number = Some ( self . number . into ( ) ) ;
80
85
block. parent_hash = parent_hash;
81
86
block. hash = Some ( H256 ( self . block_hash ( ) . as_slice ( ) . try_into ( ) . unwrap ( ) ) ) ;
87
+ if let Some ( ts) = self . timestamp {
88
+ block. timestamp = ts;
89
+ }
82
90
83
91
EthereumBlock {
84
92
block : Arc :: new ( block) ,
0 commit comments