ArchitectureCore release 0.1.0

Program accounts & PDAs

Source-derived account layouts, fields and canonical PDA seeds for the frozen Core program.

These accounts exist in Core v0.1.0. PDAs are derived under the official program ID; use the SDK's pda exports rather than hand-writing seeds in application code.

State accounts

AccountKey fields / roleSerialized account size
PoolAuthority, token mints, LP vaults, fee vaults, creator recipient, LP mint, fee_bps, version and swap_nonce.372 bytes
ShieldedStatePool/mint bindings, custody A/B and active tree pointer.202 bytes
TreeStatePool, generation, index/sequence, 16-level frontier, empty subtrees and 32-root history.2,672 bytes
PageDirectory16 page roots, raw-page hashes, canonical bumps and generation binding.1,122 bytes
LeafPageGeneration/page header, leaf count, chunk hashes and trailing 32-byte commitments.597-byte header; maximum 131,669 bytes
SpentNullifierPool, 32-byte nullifier and version.73 bytes
ProtocolConfigProtocol authority, fee recipient, bump and version.74 bytes

Sizes include the Anchor discriminator. LeafPage maximum includes the full 4,096 commitments for one page.

Canonical seeds

PDASeeds
Poolpool, mint A, mint B, fee tier as little-endian u16
LP vault A/Bvault-a or vault-b, pool
Protocol/creator fee vaultprotocol-fee-a/b or creator-fee-a/b, pool
LP mint / locklp or lp-lock, pool
Shielded stateshielded, pool
Tree generation 0tree, pool
Tree generation >0tree, pool, generation as little-endian u64
Page directorypage-dir, pool, generation as little-endian u64
Leaf pageleaf-page, pool, generation as little-endian u64, page index byte
Spent nullifierspent, pool, nullifier bytes
Protocol configprotocol-config

The tree has 16 pages per generation; page indexes range from 0 through 15. See tree paging for page composition and Reference: instructions for instruction account groups.

PreviousPublic liquidity & custodyNext Transaction flows
Source baseline: frozen Core v0.1.0 / SDK v0.1.1.