penumbra-zone / dex-explorer

Web app for visualization the state of the Penumbra DEX
Apache License 2.0
10 stars 1 forks source link

Candlestick rpc data fails to deserialize #61

Open conorsch opened 2 months ago

conorsch commented 2 months ago

When loading the dex-explorer web view against the testnet, the app logs an error:

-- [2024-09-20T18:43:23.055Z] 0.222 GET /api/blocks/1
Error getting candlestick by grpc data: ConnectError: [internal] serialize binary: uint64 invalid: -88510
    at serialize (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/dist/esm/protoc
ol/serialization.js:104:23)
    at next (file:///app/node_modules/.pnpm/@connectrpc+connect-web@1.4.0_@bufbuild+protobuf@1.10.0_@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10
.0_/node_modules/@connectrpc/connect-web/dist/esm/grpc-web-transport.js:78:169)
    at runUnaryCall (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/dist/esm/pro
tocol/run-call.js:26:12)
    at Object.unary (file:///app/node_modules/.pnpm/@connectrpc+connect-web@1.4.0_@bufbuild+protobuf@1.10.0_@connectrpc+connect@1.4.0_@bufbuild+proto
buf@1.10.0_/node_modules/@connectrpc/connect-web/dist/esm/grpc-web-transport.js:56:26)
    at Object.candlestickData (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/di
st/esm/promise-client.js:67:42)
    at o.candlestickData (/app/.next/server/pages/api/lp/positionsByPrice/[...params].js:1:4057)
    at d (/app/.next/server/pages/api/ohlc/[...params].js:1:1887)
    at K (/app/node_modules/.pnpm/next@14.2.9_@babel+core@7.25.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-ser
ver/pages-api.runtime.prod.js:20:16887)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async U.render (/app/node_modules/.pnpm/next@14.2.9_@babel+core@7.25.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/comp
iled/next-server/pages-api.runtime.prod.js:20:17520) {
  rawMessage: 'serialize binary: uint64 invalid: -88510',
  code: 13,
  metadata: HeadersList {
    cookies: null,
    [Symbol(headers map)]: Map(0) {},
    [Symbol(headers map sorted)]: null
  },
  details: [],
  cause: undefined
}

The relevant string appears to be Error getting candlestick by grpc data: ConnectError: [internal] serialize binary: uint64 invalid. Variations of this same error occur on different routes, e.g.

-- [2024-09-20T18:43:23.296Z] 0.006 GET /api/ohlc/penumbra/usdc/-88510/10000
Error getting candlestick by grpc data: ConnectError: [internal] serialize binary: uint64 invalid: -88510
    at serialize (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/dist/esm/protoc
ol/serialization.js:104:23)
    at next (file:///app/node_modules/.pnpm/@connectrpc+connect-web@1.4.0_@bufbuild+protobuf@1.10.0_@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10
.0_/node_modules/@connectrpc/connect-web/dist/esm/grpc-web-transport.js:78:169)
    at runUnaryCall (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/dist/esm/pro
tocol/run-call.js:26:12)
    at Object.unary (file:///app/node_modules/.pnpm/@connectrpc+connect-web@1.4.0_@bufbuild+protobuf@1.10.0_@connectrpc+connect@1.4.0_@bufbuild+proto
buf@1.10.0_/node_modules/@connectrpc/connect-web/dist/esm/grpc-web-transport.js:56:26)
    at Object.candlestickData (file:///app/node_modules/.pnpm/@connectrpc+connect@1.4.0_@bufbuild+protobuf@1.10.0/node_modules/@connectrpc/connect/di
st/esm/promise-client.js:67:42)
    at o.candlestickData (/app/.next/server/pages/api/lp/positionsByPrice/[...params].js:1:4057)
    at d (/app/.next/server/pages/api/ohlc/[...params].js:1:1887)
    at K (/app/node_modules/.pnpm/next@14.2.9_@babel+core@7.25.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-ser
ver/pages-api.runtime.prod.js:20:16887)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async U.render (/app/node_modules/.pnpm/next@14.2.9_@babel+core@7.25.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/comp
iled/next-server/pages-api.runtime.prod.js:20:17520) {
  rawMessage: 'serialize binary: uint64 invalid: -88510',
  code: 13,
  metadata: HeadersList {
    cookies: null,
    [Symbol(headers map)]: Map(0) {},
    [Symbol(headers map sorted)]: null
  },
  details: [],
  cause: undefined
}

We should debug and resolve.