mars-v2-frontend/src/utils/getTokenOutFromSwapResponse.ts
2023-08-17 12:56:42 +03:00

24 lines
723 B
TypeScript

export default function getTokenOutFromSwapResponse(
response: BroadcastResult,
denom: string,
): Coin {
try {
if (response.result) {
const rawLogs = JSON.parse(response.result.rawLogs)
const events = rawLogs[0].events
const tokenSwappedEvent = events.find((e: { type: string }) => e.type === 'token_swapped')
const tokensOutValue = tokenSwappedEvent.attributes.find(
(a: { key: string; value: string }) =>
a.key === 'tokens_out' && a.value.toLowerCase().includes(denom.toLowerCase()),
).value
const amount = tokensOutValue.split(denom)[0]
return { denom, amount }
}
} catch (ex) {
console.error(ex)
}
return { denom: '', amount: '' }
}