diff --git a/web-app/src/views/CheatsView.vue b/web-app/src/views/CheatsView.vue index c1b6328..f3888b2 100644 --- a/web-app/src/views/CheatsView.vue +++ b/web-app/src/views/CheatsView.vue @@ -555,12 +555,14 @@ async function loadLiquidityStats({ notify = false }: { notify?: boolean } = {}) functionName: 'slot0', }); - let currentTick: number | null = null; - if (isRecord(slot0Response) && typeof slot0Response.tick === 'number') { + // viem v2 returns multi-output calls as arrays, not named objects. + // slot0() returns [sqrtPriceX96, tick, observationIndex, ...] — tick is at index 1. + let currentTick: number; + if (Array.isArray(slot0Response) && slot0Response.length >= 2) { + currentTick = Number(slot0Response[1]); + } else if (isRecord(slot0Response) && typeof slot0Response.tick === 'number') { currentTick = slot0Response.tick; - } - - if (currentTick === null) { + } else { throw new Error('Unable to determine current pool tick'); }