/** * @name perps/perp-decoders * @description Adrena account decoders for Pool, Custody, and Position accounts. * * All decoders use the official Adrena release/39 ABI layout and read directly * from raw account data buffers returned by Solana RPC `getProgramAccounts`. * * @module perps/perp-decoders */ import { Connection, PublicKey } from '@solana/web3.js'; import type { SapMcpContext } from '../../core/src/types.js'; import { type DecodedAdrenaCustody, type DecodedAdrenaPool, type DecodedAdrenaPosition, type PerpMarketProviderRecord } from './perp-constants.js'; export declare function readPublicKey(buf: Buffer, offset: number): string; /** * @name discToBase58 * @description Convert an 8-byte discriminator Buffer to a base58 string for * use in `getProgramAccounts` memcmp filters. * * @param disc — 8-byte discriminator Buffer. * @returns Base58-encoded string. * * @internal */ export declare function discToBase58(disc: Buffer): string; /** * @name readAdrenaLimitedString * @description Read Adrena `LimitedString` (31-byte value + 1-byte length) * from an account data buffer. * * @param buf — Source buffer. * @param offset — Offset to the LimitedString field. * @returns Decoded symbol string, or empty string on failure. * * @internal */ export declare function readAdrenaLimitedString(buf: Buffer, offset: number): string; export declare function decodeAdrenaPoolAccount(pubkey: PublicKey, data: Buffer): DecodedAdrenaPool | null; export declare function decodeAdrenaCustodyAccount(pubkey: PublicKey, data: Buffer, pool?: DecodedAdrenaPool): DecodedAdrenaCustody | null; export declare function decodeAdrenaPositionAccount(pubkey: PublicKey, data: Buffer, marketsByCustody?: Map): DecodedAdrenaPosition | null; export declare function readAdrenaMarketsByCustody(context: SapMcpContext, connectionOverride?: Connection): Promise>; export declare function getAdrenaProgramId(context: SapMcpContext): PublicKey; export declare function fetchConfiguredPerpMarkets(context: SapMcpContext, marketFilter: string): Promise<{ markets: PerpMarketProviderRecord[]; source: string; timestamp?: number; } | null>; //# sourceMappingURL=perp-decoders.d.ts.map