{
    "Function": "settlePendingObligation",
    "File": "contracts/InsuranceFund.sol",
    "Parent Contracts": [
        "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
        "contracts/legos/Governable.sol"
    ],
    "High-Level Calls": [
        "IERC20",
        "Math",
        "SafeERC20"
    ],
    "Internal Calls": [],
    "Library Calls": [
        "min",
        "safeTransfer"
    ],
    "Low-Level Calls": [],
    "Code": "function settlePendingObligation() public {\n        if (pendingObligation > 0) {\n            uint toTransfer = Math.min(vusd.balanceOf(address(this)), pendingObligation);\n            if (toTransfer > 0) {\n                pendingObligation -= toTransfer;\n                vusd.safeTransfer(marginAccount, toTransfer);\n            }\n        }\n    }"
}