// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {MizanProof, MizanGated} from "./MizanProof.sol"; /// @notice Example: pay an agent only if it is proven right now. No capital moves to a machine without proof. contract ProvenPayout is MizanGated { event Paid(address indexed to, bytes32 indexed credential, uint256 amount); function pay(address payable to, MizanProof.Receipt calldata receipt, bytes calldata signature) external payable onlyProven(to, receipt, signature) { emit Paid(to, receipt.credential, msg.value); (bool ok,) = to.call{value: msg.value}(""); require(ok, "transfer failed"); } }