@@ -922,7 +922,7 @@ mod serde_impl {
922
922
serializer. serialize_str ( & format ! ( "{:#x}" , self ) )
923
923
} else {
924
924
let mut seq = serializer. serialize_seq ( Some ( 32 ) ) ?;
925
- for b in self . to_bytes_be ( ) {
925
+ for b in self . to_bytes_le ( ) {
926
926
seq. serialize_element ( & b) ?;
927
927
}
928
928
seq. end ( )
@@ -970,19 +970,21 @@ mod serde_impl {
970
970
A : de:: SeqAccess < ' de > ,
971
971
{
972
972
let mut bytes = [ 0u8 ; 32 ] ;
973
- for ( i, byte) in bytes. iter_mut ( ) . enumerate ( ) {
974
- * byte = seq
975
- . next_element ( ) ?
976
- . ok_or_else ( || de:: Error :: invalid_length ( i, & "32 bytes" ) ) ?;
973
+ for byte in bytes. iter_mut ( ) {
974
+ if let Some ( b) = seq. next_element ( ) ? {
975
+ * byte = b;
976
+ } else {
977
+ break ;
978
+ }
977
979
}
978
980
if seq. next_element :: < u8 > ( ) ?. is_some ( ) {
979
981
let mut count = 33 ;
980
982
while seq. next_element :: < u8 > ( ) ?. is_some ( ) {
981
983
count += 1 ;
982
984
}
983
- return Err ( de:: Error :: invalid_length ( count, & "32 bytes" ) ) ;
985
+ return Err ( de:: Error :: invalid_length ( count, & "32 bytes max " ) ) ;
984
986
}
985
- Ok ( Felt :: from_bytes_be ( & bytes) )
987
+ Ok ( Felt :: from_bytes_le ( & bytes) )
986
988
}
987
989
}
988
990
}
@@ -1701,6 +1703,7 @@ mod test {
1701
1703
& Felt :: TWO . compact ( ) ,
1702
1704
& [
1703
1705
Token :: Seq { len : Some ( 32 ) } ,
1706
+ Token :: U8 ( 2 ) ,
1704
1707
Token :: U8 ( 0 ) ,
1705
1708
Token :: U8 ( 0 ) ,
1706
1709
Token :: U8 ( 0 ) ,
@@ -1732,14 +1735,14 @@ mod test {
1732
1735
Token :: U8 ( 0 ) ,
1733
1736
Token :: U8 ( 0 ) ,
1734
1737
Token :: U8 ( 0 ) ,
1735
- Token :: U8 ( 2 ) ,
1736
1738
Token :: SeqEnd ,
1737
1739
] ,
1738
1740
) ;
1739
1741
assert_de_tokens (
1740
1742
& Felt :: THREE . compact ( ) ,
1741
1743
& [
1742
1744
Token :: Seq { len : Some ( 32 ) } ,
1745
+ Token :: U8 ( 3 ) ,
1743
1746
Token :: U8 ( 0 ) ,
1744
1747
Token :: U8 ( 0 ) ,
1745
1748
Token :: U8 ( 0 ) ,
@@ -1771,22 +1774,21 @@ mod test {
1771
1774
Token :: U8 ( 0 ) ,
1772
1775
Token :: U8 ( 0 ) ,
1773
1776
Token :: U8 ( 0 ) ,
1774
- Token :: U8 ( 3 ) ,
1775
1777
Token :: SeqEnd ,
1776
1778
] ,
1777
1779
) ;
1778
1780
assert_de_tokens (
1779
- & Felt :: MAX . compact ( ) ,
1781
+ & Felt :: ONE . compact ( ) ,
1780
1782
& [
1781
1783
Token :: Seq { len : Some ( 32 ) } ,
1782
- Token :: U8 ( 8 ) ,
1784
+ Token :: U8 ( 1 ) ,
1785
+ Token :: U8 ( 0 ) ,
1783
1786
Token :: U8 ( 0 ) ,
1784
1787
Token :: U8 ( 0 ) ,
1785
1788
Token :: U8 ( 0 ) ,
1786
1789
Token :: U8 ( 0 ) ,
1787
1790
Token :: U8 ( 0 ) ,
1788
1791
Token :: U8 ( 0 ) ,
1789
- Token :: U8 ( 17 ) ,
1790
1792
Token :: U8 ( 0 ) ,
1791
1793
Token :: U8 ( 0 ) ,
1792
1794
Token :: U8 ( 0 ) ,
@@ -1814,43 +1816,14 @@ mod test {
1814
1816
Token :: SeqEnd ,
1815
1817
] ,
1816
1818
) ;
1817
- assert_de_tokens_error :: < Compact < Felt > > (
1819
+ assert_de_tokens (
1820
+ & Felt :: ONE . compact ( ) ,
1818
1821
& [
1819
- Token :: Seq { len : Some ( 31 ) } ,
1820
- Token :: U8 ( 0 ) ,
1821
- Token :: U8 ( 0 ) ,
1822
- Token :: U8 ( 0 ) ,
1823
- Token :: U8 ( 0 ) ,
1824
- Token :: U8 ( 0 ) ,
1825
- Token :: U8 ( 0 ) ,
1826
- Token :: U8 ( 0 ) ,
1827
- Token :: U8 ( 0 ) ,
1828
- Token :: U8 ( 0 ) ,
1829
- Token :: U8 ( 0 ) ,
1830
- Token :: U8 ( 0 ) ,
1831
- Token :: U8 ( 0 ) ,
1832
- Token :: U8 ( 0 ) ,
1833
- Token :: U8 ( 0 ) ,
1834
- Token :: U8 ( 0 ) ,
1835
- Token :: U8 ( 0 ) ,
1836
- Token :: U8 ( 0 ) ,
1837
- Token :: U8 ( 0 ) ,
1838
- Token :: U8 ( 0 ) ,
1839
- Token :: U8 ( 0 ) ,
1840
- Token :: U8 ( 0 ) ,
1841
- Token :: U8 ( 0 ) ,
1842
- Token :: U8 ( 0 ) ,
1843
- Token :: U8 ( 0 ) ,
1844
- Token :: U8 ( 0 ) ,
1845
- Token :: U8 ( 0 ) ,
1846
- Token :: U8 ( 0 ) ,
1847
- Token :: U8 ( 0 ) ,
1848
- Token :: U8 ( 0 ) ,
1849
- Token :: U8 ( 0 ) ,
1822
+ Token :: Seq { len : Some ( 2 ) } ,
1823
+ Token :: U8 ( 1 ) ,
1850
1824
Token :: U8 ( 0 ) ,
1851
1825
Token :: SeqEnd ,
1852
1826
] ,
1853
- "invalid length 31, expected 32 bytes" ,
1854
1827
) ;
1855
1828
assert_de_tokens_error :: < Compact < Felt > > (
1856
1829
& [
@@ -1890,7 +1863,7 @@ mod test {
1890
1863
Token :: U8 ( 0 ) ,
1891
1864
Token :: SeqEnd ,
1892
1865
] ,
1893
- "invalid length 33, expected 32 bytes" ,
1866
+ "invalid length 33, expected 32 bytes max " ,
1894
1867
) ;
1895
1868
}
1896
1869
@@ -1950,6 +1923,7 @@ mod test {
1950
1923
& Felt :: TWO . compact ( ) ,
1951
1924
& [
1952
1925
Token :: Seq { len : Some ( 32 ) } ,
1926
+ Token :: U8 ( 2 ) ,
1953
1927
Token :: U8 ( 0 ) ,
1954
1928
Token :: U8 ( 0 ) ,
1955
1929
Token :: U8 ( 0 ) ,
@@ -1981,14 +1955,14 @@ mod test {
1981
1955
Token :: U8 ( 0 ) ,
1982
1956
Token :: U8 ( 0 ) ,
1983
1957
Token :: U8 ( 0 ) ,
1984
- Token :: U8 ( 2 ) ,
1985
1958
Token :: SeqEnd ,
1986
1959
] ,
1987
1960
) ;
1988
1961
assert_ser_tokens (
1989
1962
& Felt :: THREE . compact ( ) ,
1990
1963
& [
1991
1964
Token :: Seq { len : Some ( 32 ) } ,
1965
+ Token :: U8 ( 3 ) ,
1992
1966
Token :: U8 ( 0 ) ,
1993
1967
Token :: U8 ( 0 ) ,
1994
1968
Token :: U8 ( 0 ) ,
@@ -2020,22 +1994,19 @@ mod test {
2020
1994
Token :: U8 ( 0 ) ,
2021
1995
Token :: U8 ( 0 ) ,
2022
1996
Token :: U8 ( 0 ) ,
2023
- Token :: U8 ( 3 ) ,
2024
1997
Token :: SeqEnd ,
2025
1998
] ,
2026
1999
) ;
2027
2000
assert_ser_tokens (
2028
2001
& Felt :: MAX . compact ( ) ,
2029
2002
& [
2030
2003
Token :: Seq { len : Some ( 32 ) } ,
2031
- Token :: U8 ( 8 ) ,
2032
2004
Token :: U8 ( 0 ) ,
2033
2005
Token :: U8 ( 0 ) ,
2034
2006
Token :: U8 ( 0 ) ,
2035
2007
Token :: U8 ( 0 ) ,
2036
2008
Token :: U8 ( 0 ) ,
2037
2009
Token :: U8 ( 0 ) ,
2038
- Token :: U8 ( 17 ) ,
2039
2010
Token :: U8 ( 0 ) ,
2040
2011
Token :: U8 ( 0 ) ,
2041
2012
Token :: U8 ( 0 ) ,
@@ -2054,12 +2025,14 @@ mod test {
2054
2025
Token :: U8 ( 0 ) ,
2055
2026
Token :: U8 ( 0 ) ,
2056
2027
Token :: U8 ( 0 ) ,
2028
+ Token :: U8 ( 17 ) ,
2057
2029
Token :: U8 ( 0 ) ,
2058
2030
Token :: U8 ( 0 ) ,
2059
2031
Token :: U8 ( 0 ) ,
2060
2032
Token :: U8 ( 0 ) ,
2061
2033
Token :: U8 ( 0 ) ,
2062
2034
Token :: U8 ( 0 ) ,
2035
+ Token :: U8 ( 8 ) ,
2063
2036
Token :: SeqEnd ,
2064
2037
] ,
2065
2038
) ;
0 commit comments