@@ -53,25 +53,24 @@ pub enum CreateContractAddress {
5353}
5454
5555/// Externalities interface for EVMs
56- // TODO: [rob] associated error type instead of `trie::Result`. Not all EVMs are trie powered.
5756pub trait Ext {
5857 /// Returns a value for given key.
59- fn storage_at ( & self , key : & H256 ) -> trie :: Result < H256 > ;
58+ fn storage_at ( & self , key : & H256 ) -> evm :: Result < H256 > ;
6059
6160 /// Stores a value for given key.
62- fn set_storage ( & mut self , key : H256 , value : H256 ) -> trie :: Result < ( ) > ;
61+ fn set_storage ( & mut self , key : H256 , value : H256 ) -> evm :: Result < ( ) > ;
6362
6463 /// Determine whether an account exists.
65- fn exists ( & self , address : & Address ) -> trie :: Result < bool > ;
64+ fn exists ( & self , address : & Address ) -> evm :: Result < bool > ;
6665
6766 /// Determine whether an account exists and is not null (zero balance/nonce, no code).
68- fn exists_and_not_null ( & self , address : & Address ) -> trie :: Result < bool > ;
67+ fn exists_and_not_null ( & self , address : & Address ) -> evm :: Result < bool > ;
6968
7069 /// Balance of the origin account.
71- fn origin_balance ( & self ) -> trie :: Result < U256 > ;
70+ fn origin_balance ( & self ) -> evm :: Result < U256 > ;
7271
7372 /// Returns address balance.
74- fn balance ( & self , address : & Address ) -> trie :: Result < U256 > ;
73+ fn balance ( & self , address : & Address ) -> evm :: Result < U256 > ;
7574
7675 /// Returns the hash of one of the 256 most recent complete blocks.
7776 fn blockhash ( & mut self , number : & U256 ) -> H256 ;
@@ -99,21 +98,21 @@ pub trait Ext {
9998 ) -> MessageCallResult ;
10099
101100 /// Returns code at given address
102- fn extcode ( & self , address : & Address ) -> trie :: Result < Arc < Bytes > > ;
101+ fn extcode ( & self , address : & Address ) -> evm :: Result < Arc < Bytes > > ;
103102
104103 /// Returns code size at given address
105- fn extcodesize ( & self , address : & Address ) -> trie :: Result < usize > ;
104+ fn extcodesize ( & self , address : & Address ) -> evm :: Result < usize > ;
106105
107106 /// Creates log entry with given topics and data
108- fn log ( & mut self , topics : Vec < H256 > , data : & [ u8 ] ) ;
107+ fn log ( & mut self , topics : Vec < H256 > , data : & [ u8 ] ) -> evm :: Result < ( ) > ;
109108
110109 /// Should be called when transaction calls `RETURN` opcode.
111110 /// Returns gas_left if cost of returning the data is not too high.
112111 fn ret ( self , gas : & U256 , data : & ReturnData ) -> evm:: Result < U256 > ;
113112
114113 /// Should be called when contract commits suicide.
115114 /// Address to which funds should be refunded.
116- fn suicide ( & mut self , refund_address : & Address ) -> trie :: Result < ( ) > ;
115+ fn suicide ( & mut self , refund_address : & Address ) -> evm :: Result < ( ) > ;
117116
118117 /// Returns schedule.
119118 fn schedule ( & self ) -> & Schedule ;
0 commit comments