Skip to content

Commit 418eb37

Browse files
committed
fix BigInt
1 parent 12e1b5f commit 418eb37

1 file changed

Lines changed: 38 additions & 14 deletions

File tree

gateway-web/app/hooks/useStarknetContract.ts

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)