Skip to content

precept v0.1.1

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:43
· 32 commits to main since this release
v0.1.1
19cb928

The Guardian-audited v0.1.0 source rebuilt on the current toolchain, plus small post-audit changes. Tag v0.1.1 → 19cb928 (signed).

Changes since v0.1.0

Production source changed by +70/−30 lines (test modules, proofs and specs excluded):

  • Events (#20): defaulted_debt and debt_setoff topics now carry the user: ["defaulted_debt", user, asset], ["debt_setoff", user, asset]. For backstop bad debt, user is the backstop address. Monitoring that reads asset at topic position 1 must be updated (hypernative#44).
  • mint_supply (#21): b_supply increases go through ReserveData::mint_supply; same behaviour.
  • Health factor (#22): computed through the FixedMath helper. fixed_div_floor(c, l, s) and floor(c, s, l) both evaluate scaled_mul_div_floor(c, s, l), so results are identical.
  • Certora hooks (#12): oracle reads switch to Certora summaries only under --features certora; not compiled into these artifacts.
  • Toolchain (#28): soroban-sdk 25.3.0, Rust 1.98.0, target wasm32v1-none, Stellar CLI 28.1.0. Contract interfaces (functions, errors, events) unchanged apart from the two event topics above. pool-oracle-adapter is now a workspace member (MIT).

Guardian findings: unchanged from v0.1.0. L-01..L-04 and I-01..I-10 resolved; L-05 acknowledged (the adapter refuses future-dated parent prices; the root-cause fix belongs to the parent proxy oracle). Report.

Testnet

Deployed and exercised on Stellar testnet on 2026-10-23 with precept-abtest scripted pair runs (fork-vs-fork, and stock-vs-fork with the fork side on this commit):

  • On-chain WASM hashes of every deployed pool, backstop and factory equal the artifacts below.
  • Supply, borrow, partial and full repay, withdraw, backstop deposit/queue/dequeue, the full liquidation auction chain and stale-auction deletion all succeeded.
  • defaulted_debt was emitted with the new topic layout.
  • Accounting invariants held on every snapshot; no unexpected differential divergences.

Artifacts

File Bytes SHA-256
pool.wasm 49520 acf7a128074d4d9c34b4ac4e8ab46cc1148eb353eb3908ad0faf922851728086
backstop.wasm 18080 41608bcb5176fdfdc74d4594be7ea538e93bc32bda24bc537cc1cd9e44e650d1
pool_factory.wasm 3433 47956acea8b2ca37ea83e4153fd592609f430ddc4899eca7d7878c6bf1cfbe65
pool_oracle_adapter.wasm 13449 c5e1f21099f532b84d02571e24d196fbdb76e77286e973239dc47ed926f368c2

Reproduce

make build at the tag (Rust 1.98.0 from rust-toolchain.toml, Stellar CLI 28.1.0) → target/wasm32v1-none/optimized/{pool,backstop,pool_factory}.wasm; cd pool-oracle-adapter && just optimize → target/wasm32v1-none/release-soroban-checked/pool_oracle_adapter.optimized.wasm. The release workflow rebuilt these in CI and attached build-provenance attestations.

These bytes differ from v0.1.0 (new compiler and SDK); v0.1.0 remains the exact build Guardian reviewed.