@@ -39,6 +39,10 @@ impl TestMulti {
3939 sender : self . transaction . sender ,
4040 to : self . transaction . to ,
4141 value : self . transaction . value [ post_state. indexes . value ] ,
42+ access_list : match & self . transaction . access_lists {
43+ Some ( access_lists) => access_lists[ post_state. indexes . data ] . clone ( ) ,
44+ None => Vec :: new ( ) ,
45+ } ,
4246 } ,
4347 } ) ;
4448 }
@@ -113,7 +117,14 @@ pub struct TestPostState {
113117 pub indexes : TestPostStateIndexes ,
114118 pub logs : H256 ,
115119 pub txbytes : HexBytes ,
116- pub expect_exception : Option < String > ,
120+ pub expect_exception : Option < TestExpectException > ,
121+ }
122+
123+ #[ derive( Clone , Debug , Eq , PartialEq , Deserialize ) ]
124+ #[ allow( non_camel_case_types) ]
125+ pub enum TestExpectException {
126+ TR_TypeNotSupported ,
127+ TR_IntrinsicGas ,
117128}
118129
119130#[ derive( Clone , Debug , Eq , PartialEq , Deserialize ) ]
@@ -144,6 +155,14 @@ pub struct TestMultiTransaction {
144155 pub sender : H160 ,
145156 pub to : H160 ,
146157 pub value : Vec < U256 > ,
158+ pub access_lists : Option < Vec < Vec < TestAccessListItem > > > ,
159+ }
160+
161+ #[ derive( Clone , Debug , Eq , PartialEq , Deserialize ) ]
162+ #[ serde( rename_all = "camelCase" ) ]
163+ pub struct TestAccessListItem {
164+ pub address : H160 ,
165+ pub storage_keys : Vec < H256 > ,
147166}
148167
149168#[ derive( Clone , Debug , Eq , PartialEq ) ]
@@ -156,6 +175,7 @@ pub struct TestTransaction {
156175 pub sender : H160 ,
157176 pub to : H160 ,
158177 pub value : U256 ,
178+ pub access_list : Vec < TestAccessListItem > ,
159179}
160180
161181#[ derive( Clone , Debug , Eq , PartialEq , Deserialize ) ]
0 commit comments