Skip to content

feat: complete Palace LEZ guest and deployment integration #2

Description

@3esmit

Source ownership

The Palace LEZ contract is owned here under program/. It contains versioned Borsh/Serde state, deterministic transition rules, a LEZ instruction envelope, and contract tests for the public two-room MVP.

Delivered guest and submit path

  • Product-owned RISC Zero/SPEL guest at program/palace_program/methods/guest.
  • One canonical public palace-state PDA, initialized by an authenticated owner and owned by the Palace program thereafter.
  • LEZ account signer, state-owner, and PDA checks before deterministic Palace transitions.
  • Guest host tests cover canonical initialization, stored state, owned-state transition, unauthorized rejection, and the serializer fixture used by Core.
  • Methods build produces a Palace guest ELF and image ID from checked-in locked dependencies.
  • Palace Core encodes checked transition words, submits LEZ public transactions with state non-signer/caller signer ordering, accepts only canonical successful transaction hashes, and records only successful submissions.

Remaining integration

  • Publish the guest ELF with a release bytecode hash and testnet program ID.
  • Add endpoint/network settings and indexed finalized-record recovery fixtures.
  • Drive observed and finalized action stages from indexed LEZ records.
  • Add adversarial guest and restart-reconstruction acceptance tests.

Acceptance

A clean Basecamp instance binds its Delivery key through the product-owned Palace program, submits a durable action, distinguishes submission from observed/finalized state, and rebuilds the same projection after restart.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions