File size: 1,007 Bytes
c41bdce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from membra_liquidity_agg.ledger import Ledger
from membra_liquidity_agg.models import EventIn, EventKind, RiskLevel
from membra_liquidity_agg.loop import LiquidityLoop
from membra_liquidity_agg.risk import RiskGovernor


def test_ledger_ingest_redacts_secret(tmp_path):
    db = tmp_path / "x.db"
    ledger = Ledger(db)
    ledger.init()
    e = EventIn(
        kind=EventKind.SYSTEM_HEALTH,
        source="test",
        risk=RiskLevel.INFO,
        payload={"api_key": "SHOULD_NOT_APPEAR", "safe": "ok"},
    )
    out = ledger.add_event(e)
    assert out["payload"]["api_key"] == "[REDACTED_SECRET]"
    assert out["receipt_hash"]


def test_loop_step(tmp_path):
    ledger = Ledger(tmp_path / "x.db")
    ledger.init()
    out = LiquidityLoop(ledger).step()
    assert out["to"] in {"OBSERVE", "HALTED"}


def test_oversized_sol_rejected():
    gov = RiskGovernor()
    d = gov.reject_oversized_order_intent("SOL_USDT", size=20, price=67.0)
    assert not d.allowed
    assert "exceeds" in d.reason