@@ -14,7 +14,7 @@ pub fn encode<T: RLPEncode>(value: T) -> Vec<u8> {
1414} 
1515
1616pub  trait  RLPEncode  { 
17-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut ) ; 
17+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > ) ; 
1818
1919    fn  length ( & self )  -> usize  { 
2020        let  mut  buf = Vec :: new ( ) ; 
@@ -31,7 +31,7 @@ pub trait RLPEncode {
3131
3232impl  RLPEncode  for  bool  { 
3333    #[ inline( always) ]  
34-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
34+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
3535        if  * self  { 
3636            buf. put_u8 ( 0x01 ) ; 
3737        }  else  { 
@@ -47,7 +47,7 @@ impl RLPEncode for bool {
4747
4848// integer types impls 
4949
50- fn  impl_encode < const  N :  usize > ( value_be :  [ u8 ;  N ] ,  buf :  & mut  dyn   BufMut )  { 
50+ fn  impl_encode < const  N :  usize > ( value_be :  [ u8 ;  N ] ,  buf :  & mut  Vec < u8 > )  { 
5151    let  mut  is_multi_byte_case = false ; 
5252
5353    for  n in  value_be. iter ( ) . take ( N  - 1 )  { 
@@ -78,50 +78,50 @@ fn impl_encode<const N: usize>(value_be: [u8; N], buf: &mut dyn BufMut) {
7878} 
7979
8080impl  RLPEncode  for  u8  { 
81-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
81+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
8282        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
8383    } 
8484} 
8585
8686impl  RLPEncode  for  u16  { 
87-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
87+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
8888        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
8989    } 
9090} 
9191
9292impl  RLPEncode  for  u32  { 
93-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
93+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
9494        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
9595    } 
9696} 
9797
9898impl  RLPEncode  for  u64  { 
99-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
99+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
100100        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
101101    } 
102102} 
103103
104104impl  RLPEncode  for  usize  { 
105-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
105+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
106106        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
107107    } 
108108} 
109109
110110impl  RLPEncode  for  u128  { 
111-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
111+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
112112        impl_encode ( self . to_be_bytes ( ) ,  buf) ; 
113113    } 
114114} 
115115
116116impl  RLPEncode  for  ( )  { 
117-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
117+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
118118        buf. put_u8 ( RLP_NULL ) ; 
119119    } 
120120} 
121121
122122impl  RLPEncode  for  [ u8 ]  { 
123123    #[ inline( always) ]  
124-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
124+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
125125        if  self . len ( )  == 1  && self [ 0 ]  < RLP_NULL  { 
126126            buf. put_u8 ( self [ 0 ] ) ; 
127127        }  else  { 
@@ -142,39 +142,39 @@ impl RLPEncode for [u8] {
142142} 
143143
144144impl < const  N :  usize >  RLPEncode  for  [ u8 ;  N ]  { 
145-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
145+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
146146        self . as_ref ( ) . encode ( buf) 
147147    } 
148148} 
149149
150150impl  RLPEncode  for  str  { 
151-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
151+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
152152        self . as_bytes ( ) . encode ( buf) 
153153    } 
154154} 
155155
156156impl  RLPEncode  for  & str  { 
157-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
157+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
158158        self . as_bytes ( ) . encode ( buf) 
159159    } 
160160} 
161161
162162impl  RLPEncode  for  String  { 
163-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
163+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
164164        self . as_bytes ( ) . encode ( buf) 
165165    } 
166166} 
167167
168168impl  RLPEncode  for  U256  { 
169-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
169+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
170170        let  leading_zeros_in_bytes:  usize  = ( self . leading_zeros ( )  / 8 )  as  usize ; 
171171        let  bytes = self . to_big_endian ( ) ; 
172172        bytes[ leading_zeros_in_bytes..] . encode ( buf) 
173173    } 
174174} 
175175
176176impl < T :  RLPEncode >  RLPEncode  for  Vec < T >  { 
177-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
177+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
178178        if  self . is_empty ( )  { 
179179            buf. put_u8 ( 0xc0 ) ; 
180180        }  else  { 
@@ -188,7 +188,7 @@ impl<T: RLPEncode> RLPEncode for Vec<T> {
188188    } 
189189} 
190190
191- pub  fn  encode_length ( total_len :  usize ,  buf :  & mut  dyn   BufMut )  { 
191+ pub  fn  encode_length ( total_len :  usize ,  buf :  & mut  Vec < u8 > )  { 
192192    if  total_len < 56  { 
193193        buf. put_u8 ( 0xc0  + total_len as  u8 ) ; 
194194    }  else  { 
@@ -202,7 +202,7 @@ pub fn encode_length(total_len: usize, buf: &mut dyn BufMut) {
202202} 
203203
204204impl < S :  RLPEncode ,  T :  RLPEncode >  RLPEncode  for  ( S ,  T )  { 
205-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
205+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
206206        let  total_len = self . 0 . length ( )  + self . 1 . length ( ) ; 
207207        encode_length ( total_len,  buf) ; 
208208        self . 0 . encode ( buf) ; 
@@ -211,7 +211,7 @@ impl<S: RLPEncode, T: RLPEncode> RLPEncode for (S, T) {
211211} 
212212
213213impl < S :  RLPEncode ,  T :  RLPEncode ,  U :  RLPEncode >  RLPEncode  for  ( S ,  T ,  U )  { 
214-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
214+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
215215        let  total_len = self . 0 . length ( )  + self . 1 . length ( )  + self . 2 . length ( ) ; 
216216        encode_length ( total_len,  buf) ; 
217217        self . 0 . encode ( buf) ; 
@@ -221,7 +221,7 @@ impl<S: RLPEncode, T: RLPEncode, U: RLPEncode> RLPEncode for (S, T, U) {
221221} 
222222
223223impl < S :  RLPEncode ,  T :  RLPEncode ,  U :  RLPEncode ,  V :  RLPEncode >  RLPEncode  for  ( S ,  T ,  U ,  V )  { 
224-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
224+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
225225        let  total_len = self . 0 . length ( )  + self . 1 . length ( )  + self . 2 . length ( )  + self . 3 . length ( ) ; 
226226        encode_length ( total_len,  buf) ; 
227227        self . 0 . encode ( buf) ; 
@@ -234,7 +234,7 @@ impl<S: RLPEncode, T: RLPEncode, U: RLPEncode, V: RLPEncode> RLPEncode for (S, T
234234impl < S :  RLPEncode ,  T :  RLPEncode ,  U :  RLPEncode ,  V :  RLPEncode ,  W :  RLPEncode >  RLPEncode 
235235    for  ( S ,  T ,  U ,  V ,  W ) 
236236{ 
237-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
237+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
238238        let  total_len =
239239            self . 0 . length ( )  + self . 1 . length ( )  + self . 2 . length ( )  + self . 3 . length ( )  + self . 4 . length ( ) ; 
240240        encode_length ( total_len,  buf) ; 
@@ -247,19 +247,19 @@ impl<S: RLPEncode, T: RLPEncode, U: RLPEncode, V: RLPEncode, W: RLPEncode> RLPEn
247247} 
248248
249249impl  RLPEncode  for  Ipv4Addr  { 
250-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
250+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
251251        self . octets ( ) . encode ( buf) 
252252    } 
253253} 
254254
255255impl  RLPEncode  for  Ipv6Addr  { 
256-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
256+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
257257        self . octets ( ) . encode ( buf) 
258258    } 
259259} 
260260
261261impl  RLPEncode  for  IpAddr  { 
262-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
262+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
263263        match  self  { 
264264            IpAddr :: V4 ( ip)  => ip. encode ( buf) , 
265265            IpAddr :: V6 ( ip)  => ip. encode ( buf) , 
@@ -268,69 +268,69 @@ impl RLPEncode for IpAddr {
268268} 
269269
270270impl  RLPEncode  for  Bytes  { 
271-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
271+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
272272        self . as_ref ( ) . encode ( buf) 
273273    } 
274274} 
275275
276276// encoding for Ethereum types 
277277
278278impl  RLPEncode  for  ethereum_types:: H32  { 
279-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
279+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
280280        self . as_bytes ( ) . encode ( buf) 
281281    } 
282282} 
283283
284284impl  RLPEncode  for  ethereum_types:: H64  { 
285-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
285+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
286286        self . as_bytes ( ) . encode ( buf) 
287287    } 
288288} 
289289
290290impl  RLPEncode  for  ethereum_types:: H128  { 
291-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
291+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
292292        self . as_bytes ( ) . encode ( buf) 
293293    } 
294294} 
295295
296296impl  RLPEncode  for  ethereum_types:: Address  { 
297-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
297+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
298298        self . as_bytes ( ) . encode ( buf) 
299299    } 
300300} 
301301
302302impl  RLPEncode  for  ethereum_types:: H256  { 
303-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
303+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
304304        self . as_bytes ( ) . encode ( buf) 
305305    } 
306306} 
307307
308308impl  RLPEncode  for  ethereum_types:: H264  { 
309-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
309+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
310310        self . as_bytes ( ) . encode ( buf) 
311311    } 
312312} 
313313
314314impl  RLPEncode  for  ethereum_types:: H512  { 
315-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
315+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
316316        self . as_bytes ( ) . encode ( buf) 
317317    } 
318318} 
319319
320320impl  RLPEncode  for  ethereum_types:: Signature  { 
321-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
321+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
322322        self . as_bytes ( ) . encode ( buf) 
323323    } 
324324} 
325325
326326impl  RLPEncode  for  ethereum_types:: Bloom  { 
327-     fn  encode ( & self ,  buf :  & mut  dyn   BufMut )  { 
327+     fn  encode ( & self ,  buf :  & mut  Vec < u8 > )  { 
328328        self . 0 . encode ( buf) 
329329    } 
330330} 
331331
332332pub  trait  PayloadRLPEncode  { 
333-     fn  encode_payload ( & self ,  buf :  & mut  dyn  bytes :: BufMut ) ; 
333+     fn  encode_payload ( & self ,  buf :  & mut  Vec < u8 > ) ; 
334334    fn  encode_payload_to_vec ( & self )  -> Vec < u8 >  { 
335335        let  mut  buf = Vec :: new ( ) ; 
336336        self . encode_payload ( & mut  buf) ; 
0 commit comments