from idea199_replicasurety_economic_surety import ledger from idea199_replicasurety_economic_surety.models import BondRecord, ClaimSubmission, ReplayBundle, TraceEvent from datetime import datetime def test_create_and_get_bond(): br = BondRecord( escrow_id="escrow-1", issuer="alice", stake_amount=100.0, policy_hash="phash", ttl=None, ) r = ledger.create_bond(br) assert r.escrow_id == "escrow-1" got = ledger.get_bond("escrow-1") assert got.issuer == "alice" def test_submit_claim(): claim = ClaimSubmission(claim_id="claim-1", evidence_root="evidence123", claimant="bob") r = ledger.submit_claim(claim) assert r.claim_id == "claim-1" def test_verify_replay(): trace = [ TraceEvent(seq=0, timestamp=datetime.utcnow(), message="a"), TraceEvent(seq=1, timestamp=datetime.utcnow(), message="b"), ] rb = ReplayBundle(trace=trace, monitors={}, evidence_root="r") r = ledger.verify_replay(rb) assert r["verdict"] == "ok"