diff --git a/src/hooks/useSubaccount.tsx b/src/hooks/useSubaccount.tsx index 43c048e..b44b2ac 100644 --- a/src/hooks/useSubaccount.tsx +++ b/src/hooks/useSubaccount.tsx @@ -31,6 +31,7 @@ import { log } from '@/lib/telemetry'; import { useAccounts } from './useAccounts'; import { useTokenConfigs } from './useTokenConfigs'; import { useDydxClient } from './useDydxClient'; +import { hashFromTx } from '@/lib/hashfromTx'; type SubaccountContextType = ReturnType; const SubaccountContext = createContext({} as SubaccountContextType); @@ -293,7 +294,7 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo ); const sendSquidWithdraw = useCallback( - async (amount: number, payload: string, isCCtp?: boolean) => { + async (amount: number, payload: string, isCctp?: boolean) => { const cctpWithdraw = () => { return new Promise((resolve, reject) => @@ -307,15 +308,15 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo }) ) } - if (isCCtp) { + if (isCctp) { return await cctpWithdraw(); } if (!subaccountClient) { return; } - const txHash = await sendSquidWithdrawFromSubaccount({ subaccountClient, amount, payload }); - return `0x${Buffer.from(txHash?.hash).toString('hex')}`; + const tx = await sendSquidWithdrawFromSubaccount({ subaccountClient, amount, payload }); + return hashFromTx(tx?.hash); }, [subaccountClient, sendSquidWithdrawFromSubaccount] ); diff --git a/src/lib/abacus/dydxChainTransactions.ts b/src/lib/abacus/dydxChainTransactions.ts index f93dbb3..dd0620d 100644 --- a/src/lib/abacus/dydxChainTransactions.ts +++ b/src/lib/abacus/dydxChainTransactions.ts @@ -42,6 +42,7 @@ import { openDialog } from '@/state/dialogs'; import { StatefulOrderError } from '../errors'; import { bytesToBigInt } from '../numbers'; import { log } from '../telemetry'; +import { hashFromTx } from '../hashfromTx'; class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol { private compositeClient: CompositeClient | undefined; @@ -415,7 +416,7 @@ class DydxChainTransactions implements AbacusDYDXChainTransactionsProtocol { ); return JSON.stringify({ - txHash: `0x${Buffer.from(tx?.hash).toString('hex')}` + txHash: hashFromTx(tx?.hash) }); } catch (error) { log('DydxChainTransactions/withdrawToNobleIBC', error); diff --git a/src/lib/hashfromTx.ts b/src/lib/hashfromTx.ts new file mode 100644 index 0000000..98696e6 --- /dev/null +++ b/src/lib/hashfromTx.ts @@ -0,0 +1,3 @@ +export const hashFromTx = ( + txHash: string | Uint8Array +): string => `0x${Buffer.from(txHash).toString('hex')}`;