@@ -7,18 +7,22 @@ use crate::{
7
7
} ,
8
8
state:: AppState ,
9
9
} ;
10
- use alloy:: primitives:: { address, Address , U64 } ;
10
+ use alloy:: primitives:: { address, Address , U256 } ;
11
11
use axum:: {
12
12
extract:: { ConnectInfo , Path , Query , State } ,
13
13
response:: { IntoResponse , Response } ,
14
14
Json ,
15
15
} ;
16
16
use hyper:: { HeaderMap , StatusCode } ;
17
- use serde:: { de , Deserialize , Deserializer , Serialize , Serializer } ;
17
+ use serde:: Deserialize ;
18
18
use std:: { collections:: HashMap , net:: SocketAddr , sync:: Arc } ;
19
19
use thiserror:: Error ;
20
20
use tracing:: error;
21
21
use wc:: future:: FutureExt ;
22
+ use yttrium:: wallet_service_api:: {
23
+ AddressOrNative , Asset , AssetData , AssetFilter , AssetType , AssetTypeFilter , ChainFilter ,
24
+ Erc20Metadata , GetAssetsFilters , GetAssetsParams , GetAssetsResult , NativeMetadata ,
25
+ } ;
22
26
23
27
#[ derive( Error , Debug ) ]
24
28
pub enum GetAssetsError {
@@ -373,8 +377,8 @@ fn create_response(balances: Vec<BalanceItem>) -> GetAssetsResult {
373
377
)
374
378
. or_insert_with ( Vec :: new)
375
379
. push ( {
376
- fn convert_balance_to_hex ( quantity : & BalanceQuantity ) -> U64 {
377
- U64 :: from (
380
+ fn convert_balance_to_hex ( quantity : & BalanceQuantity ) -> U256 {
381
+ U256 :: from (
378
382
( quantity. numeric . parse :: < f64 > ( ) . unwrap ( )
379
383
* 10f64 . powf ( quantity. decimals . parse :: < f64 > ( ) . unwrap ( ) ) )
380
384
. round ( ) as u64 ,
@@ -521,6 +525,7 @@ mod ported_tests {
521
525
522
526
mod aggregation_and_conversion {
523
527
use super :: * ;
528
+ use alloy:: primitives:: U64 ;
524
529
525
530
#[ test]
526
531
fn should_correctly_convert_balance_to_hex ( ) {
@@ -548,7 +553,7 @@ mod ported_tests {
548
553
) )
549
554
. unwrap( )
550
555
. balance( ) ,
551
- U64 :: from( 0x26fdd0 )
556
+ U256 :: from( 0x26fdd0 )
552
557
) ;
553
558
554
559
assert_eq ! (
@@ -565,7 +570,7 @@ mod ported_tests {
565
570
) )
566
571
. unwrap( )
567
572
. balance( ) ,
568
- U64 :: from( 0x102189ccc07ac_u64 )
573
+ U256 :: from( 0x102189ccc07ac_u64 )
569
574
) ;
570
575
}
571
576
@@ -595,7 +600,7 @@ mod ported_tests {
595
600
) )
596
601
. unwrap( )
597
602
. balance( ) ,
598
- U64 :: from( 0x26fdd0 )
603
+ U256 :: from( 0x26fdd0 )
599
604
) ;
600
605
601
606
assert_eq ! (
@@ -612,7 +617,7 @@ mod ported_tests {
612
617
) )
613
618
. unwrap( )
614
619
. balance( ) ,
615
- U64 :: from( 0x26fdd0 )
620
+ U256 :: from( 0x26fdd0 )
616
621
) ;
617
622
}
618
623
@@ -639,7 +644,7 @@ mod ported_tests {
639
644
640
645
assert_eq ! (
641
646
result[ & U64 :: from( 0x2105 ) ] . first( ) . unwrap( ) . balance( ) ,
642
- U64 :: from( 0x0 )
647
+ U256 :: from( 0x0 )
643
648
) ;
644
649
}
645
650
@@ -704,7 +709,7 @@ mod ported_tests {
704
709
) )
705
710
. unwrap( )
706
711
. balance( ) ,
707
- U64 :: from( 0x75bcd15 )
712
+ U256 :: from( 0x75bcd15 )
708
713
) ;
709
714
710
715
assert_eq ! (
@@ -721,7 +726,7 @@ mod ported_tests {
721
726
) )
722
727
. unwrap( )
723
728
. balance( ) ,
724
- U64 :: from( 0x112210f4768db400_u64 )
729
+ U256 :: from( 0x112210f4768db400_u64 )
725
730
) ;
726
731
}
727
732
@@ -757,7 +762,7 @@ mod ported_tests {
757
762
758
763
assert_eq ! (
759
764
result[ & U64 :: from( 0x2105 ) ] . first( ) . unwrap( ) . balance( ) ,
760
- U64 :: from( 0xde0b6b3a7640000_u64 )
765
+ U256 :: from( 0xde0b6b3a7640000_u64 )
761
766
) ;
762
767
}
763
768
@@ -793,7 +798,7 @@ mod ported_tests {
793
798
794
799
assert_eq ! (
795
800
result[ & U64 :: from( 0x2105 ) ] . first( ) . unwrap( ) . balance( ) ,
796
- U64 :: from( 0xf4240 )
801
+ U256 :: from( 0xf4240 )
797
802
) ;
798
803
}
799
804
@@ -828,7 +833,7 @@ mod ported_tests {
828
833
let asset = result[ & U64 :: from ( 42161 ) ] . first ( ) . unwrap ( ) ;
829
834
830
835
assert_eq ! ( asset. asset_type( ) , AssetType :: Native ) ;
831
- assert_eq ! ( asset. balance( ) , U64 :: from( 0xde0b6b3a7640000_u64 ) ) ;
836
+ assert_eq ! ( asset. balance( ) , U256 :: from( 0xde0b6b3a7640000_u64 ) ) ;
832
837
if let Asset :: Native { data } = asset {
833
838
assert_eq ! ( data. address, AddressOrNative :: Native ) ;
834
839
} else {
@@ -934,17 +939,17 @@ mod ported_tests {
934
939
935
940
assert_eq ! (
936
941
result[ & U64 :: from( 0xa4b1 ) ] . first( ) . unwrap( ) . balance( ) ,
937
- U64 :: from( 0x11e1a300 )
942
+ U256 :: from( 0x11e1a300 )
938
943
) ;
939
944
assert_eq ! (
940
945
result[ & U64 :: from( 10 ) ] . first( ) . unwrap( ) . balance( ) ,
941
- U64 :: from( 0x11e1a300 )
946
+ U256 :: from( 0x11e1a300 )
942
947
) ;
943
948
944
949
// Since BASE is missing, an entry with zero balance should be created
945
950
assert_eq ! (
946
951
result[ & U64 :: from( 8453 ) ] . first( ) . unwrap( ) . balance( ) ,
947
- U64 :: from( 0xbebc200 )
952
+ U256 :: from( 0xbebc200 )
948
953
) ;
949
954
}
950
955
@@ -1003,7 +1008,7 @@ mod ported_tests {
1003
1008
== & erc20_groups[ "USDC" ] [ caip2]
1004
1009
} )
1005
1010
. unwrap ( ) ;
1006
- assert_eq ! ( usdc_asset. balance( ) , U64 :: from( 0x5f5e100 ) ) ;
1011
+ assert_eq ! ( usdc_asset. balance( ) , U256 :: from( 0x5f5e100 ) ) ;
1007
1012
}
1008
1013
}
1009
1014
0 commit comments