[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "pool_",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "asset",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "bitmap_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline_",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "auth_v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "auth_r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "auth_s",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "depositData_",
        "type": "bytes32"
      }
    ],
    "name": "authorizeAndDeposit",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "shares_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "bitmap_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "auth_deadline_",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "auth_v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "auth_r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "auth_s",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "depositData_",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "permit_deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "permit_v_",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "permit_r_",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "permit_s_",
        "type": "bytes32"
      }
    ],
    "name": "authorizeAndDepositWithPermit",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "shares_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "depositData_",
        "type": "bytes32"
      }
    ],
    "name": "deposit",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "shares_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline_",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v_",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r_",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s_",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "depositData_",
        "type": "bytes32"
      }
    ],
    "name": "depositWithPermit",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "shares_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "nonces",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pool",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "poolManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "poolPermissionManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "depositData",
        "type": "bytes32"
      }
    ],
    "name": "DepositData",
    "type": "event"
  }
]
