Repository navigation
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_debtanddebt_setofftopics now carry the user:["defaulted_debt", user, asset],["debt_setoff", user, asset]. For backstop bad debt,useris the backstop address. Monitoring that readsassetat topic position 1 must be updated (hypernative#44). mint_supply(#21):b_supplyincreases go throughReserveData::mint_supply; same behaviour.- Health factor (#22): computed through the
FixedMathhelper.fixed_div_floor(c, l, s)andfloor(c, s, l)both evaluatescaled_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-adapteris 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_debtwas 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.