@@ -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