{
    "Function": "slitherConstructorConstantVariables",
    "File": "contracts/MarginAccountHelper.sol",
    "Parent Contracts": [],
    "High-Level Calls": [],
    "Internal Calls": [],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "contract MarginAccountHelper {\n    using SafeERC20 for IERC20;\n\n    uint constant VUSD_IDX = 0;\n\n    IMarginAccount marginAccount;\n    VUSD vusd;\n    IERC20 public reserveToken;\n\n    constructor(address _marginAccount, address _vusd) {\n        marginAccount = IMarginAccount(_marginAccount);\n        vusd = VUSD(_vusd);\n        reserveToken = vusd.reserveToken();\n\n        reserveToken.safeApprove(address(_vusd), type(uint).max);\n        IERC20(_vusd).safeApprove(address(_marginAccount), type(uint).max);\n    }\n\n    function addVUSDMarginWithReserve(uint256 amount) external {\n        reserveToken.safeTransferFrom(msg.sender, address(this), amount);\n        vusd.mintWithReserve(address(this), amount);\n        marginAccount.addMarginFor(VUSD_IDX, amount, msg.sender);\n    }\n}"
}