@@ -173,21 +173,45 @@ export const useStarknetContract = () => {
173173 const contract = getContract ( ) ;
174174 const wallets = await contract . get_all_user_wallets ( username ) ;
175175
176- return wallets . map ( ( wallet : any ) => ( {
177- chain_symbol : wallet . chain_symbol ,
178- address :
179- typeof wallet . address === "bigint"
180- ? "0x" + wallet . address . toString ( 16 )
181- : wallet . address ,
182- memo : wallet . memo ?. Some ?? wallet . memo ?. variant ?. Some ?? undefined ,
183- tag : wallet . tag ?. Some ?? wallet . tag ?. variant ?. Some ?? undefined ,
184- metadata :
185- wallet . metadata ?. Some ??
186- wallet . metadata ?. variant ?. Some ??
187- undefined ,
188- updated_at : wallet . updated_at ,
189- } ) ) ;
176+ console . log ( "Raw wallets from contract:" , wallets ) ;
177+
178+ if ( ! wallets || wallets . length === 0 ) {
179+ return [ ] ;
180+ }
181+
182+ return wallets . map ( ( wallet : any ) => {
183+ let addressStr : string ;
184+
185+ if ( typeof wallet . address === "bigint" ) {
186+ addressStr = "0x" + wallet . address . toString ( 16 ) ;
187+ } else if ( typeof wallet . address === "string" ) {
188+ addressStr = wallet . address ;
189+ } else if ( wallet . address !== undefined && wallet . address !== null ) {
190+ try {
191+ addressStr = "0x" + BigInt ( wallet . address ) . toString ( 16 ) ;
192+ } catch {
193+ console . error ( "Failed to convert address:" , wallet . address ) ;
194+ addressStr = String ( wallet . address ) ;
195+ }
196+ } else {
197+ console . error ( "Invalid wallet address:" , wallet ) ;
198+ addressStr = "0x0" ;
199+ }
200+
201+ return {
202+ chain_symbol : wallet . chain_symbol || "" ,
203+ address : addressStr ,
204+ memo : wallet . memo ?. Some ?? wallet . memo ?. variant ?. Some ?? undefined ,
205+ tag : wallet . tag ?. Some ?? wallet . tag ?. variant ?. Some ?? undefined ,
206+ metadata :
207+ wallet . metadata ?. Some ??
208+ wallet . metadata ?. variant ?. Some ??
209+ undefined ,
210+ updated_at : wallet . updated_at || 0 ,
211+ } ;
212+ } ) ;
190213 } catch ( err ) {
214+ console . error ( "getUserWallets error:" , err ) ;
191215 const errorMessage =
192216 err instanceof Error ? err . message : "Failed to get wallets" ;
193217 setError ( errorMessage ) ;
0 commit comments