{
    "abi": [
        {
            "inputs": [],
            "name": "DepositPeriodEnded",
            "type": "error"
        },
        {
            "inputs": [],
            "name": "FundsAlreadyReturned",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "requiredAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "availableAmount",
                    "type": "uint256"
                }
            ],
            "name": "InsufficientFundsIdle",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "requiredAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "availableAmount",
                    "type": "uint256"
                }
            ],
            "name": "InsufficientFundsLocked",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "depositLimit",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "totalInvestedAmount",
                    "type": "uint256"
                }
            ],
            "name": "InvalidDepositLimit",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "lossAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "totalInvestedAmount",
                    "type": "uint256"
                }
            ],
            "name": "InvalidLossAmount",
            "type": "error"
        },
        {
            "inputs": [],
            "name": "InvalidPeriods",
            "type": "error"
        },
        {
            "inputs": [],
            "name": "LockPeriodEnded",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "requiredAmount",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "managerBalance",
                    "type": "uint256"
                }
            ],
            "name": "ManagerBalanceTooLow",
            "type": "error"
        },
        {
            "inputs": [],
            "name": "ZeroAmount",
            "type": "error"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "depositLimit",
                    "type": "uint256"
                }
            ],
            "name": "DepositLimitSet",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "FundsLocked",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "FundsReturned",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "gain",
                    "type": "uint256"
                }
            ],
            "name": "GainReported",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "loss",
                    "type": "uint256"
                }
            ],
            "name": "LossReported",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "minDeployAmount",
                    "type": "uint256"
                }
            ],
            "name": "MinDeployAmountSet",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "depositLimit",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "depositPeriodEnds",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "lockFunds",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "lockPeriodEnds",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "repay",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "limit",
                    "type": "uint256"
                }
            ],
            "name": "setDepositLimit",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "totalInvested",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ]
}
