mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-08-25 14:11:09 +00:00
Root cause: advance_clock() left the clock account DEFAULT_PROGRAM_ID-owned, which spel-framework's guest dispatcher (upstream in logos-co/spel) silently drops from a program's output as an unclaimed, non-default, default-owned account. That desynced the privacy circuit's account count from the caller-supplied identities, blocking every AMM chained-call privacy test with "Invalid account_identities length". Fix: own the fixture's clock account with a placeholder non-default ProgramId. Rewrote the 5 previously not-expressible Swap/AddLiquidity/RemoveLiquidity privacy tests to assert real success (transaction applied, resulting state and private commitments verified) now that they're unblocked. Added 5 more tests: Swap to a fresh PrivateUnauthorized/PrivateAuthorizedInit destination (both confirmed not-expressible, for two distinct reasons — guest ABI signer requirement vs. destination-must-already-exist), and NewDefinition with a private PrivateAuthorizedInit/PrivateUnauthorized initial LP holder (expressible for the former, not for the latter). Updated docs/findings.md and docs/privacy-test-matrix.md accordingly.