# External Call Surface (Autogenerated)

This file is autogenerated from Solidity sources. Do not hand-edit.

- Generated by: `node tools/generate_external_calls_surface.js`

Vaultfire principle: external call sites are part of the attack surface and should stay visible.

## Sites

- contracts/AIAccountabilityBondsV2.sol:652 [call{value:}] (bool success, ) = recipient.call{value: payoutAmount}("");
- contracts/AIAccountabilityBondsV2.sol:811 [call{value:}] (bool successAI, ) = payable(bond.aiCompany).call{value: aiCompanyShare}("");
- contracts/AIAccountabilityBondsV2.sol:818 [call{value:}] (bool successHuman, ) = humanTreasury.call{value: humanShare}("");
- contracts/AIPartnershipBondsV2.sol:483 [call{value:}] (bool successHuman, ) = payable(bond.human).call{value: humanShare}("");
- contracts/AIPartnershipBondsV2.sol:488 [call{value:}] (bool successAI, ) = payable(bond.aiAgent).call{value: aiShare}("");
- contracts/BaseYieldPoolBond.sol:112 [call{value:}] (bool success, ) = payable(owner).call{value: amount}("");
- contracts/BeliefAttestationVerifierProduction.sol:184 [try-call] try riscZeroVerifier.verify(
- contracts/BeliefOracle.sol:99 [try-call] try rewardStream.updateMultiplier(msg.sender, BONUS_MULTIPLIER) {
- contracts/ERC8004ValidationRegistry.sol:373 [call{value:}] (bool rewardSuccess, ) = payable(validator).call{value: VALIDATION_REWARD}("");
- contracts/ERC8004ValidationRegistry.sol:422 [call{value:}] (bool success, ) = payable(msg.sender).call{value: amount}("");
- contracts/MultiOracleConsensus.sol:281 [call{value:}] (bool success, ) = payable(msg.sender).call{value: withdrawAmount}("");
- contracts/MultisigGovernance.sol:235 [call{value:}] (bool success, ) = txn.target.call{value: txn.value}(txn.data);
- contracts/ProductionBeliefAttestationVerifier.sol:256 [try-call] try riscZeroVerifier.verify(seal, imageId, journalDigest) returns (bool) {
- contracts/ProductionBeliefAttestationVerifier.sol:305 [try-call] try riscZeroVerifier.verify(seal, imageId, journalDigest) returns (bool) {
- contracts/VaultfireBondInsurancePool.sol:304 [call{value:}] (bool ok, ) = claim.claimant.call{value: payoutAmount}("");
- contracts/VaultfireDisputeResolution.sol:395 [call{value:}] (bool ok, ) = winner.call{value: payout}("");
- contracts/VaultfireDisputeResolution.sol:401 [call{value:}] (bool ok2, ) = panel[i].call{value: feePerArbitrator}("");
- contracts/VaultfireDisputeResolution.sol:429 [call{value:}] (bool ok, ) = d.claimant.call{value: d.stakeAmount}("");
- contracts/VaultfireReputationStaking.sol:243 [call{value:}] (bool ok, ) = msg.sender.call{value: amount}("");

---

If this output changes, review CEI ordering, reentrancy protections, and failure modes.
