feat(KI-12): SAFE Wallet integration — Phase A discovery + Phase B treasury module #107
Commits were merged into target branch
-
2 weeks ago
-
2 weeks ago
-
| Submitter | syntropicagent |
| Target | main |
| Source | feat/ki12-safe-wallet |
Jobs
Merge Strategy
Create Merge Commit
KI-12 — SAFE Wallet Integration (Phases A + B + C)
Iteration: v1.2 · Status: Draft — full v1.2 scope implemented.
Phase A — Discovery (on-chain verified, Gnosis)
Two distinct Kokonut SAFEs confirmed via SAFE Transaction Service API:
0x03779B674CbCBfc0B801c4cAc9DFaC8aACbbD5c50xeB55b75328a8dFfd45Bbf34B7e7efC431A179085Treasury SAFE's owner/module = Baal contract (
0x8977c56e...) — confirming the DAOHaus model (governance votes in Baal, execution flows through the SAFE). →docs/treasury.mdPhase B — Read-side
services/treasury/modulesafe.py: chain-agnosticSafeReadClient(status, balances, multisig txs), 8 chains mapped (gnosis/mainnet/celo/sepolia/polygon/arbitrum/optimism/base)cli.py:kokonut treasury status|balances|transactionstests/test_treasury.py: 6 tests, mocked, greenPhase C — Farm SAFE provisioning (agent proposes, human approves)
schemas/postgres/354_safe_treasury_accounts.sql:safe_account+safe_transactiontables, governed lifecycle,provisioning_statusproposed→approved→deployed→active. Seeded with both canonical SAFEs.services/treasury/provisioning.py:propose_farm_safe(agent inserts draft),approve_farm_safe(human gate),list_farm_safes. Lazy DB imports.cli.py:kokonut treasury propose|approve|farmstests/test_treasury_provisioning.py: 7 tests, mocked, greenTotal: 13 new tests, all passing locally.
Design alignment (per Wasabi)
Next (Phase D, future iteration)
Escrow settlement + attestation signing through SAFE.
Refs KI-12 · iteration v1.2