{
  "_format": "hh-sol-artifact-1",
  "contractName": "IdleInvestStrategy",
  "sourceName": "contracts/strategies/IdleInvestStrategy.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20Metadata",
          "name": "asset_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "CanBeCalledOnlyThroughDelegateCall",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CannotDisconnectWithAssets",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoExtraDataAllowed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "asset",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "initData",
          "type": "bytes"
        }
      ],
      "name": "connect",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "assets",
          "type": "uint256"
        }
      ],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "force",
          "type": "bool"
        }
      ],
      "name": "disconnect",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "forwardEntryPoint",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "maxDeposit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "contract_",
          "type": "address"
        }
      ],
      "name": "maxWithdraw",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "storageSlot",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "contract_",
          "type": "address"
        }
      ],
      "name": "totalAssets",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "assets",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "assets",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x3060808181526040610100818152601e610140527f636f2e656e7375726f2e496e766573745374726174656779436c69656e740000610160526101209390935260e08290526101809052902060a052348015610059575f5ffd5b506040516106e13803806106e183398101604081905261007891610089565b6001600160a01b031660c0526100b6565b5f60208284031215610099575f5ffd5b81516001600160a01b03811681146100af575f5ffd5b9392505050565b60805160a05160c0516105e56100fc5f395f818161014a015261036a01525f61011701525f81816101c9015281816102120152818161025e01526102da01526105e55ff3fe608060405234801561000f575f5ffd5b506004361061009b575f3560e01c80639c4667a2116100635780639c4667a2146101395780639cd4712814610184578063b6b55f25146100c8578063ce96cb7714610197578063f3e0ffbf146101aa575f5ffd5b80630981b1c21461009f5780632e1a7d4d146100c8578063402d267d146100dd5780635a117456146100ff5780635b9a4c3514610112575b5f5ffd5b6100b26100ad366004610474565b6101bd565b6040516100bf91906104c6565b60405180910390f35b6100db6100d63660046104fb565b610208565b005b6100f16100eb366004610512565b505f1990565b6040519081526020016100bf565b6100db61010d36600461053f565b610254565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b61016c610147366004610512565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040516001600160a01b0390911681526020016100bf565b6100db61019236600461055e565b6102d0565b6100f16101a5366004610512565b610339565b6100f16101b8366004610512565b610349565b60606001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361009b57604051632abf118b60e21b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361025157604051632abf118b60e21b815260040160405180910390fd5b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361029d57604051632abf118b60e21b815260040160405180910390fd5b801580156102b257506102af30610349565b15155b15610251576040516342a176d160e11b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361031957604051632abf118b60e21b815260040160405180910390fd5b805115610251576040516350701b6160e01b815260040160405180910390fd5b5f61034382610349565b92915050565b6040516370a0823160e01b81526001600160a01b0382811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156103b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103439190610598565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126103f8575f5ffd5b813567ffffffffffffffff811115610412576104126103d5565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610441576104416103d5565b604052818152838201602001851015610458575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215610485575f5ffd5b823560ff81168114610495575f5ffd5b9150602083013567ffffffffffffffff8111156104b0575f5ffd5b6104bc858286016103e9565b9150509250929050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561050b575f5ffd5b5035919050565b5f60208284031215610522575f5ffd5b81356001600160a01b0381168114610538575f5ffd5b9392505050565b5f6020828403121561054f575f5ffd5b81358015158114610538575f5ffd5b5f6020828403121561056e575f5ffd5b813567ffffffffffffffff811115610584575f5ffd5b610590848285016103e9565b949350505050565b5f602082840312156105a8575f5ffd5b505191905056fea26469706673582212204bb7ca8908fb12a1ce9ee20d463fc4caaa1b0f114490bfeaa5835157ee53448d64736f6c634300081e0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061009b575f3560e01c80639c4667a2116100635780639c4667a2146101395780639cd4712814610184578063b6b55f25146100c8578063ce96cb7714610197578063f3e0ffbf146101aa575f5ffd5b80630981b1c21461009f5780632e1a7d4d146100c8578063402d267d146100dd5780635a117456146100ff5780635b9a4c3514610112575b5f5ffd5b6100b26100ad366004610474565b6101bd565b6040516100bf91906104c6565b60405180910390f35b6100db6100d63660046104fb565b610208565b005b6100f16100eb366004610512565b505f1990565b6040519081526020016100bf565b6100db61010d36600461053f565b610254565b6100f17f000000000000000000000000000000000000000000000000000000000000000081565b61016c610147366004610512565b507f000000000000000000000000000000000000000000000000000000000000000090565b6040516001600160a01b0390911681526020016100bf565b6100db61019236600461055e565b6102d0565b6100f16101a5366004610512565b610339565b6100f16101b8366004610512565b610349565b60606001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361009b57604051632abf118b60e21b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361025157604051632abf118b60e21b815260040160405180910390fd5b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361029d57604051632abf118b60e21b815260040160405180910390fd5b801580156102b257506102af30610349565b15155b15610251576040516342a176d160e11b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361031957604051632abf118b60e21b815260040160405180910390fd5b805115610251576040516350701b6160e01b815260040160405180910390fd5b5f61034382610349565b92915050565b6040516370a0823160e01b81526001600160a01b0382811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156103b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103439190610598565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126103f8575f5ffd5b813567ffffffffffffffff811115610412576104126103d5565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610441576104416103d5565b604052818152838201602001851015610458575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215610485575f5ffd5b823560ff81168114610495575f5ffd5b9150602083013567ffffffffffffffff8111156104b0575f5ffd5b6104bc858286016103e9565b9150509250929050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561050b575f5ffd5b5035919050565b5f60208284031215610522575f5ffd5b81356001600160a01b0381168114610538575f5ffd5b9392505050565b5f6020828403121561054f575f5ffd5b81358015158114610538575f5ffd5b5f6020828403121561056e575f5ffd5b813567ffffffffffffffff811115610584575f5ffd5b610590848285016103e9565b949350505050565b5f602082840312156105a8575f5ffd5b505191905056fea26469706673582212204bb7ca8908fb12a1ce9ee20d463fc4caaa1b0f114490bfeaa5835157ee53448d64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
