pub use erc4626_hyperdrive::*;
/// This module was auto-generated with ethers-rs Abigen.
/// More information at: <https://github.com/gakonst/ethers-rs>
#[allow(
clippy::enum_variant_names,
clippy::too_many_arguments,
clippy::upper_case_acronyms,
clippy::type_complexity,
dead_code,
non_camel_case_types,
)]
pub mod erc4626_hyperdrive {
#[allow(deprecated)]
fn __abi() -> ::ethers::core::abi::Abi {
::ethers::core::abi::ethabi::Contract {
constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("__name"),
kind: ::ethers::core::abi::ethabi::ParamType::String,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("string"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_config"),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
],
),
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.PoolConfig",
),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_target0"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_target1"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_target2"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_target3"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_target4"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
}),
functions: ::core::convert::From::from([
(
::std::borrow::ToOwned::to_owned("PERMIT_TYPEHASH"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("PERMIT_TYPEHASH"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
32usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bytes32"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("addLiquidity"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("addLiquidity"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
},
],
),
(
::std::borrow::ToOwned::to_owned("batchTransferFrom"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("batchTransferFrom"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Array(
::std::boxed::Box::new(
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
),
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256[]"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Array(
::std::boxed::Box::new(
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
),
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256[]"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("checkpoint"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("checkpoint"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("closeLong"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("closeLong"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("closeShort"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("closeShort"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("collectGovernanceFee"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned(
"collectGovernanceFee",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("domainSeparator"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("domainSeparator"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
32usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bytes32"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("initialize"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("initialize"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
},
],
),
(
::std::borrow::ToOwned::to_owned("openLong"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("openLong"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
},
],
),
(
::std::borrow::ToOwned::to_owned("openShort"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("openShort"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
},
],
),
(
::std::borrow::ToOwned::to_owned("pause"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("pause"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bool"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("permitForAll"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("permitForAll"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("owner"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("spender"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("_approved"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bool"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("deadline"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("v"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint8"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("r"),
kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
32usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bytes32"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("s"),
kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
32usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bytes32"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("redeemWithdrawalShares"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned(
"redeemWithdrawalShares",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("removeLiquidity"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("removeLiquidity"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
::std::vec![
::ethers::core::abi::ethabi::ParamType::Address,
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Bytes,
],
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned(
"struct IHyperdrive.Options",
),
),
},
],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setApproval"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setApproval"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setApprovalBridge"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setApprovalBridge"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setApprovalForAll"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setApprovalForAll"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bool"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setCheckpointRewarder"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned(
"setCheckpointRewarder",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setFeeCollector"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setFeeCollector"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setGovernance"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setGovernance"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setPauser"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setPauser"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("bool"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("setSweepCollector"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("setSweepCollector"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("sweep"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("sweep"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("contract IERC20"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("target0"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("target0"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("target1"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("target1"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("target2"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("target2"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("target3"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("target3"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("target4"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("target4"),
inputs: ::std::vec![],
outputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
},
],
),
(
::std::borrow::ToOwned::to_owned("transferFrom"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("transferFrom"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
(
::std::borrow::ToOwned::to_owned("transferFromBridge"),
::std::vec![
::ethers::core::abi::ethabi::Function {
name: ::std::borrow::ToOwned::to_owned("transferFromBridge"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("uint256"),
),
},
::ethers::core::abi::ethabi::Param {
name: ::std::string::String::new(),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
outputs: ::std::vec![],
constant: ::core::option::Option::None,
state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
},
],
),
]),
events: ::core::convert::From::from([
(
::std::borrow::ToOwned::to_owned("AddLiquidity"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("AddLiquidity"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("provider"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("Approval"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("Approval"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("owner"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("spender"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("value"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("ApprovalForAll"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("ApprovalForAll"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("account"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("operator"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("approved"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("CheckpointRewarderUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned(
"CheckpointRewarderUpdated",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned(
"newCheckpointRewarder",
),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("CloseLong"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("CloseLong"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("trader"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("destination"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("assetId"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturityTime"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("bondAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("CloseShort"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("CloseShort"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("trader"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("destination"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("assetId"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturityTime"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("basePayment"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("bondAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("CollectGovernanceFee"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned(
"CollectGovernanceFee",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("collector"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("CreateCheckpoint"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("CreateCheckpoint"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("checkpointTime"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned(
"checkpointVaultSharePrice",
),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturedShorts"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturedLongs"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("FeeCollectorUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned(
"FeeCollectorUpdated",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("newFeeCollector"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("GovernanceUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("GovernanceUpdated"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("newGovernance"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("Initialize"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("Initialize"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("provider"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("apr"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("OpenLong"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("OpenLong"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("trader"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("assetId"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturityTime"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("bondAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("OpenShort"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("OpenShort"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("trader"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("assetId"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("maturityTime"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("baseProceeds"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("bondAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("PauseStatusUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("PauseStatusUpdated"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("isPaused"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("PauserUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("PauserUpdated"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("newPauser"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("status"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("RedeemWithdrawalShares"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned(
"RedeemWithdrawalShares",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("provider"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("destination"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned(
"withdrawalShareAmount",
),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("RemoveLiquidity"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("RemoveLiquidity"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("provider"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("destination"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpAmount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("amount"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("vaultSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("asBase"),
kind: ::ethers::core::abi::ethabi::ParamType::Bool,
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned(
"withdrawalShareAmount",
),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("lpSharePrice"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("extraData"),
kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
indexed: false,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("Sweep"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("Sweep"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("collector"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("target"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("SweepCollectorUpdated"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned(
"SweepCollectorUpdated",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("newSweepCollector"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
],
anonymous: false,
},
],
),
(
::std::borrow::ToOwned::to_owned("TransferSingle"),
::std::vec![
::ethers::core::abi::ethabi::Event {
name: ::std::borrow::ToOwned::to_owned("TransferSingle"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("operator"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("from"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("to"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
indexed: true,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("id"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
::ethers::core::abi::ethabi::EventParam {
name: ::std::borrow::ToOwned::to_owned("value"),
kind: ::ethers::core::abi::ethabi::ParamType::Uint(
256usize,
),
indexed: false,
},
],
anonymous: false,
},
],
),
]),
errors: ::core::convert::From::from([
(
::std::borrow::ToOwned::to_owned("AddressEmptyCode"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned("AddressEmptyCode"),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("target"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
},
],
),
(
::std::borrow::ToOwned::to_owned("AddressInsufficientBalance"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned(
"AddressInsufficientBalance",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("account"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
},
],
),
(
::std::borrow::ToOwned::to_owned("FailedInnerCall"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned("FailedInnerCall"),
inputs: ::std::vec![],
},
],
),
(
::std::borrow::ToOwned::to_owned("ReentrancyGuardReentrantCall"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned(
"ReentrancyGuardReentrantCall",
),
inputs: ::std::vec![],
},
],
),
(
::std::borrow::ToOwned::to_owned("SafeERC20FailedOperation"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned(
"SafeERC20FailedOperation",
),
inputs: ::std::vec![
::ethers::core::abi::ethabi::Param {
name: ::std::borrow::ToOwned::to_owned("token"),
kind: ::ethers::core::abi::ethabi::ParamType::Address,
internal_type: ::core::option::Option::Some(
::std::borrow::ToOwned::to_owned("address"),
),
},
],
},
],
),
(
::std::borrow::ToOwned::to_owned("UnexpectedSuccess"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned("UnexpectedSuccess"),
inputs: ::std::vec![],
},
],
),
]),
receive: false,
fallback: true,
}
}
///The parsed JSON ABI of the contract.
pub static ERC4626HYPERDRIVE_ABI: ::ethers::contract::Lazy<
::ethers::core::abi::Abi,
> = ::ethers::contract::Lazy::new(__abi);
#[rustfmt::skip]
const __BYTECODE: &[u8] = b"a\x03\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x1B\xB88\x03\x80b\0\x1B\xB8\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x07\x10V[`\x01`\0\x81\x90U\x86Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16`\x80\x90\x81R` \x80\x8A\x01Q\x83\x16`\xA0\x90\x81R\x91\x8A\x01Qa\x01\xA0\x90\x81R\x91\x8A\x01Qa\x01\xC0\x90\x81R`\xC0\x80\x8C\x01Qa\x01\xE0\x90\x81R`\xE0\x80\x8E\x01Qa\x02\0Ra\x01 \x80\x8F\x01Q\x90\x93Ra\x01\0\x80\x8F\x01Q\x90\x91Ra\x01@\x80\x8F\x01Q\x90\x91R\x90\x8D\x01\x80QQ\x90\x92R\x81Q\x90\x93\x01Q\x90\x92R\x81Q`@\x90\x81\x01Qa\x01`\x90\x81R\x92Q``\x90\x81\x01Qa\x01\x80\x90\x81R\x91\x8D\x01Q\x86\x16a\x02 R\x8C\x01Qa\x02@R\x91\x8B\x01Q`\t\x80T\x91\x86\x16`\x01`\x01`\xA0\x1B\x03\x19\x92\x83\x16\x17\x90U\x91\x8B\x01Q`\n\x80T\x91\x86\x16\x91\x84\x16\x91\x90\x91\x17\x90U\x91\x8A\x01Q`\x0B\x80T\x91\x85\x16\x91\x83\x16\x91\x90\x91\x17\x90U\x90\x89\x01Q`\x0C\x80T\x91\x90\x93\x16\x91\x16\x17\x90U\x87\x90\x87\x90\x87\x90\x87\x90\x87\x90\x87\x90\x87\x90b\0\x01O\x88\x82b\0\x08\xB6V[P`\x01`\x01`\xA0\x1B\x03\x94\x85\x16a\x02`R\x92\x84\x16a\x02\x80R\x90\x83\x16a\x02\xA0R\x82\x16a\x02\xC0R\x81\x16a\x02\xE0R` \x89\x01Q\x89Qb\0\x01\x93\x94P\x90\x91\x16\x91P`\x01b\0\x01\xA0V[PPPPPPPb\0\t\xC4V[`@\x80Q`\x01`\x01`\xA0\x1B\x03\x84\x16`$\x82\x01R`D\x80\x82\x01\x84\x90R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x90\x81\x16c\t^\xA7\xB3`\xE0\x1B\x17\x90\x91Rb\0\x01\xFA\x90\x85\x90\x83\x90b\0\x02l\x16V[b\0\x02fW`@\x80Q`\x01`\x01`\xA0\x1B\x03\x85\x16`$\x82\x01R`\0`D\x80\x83\x01\x91\x90\x91R\x82Q\x80\x83\x03\x90\x91\x01\x81R`d\x90\x91\x01\x90\x91R` \x81\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x90\x81\x16c\t^\xA7\xB3`\xE0\x1B\x17\x90\x91Rb\0\x02Z\x91\x86\x91b\0\x03\x1D\x16V[b\0\x02f\x84\x82b\0\x03\x1DV[PPPPV[`\0\x80`\0\x84`\x01`\x01`\xA0\x1B\x03\x16\x84`@Qb\0\x02\x8B\x91\x90b\0\t\x82V[`\0`@Q\x80\x83\x03\x81`\0\x86Z\xF1\x91PP=\x80`\0\x81\x14b\0\x02\xCAW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>b\0\x02\xCFV[``\x91P[P\x91P\x91P\x81\x80\x15b\0\x02\xFDWP\x80Q\x15\x80b\0\x02\xFDWP\x80\x80` \x01\x90Q\x81\x01\x90b\0\x02\xFD\x91\x90b\0\t\xA0V[\x80\x15b\0\x03\x14WP`\0\x85`\x01`\x01`\xA0\x1B\x03\x16;\x11[\x95\x94PPPPPV[`\0b\0\x034`\x01`\x01`\xA0\x1B\x03\x84\x16\x83b\0\x03\x90V[\x90P\x80Q`\0\x14\x15\x80\x15b\0\x03\\WP\x80\x80` \x01\x90Q\x81\x01\x90b\0\x03Z\x91\x90b\0\t\xA0V[\x15[\x15b\0\x03\x8BW`@QcRt\xAF\xE7`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[PPPV[``b\0\x03\xA0\x83\x83`\0b\0\x03\xA7V[\x93\x92PPPV[``\x81G\x10\x15b\0\x03\xCEW`@Qc\xCDx`Y`\xE0\x1B\x81R0`\x04\x82\x01R`$\x01b\0\x03\x82V[`\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x84\x86`@Qb\0\x03\xEC\x91\x90b\0\t\x82V[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14b\0\x04+W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>b\0\x040V[``\x91P[P\x90\x92P\x90Pb\0\x04C\x86\x83\x83b\0\x04MV[\x96\x95PPPPPPV[``\x82b\0\x04fWb\0\x04`\x82b\0\x04\xB1V[b\0\x03\xA0V[\x81Q\x15\x80\x15b\0\x04~WP`\x01`\x01`\xA0\x1B\x03\x84\x16;\x15[\x15b\0\x04\xA9W`@Qc\x99\x96\xB3\x15`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x01b\0\x03\x82V[P\x80b\0\x03\xA0V[\x80Q\x15b\0\x04\xC2W\x80Q\x80\x82` \x01\xFD[`@Qc\n\x12\xF5!`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x02\0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x05\x17Wb\0\x05\x17b\0\x04\xDBV[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x05HWb\0\x05Hb\0\x04\xDBV[`@R\x91\x90PV[`\0[\x83\x81\x10\x15b\0\x05mW\x81\x81\x01Q\x83\x82\x01R` \x01b\0\x05SV[PP`\0\x91\x01RV[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x05\x8EW`\0\x80\xFD[\x91\x90PV[`\0`\x80\x82\x84\x03\x12\x15b\0\x05\xA6W`\0\x80\xFD[`@Q`\x80\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x05\xCBWb\0\x05\xCBb\0\x04\xDBV[\x80`@RP\x80\x91P\x82Q\x81R` \x83\x01Q` \x82\x01R`@\x83\x01Q`@\x82\x01R``\x83\x01Q``\x82\x01RP\x92\x91PPV[`\0a\x02`\x82\x84\x03\x12\x15b\0\x06\x10W`\0\x80\xFD[b\0\x06\x1Ab\0\x04\xF1V[\x90Pb\0\x06'\x82b\0\x05vV[\x81Rb\0\x067` \x83\x01b\0\x05vV[` \x82\x01Rb\0\x06J`@\x83\x01b\0\x05vV[`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Q`\x80\x82\x01R`\xA0\x82\x01Q`\xA0\x82\x01R`\xC0\x82\x01Q`\xC0\x82\x01R`\xE0\x82\x01Q`\xE0\x82\x01Ra\x01\0\x80\x83\x01Q\x81\x83\x01RPa\x01 \x80\x83\x01Q\x81\x83\x01RPa\x01@\x80\x83\x01Q\x81\x83\x01RPa\x01`b\0\x06\xB5\x81\x84\x01b\0\x05vV[\x90\x82\x01Ra\x01\x80b\0\x06\xC9\x83\x82\x01b\0\x05vV[\x90\x82\x01Ra\x01\xA0b\0\x06\xDD\x83\x82\x01b\0\x05vV[\x90\x82\x01Ra\x01\xC0b\0\x06\xF1\x83\x82\x01b\0\x05vV[\x90\x82\x01Ra\x01\xE0b\0\x07\x06\x84\x84\x83\x01b\0\x05\x93V[\x90\x82\x01R\x92\x91PPV[`\0\x80`\0\x80`\0\x80`\0a\x03 \x88\x8A\x03\x12\x15b\0\x07-W`\0\x80\xFD[\x87Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x07EW`\0\x80\xFD[\x81\x8A\x01\x91P\x8A`\x1F\x83\x01\x12b\0\x07ZW`\0\x80\xFD[\x81Q\x81\x81\x11\x15b\0\x07oWb\0\x07ob\0\x04\xDBV[b\0\x07\x84`\x1F\x82\x01`\x1F\x19\x16` \x01b\0\x05\x1DV[\x91P\x80\x82R\x8B` \x82\x85\x01\x01\x11\x15b\0\x07\x9CW`\0\x80\xFD[b\0\x07\xAF\x81` \x84\x01` \x86\x01b\0\x05PV[P\x97Pb\0\x07\xC3\x90P\x89` \x8A\x01b\0\x05\xFCV[\x95Pb\0\x07\xD4a\x02\x80\x89\x01b\0\x05vV[\x94Pb\0\x07\xE5a\x02\xA0\x89\x01b\0\x05vV[\x93Pb\0\x07\xF6a\x02\xC0\x89\x01b\0\x05vV[\x92Pb\0\x08\x07a\x02\xE0\x89\x01b\0\x05vV[\x91Pb\0\x08\x18a\x03\0\x89\x01b\0\x05vV[\x90P\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x08;W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x08\\WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x03\x8BW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x08\x8DWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x08\xAEW\x82\x81U`\x01\x01b\0\x08\x99V[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x08\xD2Wb\0\x08\xD2b\0\x04\xDBV[b\0\x08\xEA\x81b\0\x08\xE3\x84Tb\0\x08&V[\x84b\0\x08bV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\t\"W`\0\x84\x15b\0\t\tWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x08\xAEV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\tSW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\t2V[P\x85\x82\x10\x15b\0\trW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x82Qb\0\t\x96\x81\x84` \x87\x01b\0\x05PV[\x91\x90\x91\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15b\0\t\xB3W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0\x03\xA0W`\0\x80\xFD[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x01\0Qa\x01 Qa\x01@Qa\x01`Qa\x01\x80Qa\x01\xA0Qa\x01\xC0Qa\x01\xE0Qa\x02\0Qa\x02 Qa\x02@Qa\x02`Qa\x02\x80Qa\x02\xA0Qa\x02\xC0Qa\x02\xE0Qa\x10\xCEb\0\n\xEA`\09`\0\x81\x81a\x06\x0F\x01R\x81\x81a\x06{\x01Ra\x07t\x01R`\0\x81\x81a\x05\x87\x01R\x81\x81a\x07\xA4\x01Ra\x08\x02\x01R`\0\x81\x81a\x05@\x01Ra\t\x9D\x01R`\0\x81\x81a\x05\xDB\x01Ra\x07\x11\x01R`\0\x81\x81a\x01\xEF\x01R\x81\x81a\x03\xB1\x01R\x81\x81a\x06K\x01R\x81\x81a\x06\xAD\x01R\x81\x81a\x06\xDF\x01R\x81\x81a\x07E\x01R\x81\x81a\x07\xD7\x01R\x81\x81a\x083\x01R\x81\x81a\tk\x01Ra\t\xD0\x01R`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PP`\0PPa\x10\xCE`\0\xF3\xFE`\x80`@R`\x046\x10a\x01\xD8W`\x005`\xE0\x1C\x80c\x9C\xD2A\xAF\x11a\x01\x02W\x80c\xD8\x99\xE1\x12\x11a\0\x95W\x80c\xE4\xAF)\xD1\x11a\0dW\x80c\xE4\xAF)\xD1\x14a\x02\xE8W\x80c\xEA\xC3\xE7\x99\x14a\x05\xC9W\x80c\xF3\xF7\x07\x07\x14a\x05\xFDW\x80c\xF6\x98\xDA%\x14a\x061Wa\x01\xD8V[\x80c\xD8\x99\xE1\x12\x14a\x05uW\x80c\xDB\xBE\x80p\x14a\x05bW\x80c\xDE\xD0b1\x14a\x03\xEBW\x80c\xE4H\x08\xBC\x14a\x05\xA9Wa\x01\xD8V[\x80c\xA6\xE8\xA8Y\x11a\0\xD1W\x80c\xA6\xE8\xA8Y\x14a\x05.W\x80c\xAB\x03>\xA9\x14a\x02\xE8W\x80c\xCB\xA2\xE5\x8D\x14a\x05bW\x80c\xCB\xC144\x14a\x03%Wa\x01\xD8V[\x80c\x9C\xD2A\xAF\x14a\x05\x0EW\x80c\xA2,\xB4e\x14a\x04\xBBW\x80c\xA4-\xCE\x80\x14a\x02\xE8W\x80c\xA5\x10v&\x14a\x02\xE8Wa\x01\xD8V[\x80c0\xAD\xF8\x1F\x11a\x01zW\x80cN\xD2\xD6\xAC\x11a\x01IW\x80cN\xD2\xD6\xAC\x14a\x04\xA0W\x80cq\x80\xC8\xCA\x14a\x04\xBBW\x80cw\xD0_\xF4\x14a\x04\xDBW\x80c\x902\xC7&\x14a\x04\xEEWa\x01\xD8V[\x80c0\xAD\xF8\x1F\x14a\x04\x19W\x80c>i\x1D\xB9\x14a\x04MW\x80cAO\x82m\x14a\x04mW\x80cL*\xC1\xD9\x14a\x04\x8DWa\x01\xD8V[\x80c\x17\xFA\xD7\xFC\x11a\x01\xB6W\x80c\x17\xFA\xD7\xFC\x14a\x03_W\x80c\x1C\x0F\x12\xB6\x14a\x03\x7FW\x80c!\xB5}S\x14a\x03\x9FW\x80c)\xB2?\xC1\x14a\x03\xEBWa\x01\xD8V[\x80c\x01h\x1Ab\x14a\x02\xE8W\x80c\x022\x9A)\x14a\x03\nW\x80c\x07Jm\xE9\x14a\x03%W[4\x80\x15a\x01\xE4W`\0\x80\xFD[P`\x006```\0\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x85\x85`@Qa\x02'\x92\x91\x90a\n\xA6V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x02bW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02gV[``\x91P[P\x91P\x91P\x81\x15a\x02\x8BW`@Qc\x8B\xB0\xA3K`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x02\x96\x82a\n\xB6V[\x90P`\x01`\x01`\xE0\x1B\x03\x19\x81\x16cnd\x08\x93`\xE1\x1B\x14a\x02\xB8W\x81Q` \x83\x01\xFD[\x81Q`\x03\x19\x81\x01`\x04\x84\x01\x90\x81R\x92a\x02\xD9\x91\x81\x01` \x01\x90`$\x01a\x0B'V[\x80Q\x96P` \x01\x94PPPPP\xF3[4\x80\x15a\x02\xF4W`\0\x80\xFD[Pa\x03\x08a\x03\x036`\x04a\x0B\xECV[a\x06FV[\0[4\x80\x15a\x03\x16W`\0\x80\xFD[Pa\x03\x08a\x03\x036`\x04a\x0C%V[4\x80\x15a\x031W`\0\x80\xFD[Pa\x03Ea\x03@6`\x04a\x0CRV[a\x06sV[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x03kW`\0\x80\xFD[Pa\x03\x08a\x03z6`\x04a\x0C\xEEV[a\x06\xA8V[4\x80\x15a\x03\x8BW`\0\x80\xFD[Pa\x03\x08a\x03\x9A6`\x04a\r\x83V[a\x06\xDAV[4\x80\x15a\x03\xABW`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x03VV[4\x80\x15a\x03\xF7W`\0\x80\xFD[Pa\x04\x0Ba\x04\x066`\x04a\r\xCBV[a\x07\nV[`@Q\x90\x81R` \x01a\x03VV[4\x80\x15a\x04%W`\0\x80\xFD[Pa\x04\x0B\x7Fea\x9C\x86d\xD6\xDB\x8A\xAE\x8C#j\xD1\x95\x98iaY\x94*BE\xB2;EV\\\xC1\x8E\x976s\x81V[4\x80\x15a\x04YW`\0\x80\xFD[Pa\x04\x0Ba\x04h6`\x04a\x0E%V[a\x07>V[4\x80\x15a\x04yW`\0\x80\xFD[Pa\x03\x08a\x04\x886`\x04a\x0EbV[a\x07oV[a\x04\x0Ba\x04\x9B6`\x04a\x0E\x84V[a\x07\x9DV[4\x80\x15a\x04\xACW`\0\x80\xFD[Pa\x03\x08a\x03\x9A6`\x04a\x0E\xE8V[4\x80\x15a\x04\xC7W`\0\x80\xFD[Pa\x03\x08a\x04\xD66`\x04a\x0F2V[a\x07\xD2V[a\x04\x0Ba\x04\xE96`\x04a\x0CRV[a\x07\xFBV[4\x80\x15a\x04\xFAW`\0\x80\xFD[Pa\x03\x08a\x05\t6`\x04a\x0FgV[a\x08.V[4\x80\x15a\x05\x1AW`\0\x80\xFD[Pa\x03\x08a\x05)6`\x04a\x0F\xE5V[a\tfV[4\x80\x15a\x05:W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03Ea\x05p6`\x04a\r\xCBV[a\t\x95V[4\x80\x15a\x05\x81W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xB5W`\0\x80\xFD[Pa\x03\x08a\x05\xC46`\x04a\x10\x1DV[a\t\xCBV[4\x80\x15a\x05\xD5W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x06\tW`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x06=W`\0\x80\xFD[Pa\x04\x0Ba\t\xFCV[a\x06o\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPV[`\0\x80a\x06\x9F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x93P\x93\x91PPV[a\x06\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPPPV[a\x07\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPV[`\0a\x075\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x94\x93PPPPV[`\0a\x07i\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x91\x90PV[a\x07\x98\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPV[`\0a\x07\xC8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x95\x94PPPPPV[a\x07\x98\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[`\0a\x08&\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x93\x92PPPV[`\0\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x08ca\t\xFCV[`@Q`$\x81\x01\x91\x90\x91R\x7Fea\x9C\x86d\xD6\xDB\x8A\xAE\x8C#j\xD1\x95\x98iaY\x94*BE\xB2;EV\\\xC1\x8E\x976s`D\x82\x01R`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`d\x83\x01R\x8A\x16`\x84\x82\x01R\x88\x15\x15`\xA4\x82\x01R`\xC4\x81\x01\x88\x90R`\xFF\x87\x16`\xE4\x82\x01Ra\x01\x04\x81\x01\x86\x90Ra\x01$\x81\x01\x85\x90Ra\x01D\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\x14\xE5\xF0{`\xE0\x1B\x17\x90RQa\t\x0C\x91\x90a\x10|V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\tGW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\tLV[``\x91P[P\x91P\x91P\x81a\t^W\x80Q` \x82\x01\xFD[\x80Q` \x82\x01\xF3[a\t\x8F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPV[`\0\x80a\t\xC1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x94P\x94\x92PPPV[a\t\xF4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPPV[`@\x80Q\x80\x82\x01\x82R`\x01\x81R`1`\xF8\x1B` \x91\x82\x01R\x81Q\x7F*\xEF\"\xF9\xD7\xDF_\x9D!\xC5m\x14\x02\x923\xF3\xFD\xAA\x91\x91w'\xE1\xEBh\xE5\x04\xD2pr\xD6\xCD\x81\x83\x01R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6\x81\x84\x01RF``\x82\x01R0`\x80\x80\x83\x01\x91\x90\x91R\x83Q\x80\x83\x03\x90\x91\x01\x81R`\xA0\x90\x91\x01\x90\x92R\x81Q\x91\x01 \x90V[```\0\x80\x83`\x01`\x01`\xA0\x1B\x03\x16`\x006`@Qa\t\x0C\x92\x91\x90[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[\x80Q` \x82\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x80\x82\x16\x92\x91\x90`\x04\x83\x10\x15a\n\xE5W\x80\x81\x84`\x04\x03`\x03\x1B\x1B\x83\x16\x16\x93P[PPP\x91\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x0B\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x0B\x06V[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a\x0B9W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0BQW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x0BeW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x0BwWa\x0Bwa\n\xEDV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x0B\x9FWa\x0B\x9Fa\n\xEDV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x0B\xB8W`\0\x80\xFD[a\x0B\xC9\x83` \x83\x01` \x88\x01a\x0B\x03V[\x97\x96PPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x0B\xE9W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0B\xFEW`\0\x80\xFD[\x815a\x0C\t\x81a\x0B\xD4V[\x93\x92PPPV[\x805\x80\x15\x15\x81\x14a\x0C W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0C7W`\0\x80\xFD[a\x0C\t\x82a\x0C\x10V[`\0``\x82\x84\x03\x12\x15a\x07iW`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0CgW`\0\x80\xFD[\x835\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x8CW`\0\x80\xFD[a\x0C\x98\x86\x82\x87\x01a\x0C@V[\x91PP\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\x0C\xB4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\xCCW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0C\xE7W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\r\x07W`\0\x80\xFD[\x865a\r\x12\x81a\x0B\xD4V[\x95P` \x87\x015a\r\"\x81a\x0B\xD4V[\x94P`@\x87\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r?W`\0\x80\xFD[a\rK\x8A\x83\x8B\x01a\x0C\xA2V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\rdW`\0\x80\xFD[Pa\rq\x89\x82\x8A\x01a\x0C\xA2V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\r\x99W`\0\x80\xFD[\x845\x93P` \x85\x015a\r\xAB\x81a\x0B\xD4V[\x92P`@\x85\x015a\r\xBB\x81a\x0B\xD4V[\x93\x96\x92\x95P\x92\x93``\x015\x92PPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\r\xE1W`\0\x80\xFD[\x845\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\rW`\0\x80\xFD[a\x0E\x19\x87\x82\x88\x01a\x0C@V[\x91PP\x92\x95\x91\x94P\x92PV[`\0` \x82\x84\x03\x12\x15a\x0E7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ENW`\0\x80\xFD[a\x0EZ\x84\x82\x85\x01a\x0C@V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0EuW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a\x0E\x9CW`\0\x80\xFD[\x855\x94P` \x86\x015\x93P`@\x86\x015\x92P``\x86\x015\x91P`\x80\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xCFW`\0\x80\xFD[a\x0E\xDB\x88\x82\x89\x01a\x0C@V[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x0E\xFEW`\0\x80\xFD[\x845\x93P` \x85\x015a\x0F\x10\x81a\x0B\xD4V[\x92P`@\x85\x015\x91P``\x85\x015a\x0F'\x81a\x0B\xD4V[\x93\x96\x92\x95P\x90\x93PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0FEW`\0\x80\xFD[\x825a\x0FP\x81a\x0B\xD4V[\x91Pa\x0F^` \x84\x01a\x0C\x10V[\x90P\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0F\x82W`\0\x80\xFD[\x875a\x0F\x8D\x81a\x0B\xD4V[\x96P` \x88\x015a\x0F\x9D\x81a\x0B\xD4V[\x95Pa\x0F\xAB`@\x89\x01a\x0C\x10V[\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0F\xC8W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F\xFAW`\0\x80\xFD[\x835\x92P` \x84\x015a\x10\x0C\x81a\x0B\xD4V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a\x105W`\0\x80\xFD[\x855\x94P` \x86\x015a\x10G\x81a\x0B\xD4V[\x93P`@\x86\x015a\x10W\x81a\x0B\xD4V[\x92P``\x86\x015\x91P`\x80\x86\x015a\x10n\x81a\x0B\xD4V[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x82Qa\x10\x8E\x81\x84` \x87\x01a\x0B\x03V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x1B10\xE7=X\xC4/\xB2h\xD5\x18(\x98\x02\xD5\x81\xED\xC5r\xE7\xF3Z\xDCp\xE2U\xB3&P\x05dsolcC\0\x08\x16\x003";
/// The bytecode of the contract.
pub static ERC4626HYPERDRIVE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x01\xD8W`\x005`\xE0\x1C\x80c\x9C\xD2A\xAF\x11a\x01\x02W\x80c\xD8\x99\xE1\x12\x11a\0\x95W\x80c\xE4\xAF)\xD1\x11a\0dW\x80c\xE4\xAF)\xD1\x14a\x02\xE8W\x80c\xEA\xC3\xE7\x99\x14a\x05\xC9W\x80c\xF3\xF7\x07\x07\x14a\x05\xFDW\x80c\xF6\x98\xDA%\x14a\x061Wa\x01\xD8V[\x80c\xD8\x99\xE1\x12\x14a\x05uW\x80c\xDB\xBE\x80p\x14a\x05bW\x80c\xDE\xD0b1\x14a\x03\xEBW\x80c\xE4H\x08\xBC\x14a\x05\xA9Wa\x01\xD8V[\x80c\xA6\xE8\xA8Y\x11a\0\xD1W\x80c\xA6\xE8\xA8Y\x14a\x05.W\x80c\xAB\x03>\xA9\x14a\x02\xE8W\x80c\xCB\xA2\xE5\x8D\x14a\x05bW\x80c\xCB\xC144\x14a\x03%Wa\x01\xD8V[\x80c\x9C\xD2A\xAF\x14a\x05\x0EW\x80c\xA2,\xB4e\x14a\x04\xBBW\x80c\xA4-\xCE\x80\x14a\x02\xE8W\x80c\xA5\x10v&\x14a\x02\xE8Wa\x01\xD8V[\x80c0\xAD\xF8\x1F\x11a\x01zW\x80cN\xD2\xD6\xAC\x11a\x01IW\x80cN\xD2\xD6\xAC\x14a\x04\xA0W\x80cq\x80\xC8\xCA\x14a\x04\xBBW\x80cw\xD0_\xF4\x14a\x04\xDBW\x80c\x902\xC7&\x14a\x04\xEEWa\x01\xD8V[\x80c0\xAD\xF8\x1F\x14a\x04\x19W\x80c>i\x1D\xB9\x14a\x04MW\x80cAO\x82m\x14a\x04mW\x80cL*\xC1\xD9\x14a\x04\x8DWa\x01\xD8V[\x80c\x17\xFA\xD7\xFC\x11a\x01\xB6W\x80c\x17\xFA\xD7\xFC\x14a\x03_W\x80c\x1C\x0F\x12\xB6\x14a\x03\x7FW\x80c!\xB5}S\x14a\x03\x9FW\x80c)\xB2?\xC1\x14a\x03\xEBWa\x01\xD8V[\x80c\x01h\x1Ab\x14a\x02\xE8W\x80c\x022\x9A)\x14a\x03\nW\x80c\x07Jm\xE9\x14a\x03%W[4\x80\x15a\x01\xE4W`\0\x80\xFD[P`\x006```\0\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x85\x85`@Qa\x02'\x92\x91\x90a\n\xA6V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x02bW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02gV[``\x91P[P\x91P\x91P\x81\x15a\x02\x8BW`@Qc\x8B\xB0\xA3K`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x02\x96\x82a\n\xB6V[\x90P`\x01`\x01`\xE0\x1B\x03\x19\x81\x16cnd\x08\x93`\xE1\x1B\x14a\x02\xB8W\x81Q` \x83\x01\xFD[\x81Q`\x03\x19\x81\x01`\x04\x84\x01\x90\x81R\x92a\x02\xD9\x91\x81\x01` \x01\x90`$\x01a\x0B'V[\x80Q\x96P` \x01\x94PPPPP\xF3[4\x80\x15a\x02\xF4W`\0\x80\xFD[Pa\x03\x08a\x03\x036`\x04a\x0B\xECV[a\x06FV[\0[4\x80\x15a\x03\x16W`\0\x80\xFD[Pa\x03\x08a\x03\x036`\x04a\x0C%V[4\x80\x15a\x031W`\0\x80\xFD[Pa\x03Ea\x03@6`\x04a\x0CRV[a\x06sV[`@\x80Q\x92\x83R` \x83\x01\x91\x90\x91R\x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x03kW`\0\x80\xFD[Pa\x03\x08a\x03z6`\x04a\x0C\xEEV[a\x06\xA8V[4\x80\x15a\x03\x8BW`\0\x80\xFD[Pa\x03\x08a\x03\x9A6`\x04a\r\x83V[a\x06\xDAV[4\x80\x15a\x03\xABW`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x03VV[4\x80\x15a\x03\xF7W`\0\x80\xFD[Pa\x04\x0Ba\x04\x066`\x04a\r\xCBV[a\x07\nV[`@Q\x90\x81R` \x01a\x03VV[4\x80\x15a\x04%W`\0\x80\xFD[Pa\x04\x0B\x7Fea\x9C\x86d\xD6\xDB\x8A\xAE\x8C#j\xD1\x95\x98iaY\x94*BE\xB2;EV\\\xC1\x8E\x976s\x81V[4\x80\x15a\x04YW`\0\x80\xFD[Pa\x04\x0Ba\x04h6`\x04a\x0E%V[a\x07>V[4\x80\x15a\x04yW`\0\x80\xFD[Pa\x03\x08a\x04\x886`\x04a\x0EbV[a\x07oV[a\x04\x0Ba\x04\x9B6`\x04a\x0E\x84V[a\x07\x9DV[4\x80\x15a\x04\xACW`\0\x80\xFD[Pa\x03\x08a\x03\x9A6`\x04a\x0E\xE8V[4\x80\x15a\x04\xC7W`\0\x80\xFD[Pa\x03\x08a\x04\xD66`\x04a\x0F2V[a\x07\xD2V[a\x04\x0Ba\x04\xE96`\x04a\x0CRV[a\x07\xFBV[4\x80\x15a\x04\xFAW`\0\x80\xFD[Pa\x03\x08a\x05\t6`\x04a\x0FgV[a\x08.V[4\x80\x15a\x05\x1AW`\0\x80\xFD[Pa\x03\x08a\x05)6`\x04a\x0F\xE5V[a\tfV[4\x80\x15a\x05:W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03Ea\x05p6`\x04a\r\xCBV[a\t\x95V[4\x80\x15a\x05\x81W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x05\xB5W`\0\x80\xFD[Pa\x03\x08a\x05\xC46`\x04a\x10\x1DV[a\t\xCBV[4\x80\x15a\x05\xD5W`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x06\tW`\0\x80\xFD[Pa\x03\xD3\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[4\x80\x15a\x06=W`\0\x80\xFD[Pa\x04\x0Ba\t\xFCV[a\x06o\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPV[`\0\x80a\x06\x9F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x93P\x93\x91PPV[a\x06\xD1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPPPV[a\x07\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPV[`\0a\x075\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x94\x93PPPPV[`\0a\x07i\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x91\x90PV[a\x07\x98\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPV[`\0a\x07\xC8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x95\x94PPPPPV[a\x07\x98\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[`\0a\x08&\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x93\x92PPPV[`\0\x80\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16a\x08ca\t\xFCV[`@Q`$\x81\x01\x91\x90\x91R\x7Fea\x9C\x86d\xD6\xDB\x8A\xAE\x8C#j\xD1\x95\x98iaY\x94*BE\xB2;EV\\\xC1\x8E\x976s`D\x82\x01R`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`d\x83\x01R\x8A\x16`\x84\x82\x01R\x88\x15\x15`\xA4\x82\x01R`\xC4\x81\x01\x88\x90R`\xFF\x87\x16`\xE4\x82\x01Ra\x01\x04\x81\x01\x86\x90Ra\x01$\x81\x01\x85\x90Ra\x01D\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x81R` \x82\x01\x80Q`\x01`\x01`\xE0\x1B\x03\x16c\x14\xE5\xF0{`\xE0\x1B\x17\x90RQa\t\x0C\x91\x90a\x10|V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\tGW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\tLV[``\x91P[P\x91P\x91P\x81a\t^W\x80Q` \x82\x01\xFD[\x80Q` \x82\x01\xF3[a\t\x8F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPV[`\0\x80a\t\xC1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[P\x94P\x94\x92PPPV[a\t\xF4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\n\x8AV[PPPPPPV[`@\x80Q\x80\x82\x01\x82R`\x01\x81R`1`\xF8\x1B` \x91\x82\x01R\x81Q\x7F*\xEF\"\xF9\xD7\xDF_\x9D!\xC5m\x14\x02\x923\xF3\xFD\xAA\x91\x91w'\xE1\xEBh\xE5\x04\xD2pr\xD6\xCD\x81\x83\x01R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6\x81\x84\x01RF``\x82\x01R0`\x80\x80\x83\x01\x91\x90\x91R\x83Q\x80\x83\x03\x90\x91\x01\x81R`\xA0\x90\x91\x01\x90\x92R\x81Q\x91\x01 \x90V[```\0\x80\x83`\x01`\x01`\xA0\x1B\x03\x16`\x006`@Qa\t\x0C\x92\x91\x90[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[\x80Q` \x82\x01Q`\x01`\x01`\xE0\x1B\x03\x19\x80\x82\x16\x92\x91\x90`\x04\x83\x10\x15a\n\xE5W\x80\x81\x84`\x04\x03`\x03\x1B\x1B\x83\x16\x16\x93P[PPP\x91\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x0B\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x0B\x06V[PP`\0\x91\x01RV[`\0` \x82\x84\x03\x12\x15a\x0B9W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0BQW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x0BeW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x0BwWa\x0Bwa\n\xEDV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x0B\x9FWa\x0B\x9Fa\n\xEDV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x0B\xB8W`\0\x80\xFD[a\x0B\xC9\x83` \x83\x01` \x88\x01a\x0B\x03V[\x97\x96PPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x0B\xE9W`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0B\xFEW`\0\x80\xFD[\x815a\x0C\t\x81a\x0B\xD4V[\x93\x92PPPV[\x805\x80\x15\x15\x81\x14a\x0C W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0C7W`\0\x80\xFD[a\x0C\t\x82a\x0C\x10V[`\0``\x82\x84\x03\x12\x15a\x07iW`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0CgW`\0\x80\xFD[\x835\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x8CW`\0\x80\xFD[a\x0C\x98\x86\x82\x87\x01a\x0C@V[\x91PP\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\x0C\xB4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\xCCW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0C\xE7W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\x80\x87\x89\x03\x12\x15a\r\x07W`\0\x80\xFD[\x865a\r\x12\x81a\x0B\xD4V[\x95P` \x87\x015a\r\"\x81a\x0B\xD4V[\x94P`@\x87\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r?W`\0\x80\xFD[a\rK\x8A\x83\x8B\x01a\x0C\xA2V[\x90\x96P\x94P``\x89\x015\x91P\x80\x82\x11\x15a\rdW`\0\x80\xFD[Pa\rq\x89\x82\x8A\x01a\x0C\xA2V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\r\x99W`\0\x80\xFD[\x845\x93P` \x85\x015a\r\xAB\x81a\x0B\xD4V[\x92P`@\x85\x015a\r\xBB\x81a\x0B\xD4V[\x93\x96\x92\x95P\x92\x93``\x015\x92PPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\r\xE1W`\0\x80\xFD[\x845\x93P` \x85\x015\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\rW`\0\x80\xFD[a\x0E\x19\x87\x82\x88\x01a\x0C@V[\x91PP\x92\x95\x91\x94P\x92PV[`\0` \x82\x84\x03\x12\x15a\x0E7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ENW`\0\x80\xFD[a\x0EZ\x84\x82\x85\x01a\x0C@V[\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0EuW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a\x0E\x9CW`\0\x80\xFD[\x855\x94P` \x86\x015\x93P`@\x86\x015\x92P``\x86\x015\x91P`\x80\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xCFW`\0\x80\xFD[a\x0E\xDB\x88\x82\x89\x01a\x0C@V[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x0E\xFEW`\0\x80\xFD[\x845\x93P` \x85\x015a\x0F\x10\x81a\x0B\xD4V[\x92P`@\x85\x015\x91P``\x85\x015a\x0F'\x81a\x0B\xD4V[\x93\x96\x92\x95P\x90\x93PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0FEW`\0\x80\xFD[\x825a\x0FP\x81a\x0B\xD4V[\x91Pa\x0F^` \x84\x01a\x0C\x10V[\x90P\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0F\x82W`\0\x80\xFD[\x875a\x0F\x8D\x81a\x0B\xD4V[\x96P` \x88\x015a\x0F\x9D\x81a\x0B\xD4V[\x95Pa\x0F\xAB`@\x89\x01a\x0C\x10V[\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0F\xC8W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F\xFAW`\0\x80\xFD[\x835\x92P` \x84\x015a\x10\x0C\x81a\x0B\xD4V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a\x105W`\0\x80\xFD[\x855\x94P` \x86\x015a\x10G\x81a\x0B\xD4V[\x93P`@\x86\x015a\x10W\x81a\x0B\xD4V[\x92P``\x86\x015\x91P`\x80\x86\x015a\x10n\x81a\x0B\xD4V[\x80\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0\x82Qa\x10\x8E\x81\x84` \x87\x01a\x0B\x03V[\x91\x90\x91\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x1B10\xE7=X\xC4/\xB2h\xD5\x18(\x98\x02\xD5\x81\xED\xC5r\xE7\xF3Z\xDCp\xE2U\xB3&P\x05dsolcC\0\x08\x16\x003";
/// The deployed bytecode of the contract.
pub static ERC4626HYPERDRIVE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
);
pub struct ERC4626Hyperdrive<M>(::ethers::contract::Contract<M>);
impl<M> ::core::clone::Clone for ERC4626Hyperdrive<M> {
fn clone(&self) -> Self {
Self(::core::clone::Clone::clone(&self.0))
}
}
impl<M> ::core::ops::Deref for ERC4626Hyperdrive<M> {
type Target = ::ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M> ::core::ops::DerefMut for ERC4626Hyperdrive<M> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl<M> ::core::fmt::Debug for ERC4626Hyperdrive<M> {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple(::core::stringify!(ERC4626Hyperdrive))
.field(&self.address())
.finish()
}
}
impl<M: ::ethers::providers::Middleware> ERC4626Hyperdrive<M> {
/// Creates a new contract instance with the specified `ethers` client at
/// `address`. The contract derefs to a `ethers::Contract` object.
pub fn new<T: Into<::ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
Self(
::ethers::contract::Contract::new(
address.into(),
ERC4626HYPERDRIVE_ABI.clone(),
client,
),
)
}
/// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
/// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
///
/// Notes:
/// - If there are no constructor arguments, you should pass `()` as the argument.
/// - The default poll duration is 7 seconds.
/// - The default number of confirmations is 1 block.
///
///
/// # Example
///
/// Generate contract bindings with `abigen!` and deploy a new contract instance.
///
/// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact.
///
/// ```ignore
/// # async fn deploy<M: ethers::providers::Middleware>(client: ::std::sync::Arc<M>) {
/// abigen!(Greeter, "../greeter.json");
///
/// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap();
/// let msg = greeter_contract.greet().call().await.unwrap();
/// # }
/// ```
pub fn deploy<T: ::ethers::core::abi::Tokenize>(
client: ::std::sync::Arc<M>,
constructor_args: T,
) -> ::core::result::Result<
::ethers::contract::builders::ContractDeployer<M, Self>,
::ethers::contract::ContractError<M>,
> {
let factory = ::ethers::contract::ContractFactory::new(
ERC4626HYPERDRIVE_ABI.clone(),
ERC4626HYPERDRIVE_BYTECODE.clone().into(),
client,
);
let deployer = factory.deploy(constructor_args)?;
let deployer = ::ethers::contract::ContractDeployer::new(deployer);
Ok(deployer)
}
///Calls the contract's `PERMIT_TYPEHASH` (0x30adf81f) function
pub fn permit_typehash(
&self,
) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
self.0
.method_hash([48, 173, 248, 31], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `addLiquidity` (0x4c2ac1d9) function
pub fn add_liquidity(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: ::ethers::core::types::U256,
p3: ::ethers::core::types::U256,
p4: Options,
) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
self.0
.method_hash([76, 42, 193, 217], (p0, p1, p2, p3, p4))
.expect("method not found (this should never happen)")
}
///Calls the contract's `batchTransferFrom` (0x17fad7fc) function
pub fn batch_transfer_from(
&self,
p0: ::ethers::core::types::Address,
p1: ::ethers::core::types::Address,
p2: ::std::vec::Vec<::ethers::core::types::U256>,
p3: ::std::vec::Vec<::ethers::core::types::U256>,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([23, 250, 215, 252], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `checkpoint` (0x414f826d) function
pub fn checkpoint(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([65, 79, 130, 109], (p0, p1))
.expect("method not found (this should never happen)")
}
///Calls the contract's `closeLong` (0xded06231) function
pub fn close_long(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: ::ethers::core::types::U256,
p3: Options,
) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
self.0
.method_hash([222, 208, 98, 49], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `closeShort` (0x29b23fc1) function
pub fn close_short(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: ::ethers::core::types::U256,
p3: Options,
) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
self.0
.method_hash([41, 178, 63, 193], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `collectGovernanceFee` (0x3e691db9) function
pub fn collect_governance_fee(
&self,
p0: Options,
) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
self.0
.method_hash([62, 105, 29, 185], (p0,))
.expect("method not found (this should never happen)")
}
///Calls the contract's `domainSeparator` (0xf698da25) function
pub fn domain_separator(
&self,
) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
self.0
.method_hash([246, 152, 218, 37], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `initialize` (0x77d05ff4) function
pub fn initialize(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: Options,
) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
self.0
.method_hash([119, 208, 95, 244], (p0, p1, p2))
.expect("method not found (this should never happen)")
}
///Calls the contract's `openLong` (0xcba2e58d) function
pub fn open_long(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: ::ethers::core::types::U256,
p3: Options,
) -> ::ethers::contract::builders::ContractCall<
M,
(::ethers::core::types::U256, ::ethers::core::types::U256),
> {
self.0
.method_hash([203, 162, 229, 141], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `openShort` (0xdbbe8070) function
pub fn open_short(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: ::ethers::core::types::U256,
p3: Options,
) -> ::ethers::contract::builders::ContractCall<
M,
(::ethers::core::types::U256, ::ethers::core::types::U256),
> {
self.0
.method_hash([219, 190, 128, 112], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `pause` (0x02329a29) function
pub fn pause(
&self,
p0: bool,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([2, 50, 154, 41], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `permitForAll` (0x9032c726) function
pub fn permit_for_all(
&self,
owner: ::ethers::core::types::Address,
spender: ::ethers::core::types::Address,
approved: bool,
deadline: ::ethers::core::types::U256,
v: u8,
r: [u8; 32],
s: [u8; 32],
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash(
[144, 50, 199, 38],
(owner, spender, approved, deadline, v, r, s),
)
.expect("method not found (this should never happen)")
}
///Calls the contract's `redeemWithdrawalShares` (0x074a6de9) function
pub fn redeem_withdrawal_shares(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: Options,
) -> ::ethers::contract::builders::ContractCall<
M,
(::ethers::core::types::U256, ::ethers::core::types::U256),
> {
self.0
.method_hash([7, 74, 109, 233], (p0, p1, p2))
.expect("method not found (this should never happen)")
}
///Calls the contract's `removeLiquidity` (0xcbc13434) function
pub fn remove_liquidity(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::U256,
p2: Options,
) -> ::ethers::contract::builders::ContractCall<
M,
(::ethers::core::types::U256, ::ethers::core::types::U256),
> {
self.0
.method_hash([203, 193, 52, 52], (p0, p1, p2))
.expect("method not found (this should never happen)")
}
///Calls the contract's `setApproval` (0x9cd241af) function
pub fn set_approval(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::Address,
p2: ::ethers::core::types::U256,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([156, 210, 65, 175], (p0, p1, p2))
.expect("method not found (this should never happen)")
}
///Calls the contract's `setApprovalBridge` (0x4ed2d6ac) function
pub fn set_approval_bridge(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::Address,
p2: ::ethers::core::types::U256,
p3: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([78, 210, 214, 172], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `setApprovalForAll` (0xa22cb465) function
pub fn set_approval_for_all(
&self,
p0: ::ethers::core::types::Address,
p1: bool,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([162, 44, 180, 101], (p0, p1))
.expect("method not found (this should never happen)")
}
///Calls the contract's `setCheckpointRewarder` (0xa5107626) function
pub fn set_checkpoint_rewarder(
&self,
p0: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([165, 16, 118, 38], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `setFeeCollector` (0xa42dce80) function
pub fn set_fee_collector(
&self,
p0: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([164, 45, 206, 128], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `setGovernance` (0xab033ea9) function
pub fn set_governance(
&self,
p0: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([171, 3, 62, 169], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `setPauser` (0x7180c8ca) function
pub fn set_pauser(
&self,
p0: ::ethers::core::types::Address,
p1: bool,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([113, 128, 200, 202], (p0, p1))
.expect("method not found (this should never happen)")
}
///Calls the contract's `setSweepCollector` (0xe4af29d1) function
pub fn set_sweep_collector(
&self,
p0: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([228, 175, 41, 209], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `sweep` (0x01681a62) function
pub fn sweep(
&self,
p0: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([1, 104, 26, 98], p0)
.expect("method not found (this should never happen)")
}
///Calls the contract's `target0` (0x21b57d53) function
pub fn target_0(
&self,
) -> ::ethers::contract::builders::ContractCall<
M,
::ethers::core::types::Address,
> {
self.0
.method_hash([33, 181, 125, 83], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `target1` (0xeac3e799) function
pub fn target_1(
&self,
) -> ::ethers::contract::builders::ContractCall<
M,
::ethers::core::types::Address,
> {
self.0
.method_hash([234, 195, 231, 153], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `target2` (0xa6e8a859) function
pub fn target_2(
&self,
) -> ::ethers::contract::builders::ContractCall<
M,
::ethers::core::types::Address,
> {
self.0
.method_hash([166, 232, 168, 89], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `target3` (0xd899e112) function
pub fn target_3(
&self,
) -> ::ethers::contract::builders::ContractCall<
M,
::ethers::core::types::Address,
> {
self.0
.method_hash([216, 153, 225, 18], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `target4` (0xf3f70707) function
pub fn target_4(
&self,
) -> ::ethers::contract::builders::ContractCall<
M,
::ethers::core::types::Address,
> {
self.0
.method_hash([243, 247, 7, 7], ())
.expect("method not found (this should never happen)")
}
///Calls the contract's `transferFrom` (0x1c0f12b6) function
pub fn transfer_from(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::Address,
p2: ::ethers::core::types::Address,
p3: ::ethers::core::types::U256,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([28, 15, 18, 182], (p0, p1, p2, p3))
.expect("method not found (this should never happen)")
}
///Calls the contract's `transferFromBridge` (0xe44808bc) function
pub fn transfer_from_bridge(
&self,
p0: ::ethers::core::types::U256,
p1: ::ethers::core::types::Address,
p2: ::ethers::core::types::Address,
p3: ::ethers::core::types::U256,
p4: ::ethers::core::types::Address,
) -> ::ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([228, 72, 8, 188], (p0, p1, p2, p3, p4))
.expect("method not found (this should never happen)")
}
///Gets the contract's `AddLiquidity` event
pub fn add_liquidity_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
AddLiquidityFilter,
> {
self.0.event()
}
///Gets the contract's `Approval` event
pub fn approval_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
ApprovalFilter,
> {
self.0.event()
}
///Gets the contract's `ApprovalForAll` event
pub fn approval_for_all_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
ApprovalForAllFilter,
> {
self.0.event()
}
///Gets the contract's `CheckpointRewarderUpdated` event
pub fn checkpoint_rewarder_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
CheckpointRewarderUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `CloseLong` event
pub fn close_long_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
CloseLongFilter,
> {
self.0.event()
}
///Gets the contract's `CloseShort` event
pub fn close_short_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
CloseShortFilter,
> {
self.0.event()
}
///Gets the contract's `CollectGovernanceFee` event
pub fn collect_governance_fee_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
CollectGovernanceFeeFilter,
> {
self.0.event()
}
///Gets the contract's `CreateCheckpoint` event
pub fn create_checkpoint_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
CreateCheckpointFilter,
> {
self.0.event()
}
///Gets the contract's `FeeCollectorUpdated` event
pub fn fee_collector_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
FeeCollectorUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `GovernanceUpdated` event
pub fn governance_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
GovernanceUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `Initialize` event
pub fn initialize_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
InitializeFilter,
> {
self.0.event()
}
///Gets the contract's `OpenLong` event
pub fn open_long_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
OpenLongFilter,
> {
self.0.event()
}
///Gets the contract's `OpenShort` event
pub fn open_short_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
OpenShortFilter,
> {
self.0.event()
}
///Gets the contract's `PauseStatusUpdated` event
pub fn pause_status_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
PauseStatusUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `PauserUpdated` event
pub fn pauser_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
PauserUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `RedeemWithdrawalShares` event
pub fn redeem_withdrawal_shares_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
RedeemWithdrawalSharesFilter,
> {
self.0.event()
}
///Gets the contract's `RemoveLiquidity` event
pub fn remove_liquidity_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
RemoveLiquidityFilter,
> {
self.0.event()
}
///Gets the contract's `Sweep` event
pub fn sweep_filter(
&self,
) -> ::ethers::contract::builders::Event<::std::sync::Arc<M>, M, SweepFilter> {
self.0.event()
}
///Gets the contract's `SweepCollectorUpdated` event
pub fn sweep_collector_updated_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
SweepCollectorUpdatedFilter,
> {
self.0.event()
}
///Gets the contract's `TransferSingle` event
pub fn transfer_single_filter(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
TransferSingleFilter,
> {
self.0.event()
}
/// Returns an `Event` builder for all the events of this contract.
pub fn events(
&self,
) -> ::ethers::contract::builders::Event<
::std::sync::Arc<M>,
M,
ERC4626HyperdriveEvents,
> {
self.0.event_with_filter(::core::default::Default::default())
}
}
impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
for ERC4626Hyperdrive<M> {
fn from(contract: ::ethers::contract::Contract<M>) -> Self {
Self::new(contract.address(), contract.client())
}
}
///Custom Error type `AddressEmptyCode` with signature `AddressEmptyCode(address)` and selector `0x9996b315`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(name = "AddressEmptyCode", abi = "AddressEmptyCode(address)")]
pub struct AddressEmptyCode {
pub target: ::ethers::core::types::Address,
}
///Custom Error type `AddressInsufficientBalance` with signature `AddressInsufficientBalance(address)` and selector `0xcd786059`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(
name = "AddressInsufficientBalance",
abi = "AddressInsufficientBalance(address)"
)]
pub struct AddressInsufficientBalance {
pub account: ::ethers::core::types::Address,
}
///Custom Error type `FailedInnerCall` with signature `FailedInnerCall()` and selector `0x1425ea42`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(name = "FailedInnerCall", abi = "FailedInnerCall()")]
pub struct FailedInnerCall;
///Custom Error type `ReentrancyGuardReentrantCall` with signature `ReentrancyGuardReentrantCall()` and selector `0x3ee5aeb5`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(
name = "ReentrancyGuardReentrantCall",
abi = "ReentrancyGuardReentrantCall()"
)]
pub struct ReentrancyGuardReentrantCall;
///Custom Error type `SafeERC20FailedOperation` with signature `SafeERC20FailedOperation(address)` and selector `0x5274afe7`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(
name = "SafeERC20FailedOperation",
abi = "SafeERC20FailedOperation(address)"
)]
pub struct SafeERC20FailedOperation {
pub token: ::ethers::core::types::Address,
}
///Custom Error type `UnexpectedSuccess` with signature `UnexpectedSuccess()` and selector `0x8bb0a34b`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(name = "UnexpectedSuccess", abi = "UnexpectedSuccess()")]
pub struct UnexpectedSuccess;
///Container type for all of the contract's custom errors
#[derive(
Clone,
::ethers::contract::EthAbiType,
serde::Serialize,
serde::Deserialize,
Debug,
PartialEq,
Eq,
Hash
)]
pub enum ERC4626HyperdriveErrors {
AddressEmptyCode(AddressEmptyCode),
AddressInsufficientBalance(AddressInsufficientBalance),
FailedInnerCall(FailedInnerCall),
ReentrancyGuardReentrantCall(ReentrancyGuardReentrantCall),
SafeERC20FailedOperation(SafeERC20FailedOperation),
UnexpectedSuccess(UnexpectedSuccess),
/// The standard solidity revert string, with selector
/// Error(string) -- 0x08c379a0
RevertString(::std::string::String),
}
impl ::ethers::core::abi::AbiDecode for ERC4626HyperdriveErrors {
fn decode(
data: impl AsRef<[u8]>,
) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
let data = data.as_ref();
if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::RevertString(decoded));
}
if let Ok(decoded) = <AddressEmptyCode as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::AddressEmptyCode(decoded));
}
if let Ok(decoded) = <AddressInsufficientBalance as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::AddressInsufficientBalance(decoded));
}
if let Ok(decoded) = <FailedInnerCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::FailedInnerCall(decoded));
}
if let Ok(decoded) = <ReentrancyGuardReentrantCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::ReentrancyGuardReentrantCall(decoded));
}
if let Ok(decoded) = <SafeERC20FailedOperation as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SafeERC20FailedOperation(decoded));
}
if let Ok(decoded) = <UnexpectedSuccess as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::UnexpectedSuccess(decoded));
}
Err(::ethers::core::abi::Error::InvalidData.into())
}
}
impl ::ethers::core::abi::AbiEncode for ERC4626HyperdriveErrors {
fn encode(self) -> ::std::vec::Vec<u8> {
match self {
Self::AddressEmptyCode(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::AddressInsufficientBalance(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::FailedInnerCall(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::ReentrancyGuardReentrantCall(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SafeERC20FailedOperation(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::UnexpectedSuccess(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s),
}
}
}
impl ::ethers::contract::ContractRevert for ERC4626HyperdriveErrors {
fn valid_selector(selector: [u8; 4]) -> bool {
match selector {
[0x08, 0xc3, 0x79, 0xa0] => true,
_ if selector
== <AddressEmptyCode as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <AddressInsufficientBalance as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <FailedInnerCall as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <ReentrancyGuardReentrantCall as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <SafeERC20FailedOperation as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <UnexpectedSuccess as ::ethers::contract::EthError>::selector() => {
true
}
_ => false,
}
}
}
impl ::core::fmt::Display for ERC4626HyperdriveErrors {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Self::AddressEmptyCode(element) => ::core::fmt::Display::fmt(element, f),
Self::AddressInsufficientBalance(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::FailedInnerCall(element) => ::core::fmt::Display::fmt(element, f),
Self::ReentrancyGuardReentrantCall(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::SafeERC20FailedOperation(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::UnexpectedSuccess(element) => ::core::fmt::Display::fmt(element, f),
Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
}
}
}
impl ::core::convert::From<::std::string::String> for ERC4626HyperdriveErrors {
fn from(value: String) -> Self {
Self::RevertString(value)
}
}
impl ::core::convert::From<AddressEmptyCode> for ERC4626HyperdriveErrors {
fn from(value: AddressEmptyCode) -> Self {
Self::AddressEmptyCode(value)
}
}
impl ::core::convert::From<AddressInsufficientBalance> for ERC4626HyperdriveErrors {
fn from(value: AddressInsufficientBalance) -> Self {
Self::AddressInsufficientBalance(value)
}
}
impl ::core::convert::From<FailedInnerCall> for ERC4626HyperdriveErrors {
fn from(value: FailedInnerCall) -> Self {
Self::FailedInnerCall(value)
}
}
impl ::core::convert::From<ReentrancyGuardReentrantCall>
for ERC4626HyperdriveErrors {
fn from(value: ReentrancyGuardReentrantCall) -> Self {
Self::ReentrancyGuardReentrantCall(value)
}
}
impl ::core::convert::From<SafeERC20FailedOperation> for ERC4626HyperdriveErrors {
fn from(value: SafeERC20FailedOperation) -> Self {
Self::SafeERC20FailedOperation(value)
}
}
impl ::core::convert::From<UnexpectedSuccess> for ERC4626HyperdriveErrors {
fn from(value: UnexpectedSuccess) -> Self {
Self::UnexpectedSuccess(value)
}
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "AddLiquidity",
abi = "AddLiquidity(address,uint256,uint256,uint256,bool,uint256,bytes)"
)]
pub struct AddLiquidityFilter {
#[ethevent(indexed)]
pub provider: ::ethers::core::types::Address,
pub lp_amount: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub lp_share_price: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ::ethers::core::types::Address,
pub value: ::ethers::core::types::U256,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")]
pub struct ApprovalForAllFilter {
#[ethevent(indexed)]
pub account: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub operator: ::ethers::core::types::Address,
pub approved: bool,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "CheckpointRewarderUpdated",
abi = "CheckpointRewarderUpdated(address)"
)]
pub struct CheckpointRewarderUpdatedFilter {
#[ethevent(indexed)]
pub new_checkpoint_rewarder: ::ethers::core::types::Address,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "CloseLong",
abi = "CloseLong(address,address,uint256,uint256,uint256,uint256,bool,uint256,bytes)"
)]
pub struct CloseLongFilter {
#[ethevent(indexed)]
pub trader: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub destination: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub asset_id: ::ethers::core::types::U256,
pub maturity_time: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub bond_amount: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "CloseShort",
abi = "CloseShort(address,address,uint256,uint256,uint256,uint256,bool,uint256,uint256,bytes)"
)]
pub struct CloseShortFilter {
#[ethevent(indexed)]
pub trader: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub destination: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub asset_id: ::ethers::core::types::U256,
pub maturity_time: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub base_payment: ::ethers::core::types::U256,
pub bond_amount: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "CollectGovernanceFee",
abi = "CollectGovernanceFee(address,uint256,uint256,bool)"
)]
pub struct CollectGovernanceFeeFilter {
#[ethevent(indexed)]
pub collector: ::ethers::core::types::Address,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "CreateCheckpoint",
abi = "CreateCheckpoint(uint256,uint256,uint256,uint256,uint256,uint256)"
)]
pub struct CreateCheckpointFilter {
#[ethevent(indexed)]
pub checkpoint_time: ::ethers::core::types::U256,
pub checkpoint_vault_share_price: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub matured_shorts: ::ethers::core::types::U256,
pub matured_longs: ::ethers::core::types::U256,
pub lp_share_price: ::ethers::core::types::U256,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "FeeCollectorUpdated", abi = "FeeCollectorUpdated(address)")]
pub struct FeeCollectorUpdatedFilter {
#[ethevent(indexed)]
pub new_fee_collector: ::ethers::core::types::Address,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "GovernanceUpdated", abi = "GovernanceUpdated(address)")]
pub struct GovernanceUpdatedFilter {
#[ethevent(indexed)]
pub new_governance: ::ethers::core::types::Address,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "Initialize",
abi = "Initialize(address,uint256,uint256,uint256,bool,uint256,bytes)"
)]
pub struct InitializeFilter {
#[ethevent(indexed)]
pub provider: ::ethers::core::types::Address,
pub lp_amount: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub apr: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "OpenLong",
abi = "OpenLong(address,uint256,uint256,uint256,uint256,bool,uint256,bytes)"
)]
pub struct OpenLongFilter {
#[ethevent(indexed)]
pub trader: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub asset_id: ::ethers::core::types::U256,
pub maturity_time: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub bond_amount: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "OpenShort",
abi = "OpenShort(address,uint256,uint256,uint256,uint256,bool,uint256,uint256,bytes)"
)]
pub struct OpenShortFilter {
#[ethevent(indexed)]
pub trader: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub asset_id: ::ethers::core::types::U256,
pub maturity_time: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub base_proceeds: ::ethers::core::types::U256,
pub bond_amount: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "PauseStatusUpdated", abi = "PauseStatusUpdated(bool)")]
pub struct PauseStatusUpdatedFilter {
pub is_paused: bool,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "PauserUpdated", abi = "PauserUpdated(address,bool)")]
pub struct PauserUpdatedFilter {
#[ethevent(indexed)]
pub new_pauser: ::ethers::core::types::Address,
pub status: bool,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "RedeemWithdrawalShares",
abi = "RedeemWithdrawalShares(address,address,uint256,uint256,uint256,bool,bytes)"
)]
pub struct RedeemWithdrawalSharesFilter {
#[ethevent(indexed)]
pub provider: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub destination: ::ethers::core::types::Address,
pub withdrawal_share_amount: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "RemoveLiquidity",
abi = "RemoveLiquidity(address,address,uint256,uint256,uint256,bool,uint256,uint256,bytes)"
)]
pub struct RemoveLiquidityFilter {
#[ethevent(indexed)]
pub provider: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub destination: ::ethers::core::types::Address,
pub lp_amount: ::ethers::core::types::U256,
pub amount: ::ethers::core::types::U256,
pub vault_share_price: ::ethers::core::types::U256,
pub as_base: bool,
pub withdrawal_share_amount: ::ethers::core::types::U256,
pub lp_share_price: ::ethers::core::types::U256,
pub extra_data: ::ethers::core::types::Bytes,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "Sweep", abi = "Sweep(address,address)")]
pub struct SweepFilter {
#[ethevent(indexed)]
pub collector: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub target: ::ethers::core::types::Address,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(name = "SweepCollectorUpdated", abi = "SweepCollectorUpdated(address)")]
pub struct SweepCollectorUpdatedFilter {
#[ethevent(indexed)]
pub new_sweep_collector: ::ethers::core::types::Address,
}
#[derive(
Clone,
::ethers::contract::EthEvent,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethevent(
name = "TransferSingle",
abi = "TransferSingle(address,address,address,uint256,uint256)"
)]
pub struct TransferSingleFilter {
#[ethevent(indexed)]
pub operator: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub from: ::ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ::ethers::core::types::Address,
pub id: ::ethers::core::types::U256,
pub value: ::ethers::core::types::U256,
}
///Container type for all of the contract's events
#[derive(
Clone,
::ethers::contract::EthAbiType,
serde::Serialize,
serde::Deserialize,
Debug,
PartialEq,
Eq,
Hash
)]
pub enum ERC4626HyperdriveEvents {
AddLiquidityFilter(AddLiquidityFilter),
ApprovalFilter(ApprovalFilter),
ApprovalForAllFilter(ApprovalForAllFilter),
CheckpointRewarderUpdatedFilter(CheckpointRewarderUpdatedFilter),
CloseLongFilter(CloseLongFilter),
CloseShortFilter(CloseShortFilter),
CollectGovernanceFeeFilter(CollectGovernanceFeeFilter),
CreateCheckpointFilter(CreateCheckpointFilter),
FeeCollectorUpdatedFilter(FeeCollectorUpdatedFilter),
GovernanceUpdatedFilter(GovernanceUpdatedFilter),
InitializeFilter(InitializeFilter),
OpenLongFilter(OpenLongFilter),
OpenShortFilter(OpenShortFilter),
PauseStatusUpdatedFilter(PauseStatusUpdatedFilter),
PauserUpdatedFilter(PauserUpdatedFilter),
RedeemWithdrawalSharesFilter(RedeemWithdrawalSharesFilter),
RemoveLiquidityFilter(RemoveLiquidityFilter),
SweepFilter(SweepFilter),
SweepCollectorUpdatedFilter(SweepCollectorUpdatedFilter),
TransferSingleFilter(TransferSingleFilter),
}
impl ::ethers::contract::EthLogDecode for ERC4626HyperdriveEvents {
fn decode_log(
log: &::ethers::core::abi::RawLog,
) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
if let Ok(decoded) = AddLiquidityFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::AddLiquidityFilter(decoded));
}
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::ApprovalFilter(decoded));
}
if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::ApprovalForAllFilter(decoded));
}
if let Ok(decoded) = CheckpointRewarderUpdatedFilter::decode_log(log) {
return Ok(
ERC4626HyperdriveEvents::CheckpointRewarderUpdatedFilter(decoded),
);
}
if let Ok(decoded) = CloseLongFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::CloseLongFilter(decoded));
}
if let Ok(decoded) = CloseShortFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::CloseShortFilter(decoded));
}
if let Ok(decoded) = CollectGovernanceFeeFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::CollectGovernanceFeeFilter(decoded));
}
if let Ok(decoded) = CreateCheckpointFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::CreateCheckpointFilter(decoded));
}
if let Ok(decoded) = FeeCollectorUpdatedFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::FeeCollectorUpdatedFilter(decoded));
}
if let Ok(decoded) = GovernanceUpdatedFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::GovernanceUpdatedFilter(decoded));
}
if let Ok(decoded) = InitializeFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::InitializeFilter(decoded));
}
if let Ok(decoded) = OpenLongFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::OpenLongFilter(decoded));
}
if let Ok(decoded) = OpenShortFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::OpenShortFilter(decoded));
}
if let Ok(decoded) = PauseStatusUpdatedFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::PauseStatusUpdatedFilter(decoded));
}
if let Ok(decoded) = PauserUpdatedFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::PauserUpdatedFilter(decoded));
}
if let Ok(decoded) = RedeemWithdrawalSharesFilter::decode_log(log) {
return Ok(
ERC4626HyperdriveEvents::RedeemWithdrawalSharesFilter(decoded),
);
}
if let Ok(decoded) = RemoveLiquidityFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::RemoveLiquidityFilter(decoded));
}
if let Ok(decoded) = SweepFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::SweepFilter(decoded));
}
if let Ok(decoded) = SweepCollectorUpdatedFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::SweepCollectorUpdatedFilter(decoded));
}
if let Ok(decoded) = TransferSingleFilter::decode_log(log) {
return Ok(ERC4626HyperdriveEvents::TransferSingleFilter(decoded));
}
Err(::ethers::core::abi::Error::InvalidData)
}
}
impl ::core::fmt::Display for ERC4626HyperdriveEvents {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Self::AddLiquidityFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::ApprovalForAllFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::CheckpointRewarderUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::CloseLongFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::CloseShortFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::CollectGovernanceFeeFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::CreateCheckpointFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::FeeCollectorUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::GovernanceUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::InitializeFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::OpenLongFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::OpenShortFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::PauseStatusUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::PauserUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::RedeemWithdrawalSharesFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::RemoveLiquidityFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::SweepFilter(element) => ::core::fmt::Display::fmt(element, f),
Self::SweepCollectorUpdatedFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::TransferSingleFilter(element) => {
::core::fmt::Display::fmt(element, f)
}
}
}
}
impl ::core::convert::From<AddLiquidityFilter> for ERC4626HyperdriveEvents {
fn from(value: AddLiquidityFilter) -> Self {
Self::AddLiquidityFilter(value)
}
}
impl ::core::convert::From<ApprovalFilter> for ERC4626HyperdriveEvents {
fn from(value: ApprovalFilter) -> Self {
Self::ApprovalFilter(value)
}
}
impl ::core::convert::From<ApprovalForAllFilter> for ERC4626HyperdriveEvents {
fn from(value: ApprovalForAllFilter) -> Self {
Self::ApprovalForAllFilter(value)
}
}
impl ::core::convert::From<CheckpointRewarderUpdatedFilter>
for ERC4626HyperdriveEvents {
fn from(value: CheckpointRewarderUpdatedFilter) -> Self {
Self::CheckpointRewarderUpdatedFilter(value)
}
}
impl ::core::convert::From<CloseLongFilter> for ERC4626HyperdriveEvents {
fn from(value: CloseLongFilter) -> Self {
Self::CloseLongFilter(value)
}
}
impl ::core::convert::From<CloseShortFilter> for ERC4626HyperdriveEvents {
fn from(value: CloseShortFilter) -> Self {
Self::CloseShortFilter(value)
}
}
impl ::core::convert::From<CollectGovernanceFeeFilter> for ERC4626HyperdriveEvents {
fn from(value: CollectGovernanceFeeFilter) -> Self {
Self::CollectGovernanceFeeFilter(value)
}
}
impl ::core::convert::From<CreateCheckpointFilter> for ERC4626HyperdriveEvents {
fn from(value: CreateCheckpointFilter) -> Self {
Self::CreateCheckpointFilter(value)
}
}
impl ::core::convert::From<FeeCollectorUpdatedFilter> for ERC4626HyperdriveEvents {
fn from(value: FeeCollectorUpdatedFilter) -> Self {
Self::FeeCollectorUpdatedFilter(value)
}
}
impl ::core::convert::From<GovernanceUpdatedFilter> for ERC4626HyperdriveEvents {
fn from(value: GovernanceUpdatedFilter) -> Self {
Self::GovernanceUpdatedFilter(value)
}
}
impl ::core::convert::From<InitializeFilter> for ERC4626HyperdriveEvents {
fn from(value: InitializeFilter) -> Self {
Self::InitializeFilter(value)
}
}
impl ::core::convert::From<OpenLongFilter> for ERC4626HyperdriveEvents {
fn from(value: OpenLongFilter) -> Self {
Self::OpenLongFilter(value)
}
}
impl ::core::convert::From<OpenShortFilter> for ERC4626HyperdriveEvents {
fn from(value: OpenShortFilter) -> Self {
Self::OpenShortFilter(value)
}
}
impl ::core::convert::From<PauseStatusUpdatedFilter> for ERC4626HyperdriveEvents {
fn from(value: PauseStatusUpdatedFilter) -> Self {
Self::PauseStatusUpdatedFilter(value)
}
}
impl ::core::convert::From<PauserUpdatedFilter> for ERC4626HyperdriveEvents {
fn from(value: PauserUpdatedFilter) -> Self {
Self::PauserUpdatedFilter(value)
}
}
impl ::core::convert::From<RedeemWithdrawalSharesFilter>
for ERC4626HyperdriveEvents {
fn from(value: RedeemWithdrawalSharesFilter) -> Self {
Self::RedeemWithdrawalSharesFilter(value)
}
}
impl ::core::convert::From<RemoveLiquidityFilter> for ERC4626HyperdriveEvents {
fn from(value: RemoveLiquidityFilter) -> Self {
Self::RemoveLiquidityFilter(value)
}
}
impl ::core::convert::From<SweepFilter> for ERC4626HyperdriveEvents {
fn from(value: SweepFilter) -> Self {
Self::SweepFilter(value)
}
}
impl ::core::convert::From<SweepCollectorUpdatedFilter> for ERC4626HyperdriveEvents {
fn from(value: SweepCollectorUpdatedFilter) -> Self {
Self::SweepCollectorUpdatedFilter(value)
}
}
impl ::core::convert::From<TransferSingleFilter> for ERC4626HyperdriveEvents {
fn from(value: TransferSingleFilter) -> Self {
Self::TransferSingleFilter(value)
}
}
///Container type for all input parameters for the `PERMIT_TYPEHASH` function with signature `PERMIT_TYPEHASH()` and selector `0x30adf81f`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "PERMIT_TYPEHASH", abi = "PERMIT_TYPEHASH()")]
pub struct PermitTypehashCall;
///Container type for all input parameters for the `addLiquidity` function with signature `addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))` and selector `0x4c2ac1d9`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "addLiquidity",
abi = "addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))"
)]
pub struct AddLiquidityCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `batchTransferFrom` function with signature `batchTransferFrom(address,address,uint256[],uint256[])` and selector `0x17fad7fc`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "batchTransferFrom",
abi = "batchTransferFrom(address,address,uint256[],uint256[])"
)]
pub struct BatchTransferFromCall(
pub ::ethers::core::types::Address,
pub ::ethers::core::types::Address,
pub ::std::vec::Vec<::ethers::core::types::U256>,
pub ::std::vec::Vec<::ethers::core::types::U256>,
);
///Container type for all input parameters for the `checkpoint` function with signature `checkpoint(uint256,uint256)` and selector `0x414f826d`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "checkpoint", abi = "checkpoint(uint256,uint256)")]
pub struct CheckpointCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
);
///Container type for all input parameters for the `closeLong` function with signature `closeLong(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xded06231`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "closeLong",
abi = "closeLong(uint256,uint256,uint256,(address,bool,bytes))"
)]
pub struct CloseLongCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `closeShort` function with signature `closeShort(uint256,uint256,uint256,(address,bool,bytes))` and selector `0x29b23fc1`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "closeShort",
abi = "closeShort(uint256,uint256,uint256,(address,bool,bytes))"
)]
pub struct CloseShortCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `collectGovernanceFee` function with signature `collectGovernanceFee((address,bool,bytes))` and selector `0x3e691db9`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "collectGovernanceFee",
abi = "collectGovernanceFee((address,bool,bytes))"
)]
pub struct CollectGovernanceFeeCall(pub Options);
///Container type for all input parameters for the `domainSeparator` function with signature `domainSeparator()` and selector `0xf698da25`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "domainSeparator", abi = "domainSeparator()")]
pub struct DomainSeparatorCall;
///Container type for all input parameters for the `initialize` function with signature `initialize(uint256,uint256,(address,bool,bytes))` and selector `0x77d05ff4`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "initialize",
abi = "initialize(uint256,uint256,(address,bool,bytes))"
)]
pub struct InitializeCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `openLong` function with signature `openLong(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xcba2e58d`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "openLong",
abi = "openLong(uint256,uint256,uint256,(address,bool,bytes))"
)]
pub struct OpenLongCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `openShort` function with signature `openShort(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xdbbe8070`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "openShort",
abi = "openShort(uint256,uint256,uint256,(address,bool,bytes))"
)]
pub struct OpenShortCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `pause` function with signature `pause(bool)` and selector `0x02329a29`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "pause", abi = "pause(bool)")]
pub struct PauseCall(pub bool);
///Container type for all input parameters for the `permitForAll` function with signature `permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)` and selector `0x9032c726`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "permitForAll",
abi = "permitForAll(address,address,bool,uint256,uint8,bytes32,bytes32)"
)]
pub struct PermitForAllCall {
pub owner: ::ethers::core::types::Address,
pub spender: ::ethers::core::types::Address,
pub approved: bool,
pub deadline: ::ethers::core::types::U256,
pub v: u8,
pub r: [u8; 32],
pub s: [u8; 32],
}
///Container type for all input parameters for the `redeemWithdrawalShares` function with signature `redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))` and selector `0x074a6de9`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "redeemWithdrawalShares",
abi = "redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))"
)]
pub struct RedeemWithdrawalSharesCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `removeLiquidity` function with signature `removeLiquidity(uint256,uint256,(address,bool,bytes))` and selector `0xcbc13434`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "removeLiquidity",
abi = "removeLiquidity(uint256,uint256,(address,bool,bytes))"
)]
pub struct RemoveLiquidityCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
pub Options,
);
///Container type for all input parameters for the `setApproval` function with signature `setApproval(uint256,address,uint256)` and selector `0x9cd241af`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setApproval", abi = "setApproval(uint256,address,uint256)")]
pub struct SetApprovalCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::U256,
);
///Container type for all input parameters for the `setApprovalBridge` function with signature `setApprovalBridge(uint256,address,uint256,address)` and selector `0x4ed2d6ac`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "setApprovalBridge",
abi = "setApprovalBridge(uint256,address,uint256,address)"
)]
pub struct SetApprovalBridgeCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
);
///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")]
pub struct SetApprovalForAllCall(pub ::ethers::core::types::Address, pub bool);
///Container type for all input parameters for the `setCheckpointRewarder` function with signature `setCheckpointRewarder(address)` and selector `0xa5107626`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setCheckpointRewarder", abi = "setCheckpointRewarder(address)")]
pub struct SetCheckpointRewarderCall(pub ::ethers::core::types::Address);
///Container type for all input parameters for the `setFeeCollector` function with signature `setFeeCollector(address)` and selector `0xa42dce80`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setFeeCollector", abi = "setFeeCollector(address)")]
pub struct SetFeeCollectorCall(pub ::ethers::core::types::Address);
///Container type for all input parameters for the `setGovernance` function with signature `setGovernance(address)` and selector `0xab033ea9`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setGovernance", abi = "setGovernance(address)")]
pub struct SetGovernanceCall(pub ::ethers::core::types::Address);
///Container type for all input parameters for the `setPauser` function with signature `setPauser(address,bool)` and selector `0x7180c8ca`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setPauser", abi = "setPauser(address,bool)")]
pub struct SetPauserCall(pub ::ethers::core::types::Address, pub bool);
///Container type for all input parameters for the `setSweepCollector` function with signature `setSweepCollector(address)` and selector `0xe4af29d1`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "setSweepCollector", abi = "setSweepCollector(address)")]
pub struct SetSweepCollectorCall(pub ::ethers::core::types::Address);
///Container type for all input parameters for the `sweep` function with signature `sweep(address)` and selector `0x01681a62`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "sweep", abi = "sweep(address)")]
pub struct SweepCall(pub ::ethers::core::types::Address);
///Container type for all input parameters for the `target0` function with signature `target0()` and selector `0x21b57d53`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "target0", abi = "target0()")]
pub struct Target0Call;
///Container type for all input parameters for the `target1` function with signature `target1()` and selector `0xeac3e799`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "target1", abi = "target1()")]
pub struct Target1Call;
///Container type for all input parameters for the `target2` function with signature `target2()` and selector `0xa6e8a859`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "target2", abi = "target2()")]
pub struct Target2Call;
///Container type for all input parameters for the `target3` function with signature `target3()` and selector `0xd899e112`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "target3", abi = "target3()")]
pub struct Target3Call;
///Container type for all input parameters for the `target4` function with signature `target4()` and selector `0xf3f70707`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(name = "target4", abi = "target4()")]
pub struct Target4Call;
///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(uint256,address,address,uint256)` and selector `0x1c0f12b6`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "transferFrom",
abi = "transferFrom(uint256,address,address,uint256)"
)]
pub struct TransferFromCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::U256,
);
///Container type for all input parameters for the `transferFromBridge` function with signature `transferFromBridge(uint256,address,address,uint256,address)` and selector `0xe44808bc`
#[derive(
Clone,
::ethers::contract::EthCall,
::ethers::contract::EthDisplay,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[ethcall(
name = "transferFromBridge",
abi = "transferFromBridge(uint256,address,address,uint256,address)"
)]
pub struct TransferFromBridgeCall(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::Address,
pub ::ethers::core::types::U256,
pub ::ethers::core::types::Address,
);
///Container type for all of the contract's call
#[derive(
Clone,
::ethers::contract::EthAbiType,
serde::Serialize,
serde::Deserialize,
Debug,
PartialEq,
Eq,
Hash
)]
pub enum ERC4626HyperdriveCalls {
PermitTypehash(PermitTypehashCall),
AddLiquidity(AddLiquidityCall),
BatchTransferFrom(BatchTransferFromCall),
Checkpoint(CheckpointCall),
CloseLong(CloseLongCall),
CloseShort(CloseShortCall),
CollectGovernanceFee(CollectGovernanceFeeCall),
DomainSeparator(DomainSeparatorCall),
Initialize(InitializeCall),
OpenLong(OpenLongCall),
OpenShort(OpenShortCall),
Pause(PauseCall),
PermitForAll(PermitForAllCall),
RedeemWithdrawalShares(RedeemWithdrawalSharesCall),
RemoveLiquidity(RemoveLiquidityCall),
SetApproval(SetApprovalCall),
SetApprovalBridge(SetApprovalBridgeCall),
SetApprovalForAll(SetApprovalForAllCall),
SetCheckpointRewarder(SetCheckpointRewarderCall),
SetFeeCollector(SetFeeCollectorCall),
SetGovernance(SetGovernanceCall),
SetPauser(SetPauserCall),
SetSweepCollector(SetSweepCollectorCall),
Sweep(SweepCall),
Target0(Target0Call),
Target1(Target1Call),
Target2(Target2Call),
Target3(Target3Call),
Target4(Target4Call),
TransferFrom(TransferFromCall),
TransferFromBridge(TransferFromBridgeCall),
}
impl ::ethers::core::abi::AbiDecode for ERC4626HyperdriveCalls {
fn decode(
data: impl AsRef<[u8]>,
) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
let data = data.as_ref();
if let Ok(decoded) = <PermitTypehashCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::PermitTypehash(decoded));
}
if let Ok(decoded) = <AddLiquidityCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::AddLiquidity(decoded));
}
if let Ok(decoded) = <BatchTransferFromCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::BatchTransferFrom(decoded));
}
if let Ok(decoded) = <CheckpointCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Checkpoint(decoded));
}
if let Ok(decoded) = <CloseLongCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::CloseLong(decoded));
}
if let Ok(decoded) = <CloseShortCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::CloseShort(decoded));
}
if let Ok(decoded) = <CollectGovernanceFeeCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::CollectGovernanceFee(decoded));
}
if let Ok(decoded) = <DomainSeparatorCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::DomainSeparator(decoded));
}
if let Ok(decoded) = <InitializeCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Initialize(decoded));
}
if let Ok(decoded) = <OpenLongCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::OpenLong(decoded));
}
if let Ok(decoded) = <OpenShortCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::OpenShort(decoded));
}
if let Ok(decoded) = <PauseCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Pause(decoded));
}
if let Ok(decoded) = <PermitForAllCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::PermitForAll(decoded));
}
if let Ok(decoded) = <RedeemWithdrawalSharesCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::RedeemWithdrawalShares(decoded));
}
if let Ok(decoded) = <RemoveLiquidityCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::RemoveLiquidity(decoded));
}
if let Ok(decoded) = <SetApprovalCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetApproval(decoded));
}
if let Ok(decoded) = <SetApprovalBridgeCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetApprovalBridge(decoded));
}
if let Ok(decoded) = <SetApprovalForAllCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetApprovalForAll(decoded));
}
if let Ok(decoded) = <SetCheckpointRewarderCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetCheckpointRewarder(decoded));
}
if let Ok(decoded) = <SetFeeCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetFeeCollector(decoded));
}
if let Ok(decoded) = <SetGovernanceCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetGovernance(decoded));
}
if let Ok(decoded) = <SetPauserCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetPauser(decoded));
}
if let Ok(decoded) = <SetSweepCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::SetSweepCollector(decoded));
}
if let Ok(decoded) = <SweepCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Sweep(decoded));
}
if let Ok(decoded) = <Target0Call as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Target0(decoded));
}
if let Ok(decoded) = <Target1Call as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Target1(decoded));
}
if let Ok(decoded) = <Target2Call as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Target2(decoded));
}
if let Ok(decoded) = <Target3Call as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Target3(decoded));
}
if let Ok(decoded) = <Target4Call as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::Target4(decoded));
}
if let Ok(decoded) = <TransferFromCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::TransferFrom(decoded));
}
if let Ok(decoded) = <TransferFromBridgeCall as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::TransferFromBridge(decoded));
}
Err(::ethers::core::abi::Error::InvalidData.into())
}
}
impl ::ethers::core::abi::AbiEncode for ERC4626HyperdriveCalls {
fn encode(self) -> Vec<u8> {
match self {
Self::PermitTypehash(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::AddLiquidity(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::BatchTransferFrom(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::Checkpoint(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::CloseLong(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::CloseShort(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::CollectGovernanceFee(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::DomainSeparator(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::Initialize(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::OpenLong(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::OpenShort(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::Pause(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::PermitForAll(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::RedeemWithdrawalShares(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::RemoveLiquidity(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetApproval(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetApprovalBridge(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetApprovalForAll(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetCheckpointRewarder(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetFeeCollector(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetGovernance(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetPauser(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::SetSweepCollector(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::Sweep(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::Target0(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::Target1(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::Target2(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::Target3(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::Target4(element) => ::ethers::core::abi::AbiEncode::encode(element),
Self::TransferFrom(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::TransferFromBridge(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
}
}
}
impl ::core::fmt::Display for ERC4626HyperdriveCalls {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Self::PermitTypehash(element) => ::core::fmt::Display::fmt(element, f),
Self::AddLiquidity(element) => ::core::fmt::Display::fmt(element, f),
Self::BatchTransferFrom(element) => ::core::fmt::Display::fmt(element, f),
Self::Checkpoint(element) => ::core::fmt::Display::fmt(element, f),
Self::CloseLong(element) => ::core::fmt::Display::fmt(element, f),
Self::CloseShort(element) => ::core::fmt::Display::fmt(element, f),
Self::CollectGovernanceFee(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::DomainSeparator(element) => ::core::fmt::Display::fmt(element, f),
Self::Initialize(element) => ::core::fmt::Display::fmt(element, f),
Self::OpenLong(element) => ::core::fmt::Display::fmt(element, f),
Self::OpenShort(element) => ::core::fmt::Display::fmt(element, f),
Self::Pause(element) => ::core::fmt::Display::fmt(element, f),
Self::PermitForAll(element) => ::core::fmt::Display::fmt(element, f),
Self::RedeemWithdrawalShares(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::RemoveLiquidity(element) => ::core::fmt::Display::fmt(element, f),
Self::SetApproval(element) => ::core::fmt::Display::fmt(element, f),
Self::SetApprovalBridge(element) => ::core::fmt::Display::fmt(element, f),
Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f),
Self::SetCheckpointRewarder(element) => {
::core::fmt::Display::fmt(element, f)
}
Self::SetFeeCollector(element) => ::core::fmt::Display::fmt(element, f),
Self::SetGovernance(element) => ::core::fmt::Display::fmt(element, f),
Self::SetPauser(element) => ::core::fmt::Display::fmt(element, f),
Self::SetSweepCollector(element) => ::core::fmt::Display::fmt(element, f),
Self::Sweep(element) => ::core::fmt::Display::fmt(element, f),
Self::Target0(element) => ::core::fmt::Display::fmt(element, f),
Self::Target1(element) => ::core::fmt::Display::fmt(element, f),
Self::Target2(element) => ::core::fmt::Display::fmt(element, f),
Self::Target3(element) => ::core::fmt::Display::fmt(element, f),
Self::Target4(element) => ::core::fmt::Display::fmt(element, f),
Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f),
Self::TransferFromBridge(element) => {
::core::fmt::Display::fmt(element, f)
}
}
}
}
impl ::core::convert::From<PermitTypehashCall> for ERC4626HyperdriveCalls {
fn from(value: PermitTypehashCall) -> Self {
Self::PermitTypehash(value)
}
}
impl ::core::convert::From<AddLiquidityCall> for ERC4626HyperdriveCalls {
fn from(value: AddLiquidityCall) -> Self {
Self::AddLiquidity(value)
}
}
impl ::core::convert::From<BatchTransferFromCall> for ERC4626HyperdriveCalls {
fn from(value: BatchTransferFromCall) -> Self {
Self::BatchTransferFrom(value)
}
}
impl ::core::convert::From<CheckpointCall> for ERC4626HyperdriveCalls {
fn from(value: CheckpointCall) -> Self {
Self::Checkpoint(value)
}
}
impl ::core::convert::From<CloseLongCall> for ERC4626HyperdriveCalls {
fn from(value: CloseLongCall) -> Self {
Self::CloseLong(value)
}
}
impl ::core::convert::From<CloseShortCall> for ERC4626HyperdriveCalls {
fn from(value: CloseShortCall) -> Self {
Self::CloseShort(value)
}
}
impl ::core::convert::From<CollectGovernanceFeeCall> for ERC4626HyperdriveCalls {
fn from(value: CollectGovernanceFeeCall) -> Self {
Self::CollectGovernanceFee(value)
}
}
impl ::core::convert::From<DomainSeparatorCall> for ERC4626HyperdriveCalls {
fn from(value: DomainSeparatorCall) -> Self {
Self::DomainSeparator(value)
}
}
impl ::core::convert::From<InitializeCall> for ERC4626HyperdriveCalls {
fn from(value: InitializeCall) -> Self {
Self::Initialize(value)
}
}
impl ::core::convert::From<OpenLongCall> for ERC4626HyperdriveCalls {
fn from(value: OpenLongCall) -> Self {
Self::OpenLong(value)
}
}
impl ::core::convert::From<OpenShortCall> for ERC4626HyperdriveCalls {
fn from(value: OpenShortCall) -> Self {
Self::OpenShort(value)
}
}
impl ::core::convert::From<PauseCall> for ERC4626HyperdriveCalls {
fn from(value: PauseCall) -> Self {
Self::Pause(value)
}
}
impl ::core::convert::From<PermitForAllCall> for ERC4626HyperdriveCalls {
fn from(value: PermitForAllCall) -> Self {
Self::PermitForAll(value)
}
}
impl ::core::convert::From<RedeemWithdrawalSharesCall> for ERC4626HyperdriveCalls {
fn from(value: RedeemWithdrawalSharesCall) -> Self {
Self::RedeemWithdrawalShares(value)
}
}
impl ::core::convert::From<RemoveLiquidityCall> for ERC4626HyperdriveCalls {
fn from(value: RemoveLiquidityCall) -> Self {
Self::RemoveLiquidity(value)
}
}
impl ::core::convert::From<SetApprovalCall> for ERC4626HyperdriveCalls {
fn from(value: SetApprovalCall) -> Self {
Self::SetApproval(value)
}
}
impl ::core::convert::From<SetApprovalBridgeCall> for ERC4626HyperdriveCalls {
fn from(value: SetApprovalBridgeCall) -> Self {
Self::SetApprovalBridge(value)
}
}
impl ::core::convert::From<SetApprovalForAllCall> for ERC4626HyperdriveCalls {
fn from(value: SetApprovalForAllCall) -> Self {
Self::SetApprovalForAll(value)
}
}
impl ::core::convert::From<SetCheckpointRewarderCall> for ERC4626HyperdriveCalls {
fn from(value: SetCheckpointRewarderCall) -> Self {
Self::SetCheckpointRewarder(value)
}
}
impl ::core::convert::From<SetFeeCollectorCall> for ERC4626HyperdriveCalls {
fn from(value: SetFeeCollectorCall) -> Self {
Self::SetFeeCollector(value)
}
}
impl ::core::convert::From<SetGovernanceCall> for ERC4626HyperdriveCalls {
fn from(value: SetGovernanceCall) -> Self {
Self::SetGovernance(value)
}
}
impl ::core::convert::From<SetPauserCall> for ERC4626HyperdriveCalls {
fn from(value: SetPauserCall) -> Self {
Self::SetPauser(value)
}
}
impl ::core::convert::From<SetSweepCollectorCall> for ERC4626HyperdriveCalls {
fn from(value: SetSweepCollectorCall) -> Self {
Self::SetSweepCollector(value)
}
}
impl ::core::convert::From<SweepCall> for ERC4626HyperdriveCalls {
fn from(value: SweepCall) -> Self {
Self::Sweep(value)
}
}
impl ::core::convert::From<Target0Call> for ERC4626HyperdriveCalls {
fn from(value: Target0Call) -> Self {
Self::Target0(value)
}
}
impl ::core::convert::From<Target1Call> for ERC4626HyperdriveCalls {
fn from(value: Target1Call) -> Self {
Self::Target1(value)
}
}
impl ::core::convert::From<Target2Call> for ERC4626HyperdriveCalls {
fn from(value: Target2Call) -> Self {
Self::Target2(value)
}
}
impl ::core::convert::From<Target3Call> for ERC4626HyperdriveCalls {
fn from(value: Target3Call) -> Self {
Self::Target3(value)
}
}
impl ::core::convert::From<Target4Call> for ERC4626HyperdriveCalls {
fn from(value: Target4Call) -> Self {
Self::Target4(value)
}
}
impl ::core::convert::From<TransferFromCall> for ERC4626HyperdriveCalls {
fn from(value: TransferFromCall) -> Self {
Self::TransferFrom(value)
}
}
impl ::core::convert::From<TransferFromBridgeCall> for ERC4626HyperdriveCalls {
fn from(value: TransferFromBridgeCall) -> Self {
Self::TransferFromBridge(value)
}
}
///Container type for all return fields from the `PERMIT_TYPEHASH` function with signature `PERMIT_TYPEHASH()` and selector `0x30adf81f`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct PermitTypehashReturn(pub [u8; 32]);
///Container type for all return fields from the `addLiquidity` function with signature `addLiquidity(uint256,uint256,uint256,uint256,(address,bool,bytes))` and selector `0x4c2ac1d9`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct AddLiquidityReturn(pub ::ethers::core::types::U256);
///Container type for all return fields from the `closeLong` function with signature `closeLong(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xded06231`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct CloseLongReturn(pub ::ethers::core::types::U256);
///Container type for all return fields from the `closeShort` function with signature `closeShort(uint256,uint256,uint256,(address,bool,bytes))` and selector `0x29b23fc1`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct CloseShortReturn(pub ::ethers::core::types::U256);
///Container type for all return fields from the `collectGovernanceFee` function with signature `collectGovernanceFee((address,bool,bytes))` and selector `0x3e691db9`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct CollectGovernanceFeeReturn(pub ::ethers::core::types::U256);
///Container type for all return fields from the `domainSeparator` function with signature `domainSeparator()` and selector `0xf698da25`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct DomainSeparatorReturn(pub [u8; 32]);
///Container type for all return fields from the `initialize` function with signature `initialize(uint256,uint256,(address,bool,bytes))` and selector `0x77d05ff4`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct InitializeReturn(pub ::ethers::core::types::U256);
///Container type for all return fields from the `openLong` function with signature `openLong(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xcba2e58d`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct OpenLongReturn(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
);
///Container type for all return fields from the `openShort` function with signature `openShort(uint256,uint256,uint256,(address,bool,bytes))` and selector `0xdbbe8070`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct OpenShortReturn(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
);
///Container type for all return fields from the `redeemWithdrawalShares` function with signature `redeemWithdrawalShares(uint256,uint256,(address,bool,bytes))` and selector `0x074a6de9`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct RedeemWithdrawalSharesReturn(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
);
///Container type for all return fields from the `removeLiquidity` function with signature `removeLiquidity(uint256,uint256,(address,bool,bytes))` and selector `0xcbc13434`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct RemoveLiquidityReturn(
pub ::ethers::core::types::U256,
pub ::ethers::core::types::U256,
);
///Container type for all return fields from the `target0` function with signature `target0()` and selector `0x21b57d53`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Target0Return(pub ::ethers::core::types::Address);
///Container type for all return fields from the `target1` function with signature `target1()` and selector `0xeac3e799`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Target1Return(pub ::ethers::core::types::Address);
///Container type for all return fields from the `target2` function with signature `target2()` and selector `0xa6e8a859`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Target2Return(pub ::ethers::core::types::Address);
///Container type for all return fields from the `target3` function with signature `target3()` and selector `0xd899e112`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Target3Return(pub ::ethers::core::types::Address);
///Container type for all return fields from the `target4` function with signature `target4()` and selector `0xf3f70707`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Target4Return(pub ::ethers::core::types::Address);
///`Fees(uint256,uint256,uint256,uint256)`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Fees {
pub curve: ::ethers::core::types::U256,
pub flat: ::ethers::core::types::U256,
pub governance_lp: ::ethers::core::types::U256,
pub governance_zombie: ::ethers::core::types::U256,
}
///`Options(address,bool,bytes)`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct Options {
pub destination: ::ethers::core::types::Address,
pub as_base: bool,
pub extra_data: ::ethers::core::types::Bytes,
}
///`PoolConfig(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256))`
#[derive(
Clone,
::ethers::contract::EthAbiType,
::ethers::contract::EthAbiCodec,
serde::Serialize,
serde::Deserialize,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
pub struct PoolConfig {
pub base_token: ::ethers::core::types::Address,
pub vault_shares_token: ::ethers::core::types::Address,
pub linker_factory: ::ethers::core::types::Address,
pub linker_code_hash: [u8; 32],
pub initial_vault_share_price: ::ethers::core::types::U256,
pub minimum_share_reserves: ::ethers::core::types::U256,
pub minimum_transaction_amount: ::ethers::core::types::U256,
pub circuit_breaker_delta: ::ethers::core::types::U256,
pub position_duration: ::ethers::core::types::U256,
pub checkpoint_duration: ::ethers::core::types::U256,
pub time_stretch: ::ethers::core::types::U256,
pub governance: ::ethers::core::types::Address,
pub fee_collector: ::ethers::core::types::Address,
pub sweep_collector: ::ethers::core::types::Address,
pub checkpoint_rewarder: ::ethers::core::types::Address,
pub fees: Fees,
}
}