Skip to main content
Solana venue integration tesserav under svm/venues/tesserav.
Generated from the type declarations shipped in @eco-incorp/sauce 0.99.4. Each entry shows the package authors’ JSDoc and declaration for this SDK version. For runtime compatibility and deployed addresses, see architecture and deployments.

pickTesseraVVault

Function · sdk/dist/svm/venues/tesserav/index.d.ts Exclude-ATA vault picker - the GENERAL derivation core. Of the legacy-SPL token accounts owned by owner for mint, drop the canonical ATA(owner, mint, TOKEN_PROGRAM) (observed as a dust account for USDC: the real vault 9t4P5w… alongside its ATA at ~50000) and return the single remainder. 0 remainders → null (the global vault does not exist yet → self-drop). >1 remainders → the largest-balance one when balances are known, else null (ambiguous → self-drop rather than guess) - the caveat the debug flagged for the >1 case.

level0PriceOffset

Function · sdk/dist/svm/venues/tesserav/index.d.ts Level-0 price (ppm of 1e6) for a direction - non-increasing across slots, this adapter ships slot 0 only.

level0CumOffset

Function · sdk/dist/svm/venues/tesserav/index.d.ts Level-0 capacity, in OUTPUT-token raw units, for a direction.

fetchTesseraVConfig

Function · sdk/dist/svm/venues/tesserav/index.d.ts Fetch + gate one TesseraV pool. Read-only against the loader. Gates: wrong owner/size, an unprimed mid (0 - a pool the maker bot has never quoted), and a zero/absent level-0 price or capacity (an empty book for this direction - self-drop, not a revert, at the orchestrator layer).

TESSERAV_PROGRAM_ID

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

TOKEN_PROGRAM

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

OFF_MID

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

MID_SCALE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

OFF_LADDER_AB

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

AB_STRIDE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

AB_OFF_PRICE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

AB_OFF_CUM

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

OFF_LADDER_BA

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

BA_STRIDE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

BA_OFF_CUM

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

BA_OFF_PRICE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

TESSERAV_LEVEL_SLOTS

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

PRICE_PPM_DEN

Variable · sdk/dist/svm/venues/tesserav/index.d.ts

TESSERAV_MIN_POOL_SIZE

Variable · sdk/dist/svm/venues/tesserav/index.d.ts Minimum pool account size this adapter reads from (level 9’s last byte + 1).

TesseraVPoolConfig

Interface · sdk/dist/svm/venues/tesserav/index.d.ts

TESSERAV_GLOBAL_AUTH

Variable · sdk/dist/svm/venues/tesserav/index.d.ts The TesseraV vault-AUTHORITY - a FIXED GLOBAL SINGLETON, correcting the earlier “per-pool fact” framing. It is one program-owned (owner = TessVdML…), 10240-byte account that is byte-identical as the swap CPI’s account[0] across every pool traced (SOL/USDC, cbBTC/USDC, BONK/USDC). It is NOT a PDA of the program under any tried seed, and NOT a mint→vault registry (the 10240 bytes contain none of the mint or vault bytes) - so it is carried as this verified constant, never derived. Verified against live swap-CPI traces (SOL/USDC sig 3p2JFpLN…, cbBTC/USDC sig 4KZPEcyC…, BONK/USDC sig 3JZMZyMy…), all giving account[0] = 8ekCy2….

TESSERAV_SWAP_TAG

Variable · sdk/dist/svm/venues/tesserav/index.d.ts The swap instruction discriminator. The mainnet upgrade bumped it 0x10 -> 0x11 (see the SWAP CPI note in this file’s header); a program compiled to the old 0x10 tag now reverts. Exported so the downstream CPI builder reads the tag from one place rather than hardcoding it.

TESSERAV_SWAP_GLOBAL_ACCOUNTS

Variable · sdk/dist/svm/venues/tesserav/index.d.ts The three GLOBAL read-only accounts the upgraded swap ix (tag 0x11) APPENDS after the two token-program slots - wire positions [11], [12], [13]. ORDER IS LOAD-BEARING. These are program GLOBALS, not per-pool PDAs, and are carried as verified CONSTANTS for exactly the reason TESSERAV_GLOBAL_AUTH is: they were BYTE- IDENTICAL across 25 landing swaps on 3 distinct pools (SOL/USDC FLckH…, Ce8W…, 7sJf…) on 2026-09-11, all read-only - so there is nothing per-pool to derive. (Deriving a per-pool PDA here would be WRONG: the chain shows one fixed trio for every pool.) There is no on-chain IDL (closed-source), so the names below are ROLES INFERRED from each account’s on-chain owner/size, not asserted semantics - re-verify on any re-capture: [0] 8xeaWCsJ…tb3d - owner = System Program, 0 bytes → global authority/holder [1] BAT1Ndpu…vdhK - owner = TessVdML… (the program), 2048 bytes → global config/state [2] 4cG31VNF…brhPs - owner = tickUcs…ULWY6N (a tick/oracle program), 88 bytes → global oracle/tick Verified against landing swap sig 3ViRTJm9… (positions 11-13).

TESSERAV_KNOWN_VAULTS

Variable · sdk/dist/svm/venues/tesserav/index.d.ts Committed global-per-mint vault cache. Each TesseraV vault is a plain keypair-generated legacy-SPL token account that is (a) authority = TESSERAV_GLOBAL_AUTH and (b) GLOBAL PER MINT - one shared vault per token, reused by every pool touching that token (measured: the SOL/USDC and cbBTC/USDC pools share the SAME USDC vault 9t4P5w…). Vaults are stable, so this map is the RPC-free fast path; a mint NOT here resolves through the optional resolveVault (getTokenAccountsByOwner) arg of fetchTesseraVConfig - which pickTesseraVVault implements - or self-drops. Refresh this map with that same owner-scoped sweep, keyed off TESSERAV_GLOBAL_AUTH. Only vaults verified byte-exactly against a live swap-CPI trace are seeded here.

TesseraVOwnedTokenAccount

Interface · sdk/dist/svm/venues/tesserav/index.d.ts One legacy-SPL token account owned by an authority, as returned by an RPC getTokenAccountsByOwner(owner, { mint }). amount (the u64 token balance) is optional and consulted ONLY to break a >1 ambiguity (largest wins).

TesseraVVaultResolver

Type · sdk/dist/svm/venues/tesserav/index.d.ts Resolver for a global-per-mint TesseraV vault: given the authority and a mint, return the vault address, or null to self-drop when no vault exists yet. A real caller backs this with an RPC getTokenAccountsByOwner(owner, { mint }) fed through pickTesseraVVault. Threaded into fetchTesseraVConfig because the single-account AccountLoader cannot express an owner-scoped scan.

tesserav

Variable · sdk/dist/svm/venues/tesserav/index.d.ts Family facade for the recipe orchestrator (ladder-only - not in the v1 registry).