@mysten/suins
Version:
1 lines • 1.3 kB
Source Map (JSON)
{"version":3,"file":"pyth-helpers.mjs","names":[],"sources":["../../src/pyth/pyth-helpers.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Extracts the VAA bytes embedded in an accumulator message.\n *\n * @param accumulatorMessage The accumulator price update message as a Uint8Array.\n * @returns VAA bytes as a Uint8Array.\n */\nexport function extractVaaBytesFromAccumulatorMessage(accumulatorMessage: Uint8Array): Uint8Array {\n\tconst dataView = new DataView(\n\t\taccumulatorMessage.buffer,\n\t\taccumulatorMessage.byteOffset,\n\t\taccumulatorMessage.byteLength,\n\t);\n\n\tconst trailingPayloadSize = dataView.getUint8(6);\n\tconst vaaSizeOffset = 7 + trailingPayloadSize + 1; // Header (7 bytes), trailing payload size, proof type\n\tconst vaaSize = dataView.getUint16(vaaSizeOffset, false); // Read 2 bytes for VAA size (big-endian)\n\tconst vaaOffset = vaaSizeOffset + 2; // VAA size is 2 bytes\n\n\treturn accumulatorMessage.subarray(vaaOffset, vaaOffset + vaaSize);\n}\n"],"mappings":";;;;;;;AASA,SAAgB,sCAAsC,oBAA4C;CACjG,MAAM,WAAW,IAAI,SACpB,mBAAmB,QACnB,mBAAmB,YACnB,mBAAmB,WACnB;CAGD,MAAM,gBAAgB,IADM,SAAS,SAAS,EAAE,GACA;CAChD,MAAM,UAAU,SAAS,UAAU,eAAe,MAAM;CACxD,MAAM,YAAY,gBAAgB;AAElC,QAAO,mBAAmB,SAAS,WAAW,YAAY,QAAQ"}