///Module containing a contract's types and functions.
/**
```solidity
library SlashingManager {
struct SlashRecord { uint64 round; uint64 serviceId; uint64 blueprintId; bytes32 assetHash; uint16 slashBps; uint256 totalSlashed; uint256 exchangeRateBefore; uint256 exchangeRateAfter; bytes32 evidence; }
}
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style,
clippy::empty_structs_with_brackets
)]
pub mod SlashingManager {
use super::*;
use alloy::sol_types as alloy_sol_types;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**```solidity
struct SlashRecord { uint64 round; uint64 serviceId; uint64 blueprintId; bytes32 assetHash; uint16 slashBps; uint256 totalSlashed; uint256 exchangeRateBefore; uint256 exchangeRateAfter; bytes32 evidence; }
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct SlashRecord {
#[allow(missing_docs)]
pub round: u64,
#[allow(missing_docs)]
pub serviceId: u64,
#[allow(missing_docs)]
pub blueprintId: u64,
#[allow(missing_docs)]
pub assetHash: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub slashBps: u16,
#[allow(missing_docs)]
pub totalSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateBefore: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateAfter: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub evidence: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Uint<16>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::FixedBytes<32>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
u64,
u64,
u64,
alloy::sol_types::private::FixedBytes<32>,
u16,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::FixedBytes<32>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<SlashRecord> for UnderlyingRustTuple<'_> {
fn from(value: SlashRecord) -> Self {
(
value.round,
value.serviceId,
value.blueprintId,
value.assetHash,
value.slashBps,
value.totalSlashed,
value.exchangeRateBefore,
value.exchangeRateAfter,
value.evidence,
)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for SlashRecord {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
round: tuple.0,
serviceId: tuple.1,
blueprintId: tuple.2,
assetHash: tuple.3,
slashBps: tuple.4,
totalSlashed: tuple.5,
exchangeRateBefore: tuple.6,
exchangeRateAfter: tuple.7,
evidence: tuple.8,
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolValue for SlashRecord {
type SolType = Self;
}
#[automatically_derived]
impl alloy_sol_types::private::SolTypeValue<Self> for SlashRecord {
#[inline]
fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.round),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.serviceId),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.blueprintId),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.assetHash),
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(&self.slashBps),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateBefore),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateAfter),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.evidence),
)
}
#[inline]
fn stv_abi_encoded_size(&self) -> usize {
if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
return size;
}
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
}
#[inline]
fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
<Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
}
#[inline]
fn stv_abi_encode_packed_to(
&self,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
}
#[inline]
fn stv_abi_packed_encoded_size(&self) -> usize {
if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
return size;
}
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
}
}
#[automatically_derived]
impl alloy_sol_types::SolType for SlashRecord {
type RustType = Self;
type Token<'a> = <UnderlyingSolTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::ENCODED_SIZE;
const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
#[inline]
fn valid_token(token: &Self::Token<'_>) -> bool {
<UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
}
#[inline]
fn detokenize(token: Self::Token<'_>) -> Self::RustType {
let tuple = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::detokenize(token);
<Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
}
}
#[automatically_derived]
impl alloy_sol_types::SolStruct for SlashRecord {
const NAME: &'static str = "SlashRecord";
#[inline]
fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
alloy_sol_types::private::Cow::Borrowed(
"SlashRecord(uint64 round,uint64 serviceId,uint64 blueprintId,bytes32 assetHash,uint16 slashBps,uint256 totalSlashed,uint256 exchangeRateBefore,uint256 exchangeRateAfter,bytes32 evidence)",
)
}
#[inline]
fn eip712_components() -> alloy_sol_types::private::Vec<
alloy_sol_types::private::Cow<'static, str>,
> {
alloy_sol_types::private::Vec::new()
}
#[inline]
fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
<Self as alloy_sol_types::SolStruct>::eip712_root_type()
}
#[inline]
fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
[
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::eip712_data_word(&self.round)
.0,
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::eip712_data_word(&self.serviceId)
.0,
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::eip712_data_word(&self.blueprintId)
.0,
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::eip712_data_word(&self.assetHash)
.0,
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::eip712_data_word(&self.slashBps)
.0,
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::eip712_data_word(&self.totalSlashed)
.0,
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::eip712_data_word(
&self.exchangeRateBefore,
)
.0,
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::eip712_data_word(
&self.exchangeRateAfter,
)
.0,
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::eip712_data_word(&self.evidence)
.0,
]
.concat()
}
}
#[automatically_derived]
impl alloy_sol_types::EventTopic for SlashRecord {
#[inline]
fn topic_preimage_length(rust: &Self::RustType) -> usize {
0usize
+ <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.round)
+ <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.serviceId,
)
+ <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.blueprintId,
)
+ <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.assetHash,
)
+ <alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.slashBps,
)
+ <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.totalSlashed,
)
+ <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.exchangeRateBefore,
)
+ <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.exchangeRateAfter,
)
+ <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.evidence,
)
}
#[inline]
fn encode_topic_preimage(
rust: &Self::RustType,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
out.reserve(
<Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
);
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.round,
out,
);
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.serviceId,
out,
);
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.blueprintId,
out,
);
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.assetHash,
out,
);
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.slashBps,
out,
);
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.totalSlashed,
out,
);
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.exchangeRateBefore,
out,
);
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.exchangeRateAfter,
out,
);
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.evidence,
out,
);
}
#[inline]
fn encode_topic(
rust: &Self::RustType,
) -> alloy_sol_types::abi::token::WordToken {
let mut out = alloy_sol_types::private::Vec::new();
<Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
rust,
&mut out,
);
alloy_sol_types::abi::token::WordToken(
alloy_sol_types::private::keccak256(out),
)
}
}
};
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`SlashingManager`](self) contract instance.
See the [wrapper's documentation](`SlashingManagerInstance`) for more details.*/
#[inline]
pub const fn new<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
>(
address: alloy_sol_types::private::Address,
__provider: P,
) -> SlashingManagerInstance<P, N> {
SlashingManagerInstance::<P, N>::new(address, __provider)
}
/**A [`SlashingManager`](self) instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`SlashingManager`](self) contract located at a given `address`, using a given
provider `P`.
If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
documentation on how to provide it), the `deploy` and `deploy_builder` methods can
be used to deploy a new instance of the contract.
See the [module-level documentation](self) for all the available methods.*/
#[derive(Clone)]
pub struct SlashingManagerInstance<P, N = alloy_contract::private::Ethereum> {
address: alloy_sol_types::private::Address,
provider: P,
_network: ::core::marker::PhantomData<N>,
}
#[automatically_derived]
impl<P, N> ::core::fmt::Debug for SlashingManagerInstance<P, N> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("SlashingManagerInstance").field(&self.address).finish()
}
}
/// Instantiation and getters/setters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> SlashingManagerInstance<P, N> {
/**Creates a new wrapper around an on-chain [`SlashingManager`](self) contract instance.
See the [wrapper's documentation](`SlashingManagerInstance`) for more details.*/
#[inline]
pub const fn new(
address: alloy_sol_types::private::Address,
__provider: P,
) -> Self {
Self {
address,
provider: __provider,
_network: ::core::marker::PhantomData,
}
}
/// Returns a reference to the address.
#[inline]
pub const fn address(&self) -> &alloy_sol_types::private::Address {
&self.address
}
/// Sets the address.
#[inline]
pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
self.address = address;
}
/// Sets the address and returns `self`.
pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
self.set_address(address);
self
}
/// Returns a reference to the provider.
#[inline]
pub const fn provider(&self) -> &P {
&self.provider
}
}
impl<P: ::core::clone::Clone, N> SlashingManagerInstance<&P, N> {
/// Clones the provider and returns a new instance with the cloned provider.
#[inline]
pub fn with_cloned_provider(self) -> SlashingManagerInstance<P, N> {
SlashingManagerInstance {
address: self.address,
provider: ::core::clone::Clone::clone(&self.provider),
_network: ::core::marker::PhantomData,
}
}
}
/// Function calls.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> SlashingManagerInstance<P, N> {
/// Creates a new call builder using this contract instance's provider and address.
///
/// Note that the call can be any function call, not just those defined in this
/// contract. Prefer using the other methods for building type-safe contract calls.
pub fn call_builder<C: alloy_sol_types::SolCall>(
&self,
call: &C,
) -> alloy_contract::SolCallBuilder<&P, C, N> {
alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
}
}
/// Event filters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> SlashingManagerInstance<P, N> {
/// Creates a new event filter using this contract instance's provider and address.
///
/// Note that the type can be any event, not just those defined in this contract.
/// Prefer using the other methods for building type-safe event filters.
pub fn event_filter<E: alloy_sol_types::SolEvent>(
&self,
) -> alloy_contract::Event<&P, E, N> {
alloy_contract::Event::new_sol(&self.provider, &self.address)
}
}
}
///Module containing a contract's types and functions.
/**
```solidity
library Types {
type BlueprintSelectionMode is uint8;
type DelegationMode is uint8;
type LockMultiplier is uint8;
struct OperatorSnapshot { uint256 stake; uint256 totalDelegated; }
}
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style,
clippy::empty_structs_with_brackets
)]
pub mod Types {
use super::*;
use alloy::sol_types as alloy_sol_types;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct BlueprintSelectionMode(u8);
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::private::SolTypeValue<BlueprintSelectionMode> for u8 {
#[inline]
fn stv_to_tokens(
&self,
) -> <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'_> {
alloy_sol_types::private::SolTypeValue::<
alloy::sol_types::sol_data::Uint<8>,
>::stv_to_tokens(self)
}
#[inline]
fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::tokenize(self)
.0
}
#[inline]
fn stv_abi_encode_packed_to(
&self,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
}
#[inline]
fn stv_abi_packed_encoded_size(&self) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encoded_size(self)
}
}
impl BlueprintSelectionMode {
/// The Solidity type name.
pub const NAME: &'static str = stringify!(@ name);
/// Convert from the underlying value type.
#[inline]
pub const fn from_underlying(value: u8) -> Self {
Self(value)
}
/// Return the underlying value.
#[inline]
pub const fn into_underlying(self) -> u8 {
self.0
}
/// Return the single encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode(&self.0)
}
/// Return the packed encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
}
}
#[automatically_derived]
impl From<u8> for BlueprintSelectionMode {
fn from(value: u8) -> Self {
Self::from_underlying(value)
}
}
#[automatically_derived]
impl From<BlueprintSelectionMode> for u8 {
fn from(value: BlueprintSelectionMode) -> Self {
value.into_underlying()
}
}
#[automatically_derived]
impl alloy_sol_types::SolType for BlueprintSelectionMode {
type RustType = u8;
type Token<'a> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'a>;
const SOL_NAME: &'static str = Self::NAME;
const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::ENCODED_SIZE;
const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
#[inline]
fn valid_token(token: &Self::Token<'_>) -> bool {
Self::type_check(token).is_ok()
}
#[inline]
fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::type_check(token)
}
#[inline]
fn detokenize(token: Self::Token<'_>) -> Self::RustType {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::detokenize(token)
}
}
#[automatically_derived]
impl alloy_sol_types::EventTopic for BlueprintSelectionMode {
#[inline]
fn topic_preimage_length(rust: &Self::RustType) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
}
#[inline]
fn encode_topic_preimage(
rust: &Self::RustType,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
}
#[inline]
fn encode_topic(
rust: &Self::RustType,
) -> alloy_sol_types::abi::token::WordToken {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic(rust)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct DelegationMode(u8);
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::private::SolTypeValue<DelegationMode> for u8 {
#[inline]
fn stv_to_tokens(
&self,
) -> <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'_> {
alloy_sol_types::private::SolTypeValue::<
alloy::sol_types::sol_data::Uint<8>,
>::stv_to_tokens(self)
}
#[inline]
fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::tokenize(self)
.0
}
#[inline]
fn stv_abi_encode_packed_to(
&self,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
}
#[inline]
fn stv_abi_packed_encoded_size(&self) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encoded_size(self)
}
}
impl DelegationMode {
/// The Solidity type name.
pub const NAME: &'static str = stringify!(@ name);
/// Convert from the underlying value type.
#[inline]
pub const fn from_underlying(value: u8) -> Self {
Self(value)
}
/// Return the underlying value.
#[inline]
pub const fn into_underlying(self) -> u8 {
self.0
}
/// Return the single encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode(&self.0)
}
/// Return the packed encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
}
}
#[automatically_derived]
impl From<u8> for DelegationMode {
fn from(value: u8) -> Self {
Self::from_underlying(value)
}
}
#[automatically_derived]
impl From<DelegationMode> for u8 {
fn from(value: DelegationMode) -> Self {
value.into_underlying()
}
}
#[automatically_derived]
impl alloy_sol_types::SolType for DelegationMode {
type RustType = u8;
type Token<'a> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'a>;
const SOL_NAME: &'static str = Self::NAME;
const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::ENCODED_SIZE;
const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
#[inline]
fn valid_token(token: &Self::Token<'_>) -> bool {
Self::type_check(token).is_ok()
}
#[inline]
fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::type_check(token)
}
#[inline]
fn detokenize(token: Self::Token<'_>) -> Self::RustType {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::detokenize(token)
}
}
#[automatically_derived]
impl alloy_sol_types::EventTopic for DelegationMode {
#[inline]
fn topic_preimage_length(rust: &Self::RustType) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
}
#[inline]
fn encode_topic_preimage(
rust: &Self::RustType,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
}
#[inline]
fn encode_topic(
rust: &Self::RustType,
) -> alloy_sol_types::abi::token::WordToken {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic(rust)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LockMultiplier(u8);
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::private::SolTypeValue<LockMultiplier> for u8 {
#[inline]
fn stv_to_tokens(
&self,
) -> <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'_> {
alloy_sol_types::private::SolTypeValue::<
alloy::sol_types::sol_data::Uint<8>,
>::stv_to_tokens(self)
}
#[inline]
fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::tokenize(self)
.0
}
#[inline]
fn stv_abi_encode_packed_to(
&self,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
}
#[inline]
fn stv_abi_packed_encoded_size(&self) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::abi_encoded_size(self)
}
}
impl LockMultiplier {
/// The Solidity type name.
pub const NAME: &'static str = stringify!(@ name);
/// Convert from the underlying value type.
#[inline]
pub const fn from_underlying(value: u8) -> Self {
Self(value)
}
/// Return the underlying value.
#[inline]
pub const fn into_underlying(self) -> u8 {
self.0
}
/// Return the single encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode(&self.0)
}
/// Return the packed encoding of this value, delegating to the
/// underlying type.
#[inline]
pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
<Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
}
}
#[automatically_derived]
impl From<u8> for LockMultiplier {
fn from(value: u8) -> Self {
Self::from_underlying(value)
}
}
#[automatically_derived]
impl From<LockMultiplier> for u8 {
fn from(value: LockMultiplier) -> Self {
value.into_underlying()
}
}
#[automatically_derived]
impl alloy_sol_types::SolType for LockMultiplier {
type RustType = u8;
type Token<'a> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::Token<'a>;
const SOL_NAME: &'static str = Self::NAME;
const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::ENCODED_SIZE;
const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
#[inline]
fn valid_token(token: &Self::Token<'_>) -> bool {
Self::type_check(token).is_ok()
}
#[inline]
fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::type_check(token)
}
#[inline]
fn detokenize(token: Self::Token<'_>) -> Self::RustType {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::SolType>::detokenize(token)
}
}
#[automatically_derived]
impl alloy_sol_types::EventTopic for LockMultiplier {
#[inline]
fn topic_preimage_length(rust: &Self::RustType) -> usize {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
}
#[inline]
fn encode_topic_preimage(
rust: &Self::RustType,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
}
#[inline]
fn encode_topic(
rust: &Self::RustType,
) -> alloy_sol_types::abi::token::WordToken {
<alloy::sol_types::sol_data::Uint<
8,
> as alloy_sol_types::EventTopic>::encode_topic(rust)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**```solidity
struct OperatorSnapshot { uint256 stake; uint256 totalDelegated; }
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct OperatorSnapshot {
#[allow(missing_docs)]
pub stake: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub totalDelegated: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<OperatorSnapshot> for UnderlyingRustTuple<'_> {
fn from(value: OperatorSnapshot) -> Self {
(value.stake, value.totalDelegated)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for OperatorSnapshot {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
stake: tuple.0,
totalDelegated: tuple.1,
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolValue for OperatorSnapshot {
type SolType = Self;
}
#[automatically_derived]
impl alloy_sol_types::private::SolTypeValue<Self> for OperatorSnapshot {
#[inline]
fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.stake),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalDelegated),
)
}
#[inline]
fn stv_abi_encoded_size(&self) -> usize {
if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
return size;
}
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
}
#[inline]
fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
<Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
}
#[inline]
fn stv_abi_encode_packed_to(
&self,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
}
#[inline]
fn stv_abi_packed_encoded_size(&self) -> usize {
if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
return size;
}
let tuple = <UnderlyingRustTuple<
'_,
> as ::core::convert::From<Self>>::from(self.clone());
<UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
}
}
#[automatically_derived]
impl alloy_sol_types::SolType for OperatorSnapshot {
type RustType = Self;
type Token<'a> = <UnderlyingSolTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::ENCODED_SIZE;
const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
#[inline]
fn valid_token(token: &Self::Token<'_>) -> bool {
<UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
}
#[inline]
fn detokenize(token: Self::Token<'_>) -> Self::RustType {
let tuple = <UnderlyingSolTuple<
'_,
> as alloy_sol_types::SolType>::detokenize(token);
<Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
}
}
#[automatically_derived]
impl alloy_sol_types::SolStruct for OperatorSnapshot {
const NAME: &'static str = "OperatorSnapshot";
#[inline]
fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
alloy_sol_types::private::Cow::Borrowed(
"OperatorSnapshot(uint256 stake,uint256 totalDelegated)",
)
}
#[inline]
fn eip712_components() -> alloy_sol_types::private::Vec<
alloy_sol_types::private::Cow<'static, str>,
> {
alloy_sol_types::private::Vec::new()
}
#[inline]
fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
<Self as alloy_sol_types::SolStruct>::eip712_root_type()
}
#[inline]
fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
[
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::eip712_data_word(&self.stake)
.0,
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::eip712_data_word(
&self.totalDelegated,
)
.0,
]
.concat()
}
}
#[automatically_derived]
impl alloy_sol_types::EventTopic for OperatorSnapshot {
#[inline]
fn topic_preimage_length(rust: &Self::RustType) -> usize {
0usize
+ <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.stake)
+ <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::topic_preimage_length(
&rust.totalDelegated,
)
}
#[inline]
fn encode_topic_preimage(
rust: &Self::RustType,
out: &mut alloy_sol_types::private::Vec<u8>,
) {
out.reserve(
<Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
);
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.stake,
out,
);
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic_preimage(
&rust.totalDelegated,
out,
);
}
#[inline]
fn encode_topic(
rust: &Self::RustType,
) -> alloy_sol_types::abi::token::WordToken {
let mut out = alloy_sol_types::private::Vec::new();
<Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
rust,
&mut out,
);
alloy_sol_types::abi::token::WordToken(
alloy_sol_types::private::keccak256(out),
)
}
}
};
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`Types`](self) contract instance.
See the [wrapper's documentation](`TypesInstance`) for more details.*/
#[inline]
pub const fn new<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
>(address: alloy_sol_types::private::Address, __provider: P) -> TypesInstance<P, N> {
TypesInstance::<P, N>::new(address, __provider)
}
/**A [`Types`](self) instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`Types`](self) contract located at a given `address`, using a given
provider `P`.
If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
documentation on how to provide it), the `deploy` and `deploy_builder` methods can
be used to deploy a new instance of the contract.
See the [module-level documentation](self) for all the available methods.*/
#[derive(Clone)]
pub struct TypesInstance<P, N = alloy_contract::private::Ethereum> {
address: alloy_sol_types::private::Address,
provider: P,
_network: ::core::marker::PhantomData<N>,
}
#[automatically_derived]
impl<P, N> ::core::fmt::Debug for TypesInstance<P, N> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("TypesInstance").field(&self.address).finish()
}
}
/// Instantiation and getters/setters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> TypesInstance<P, N> {
/**Creates a new wrapper around an on-chain [`Types`](self) contract instance.
See the [wrapper's documentation](`TypesInstance`) for more details.*/
#[inline]
pub const fn new(
address: alloy_sol_types::private::Address,
__provider: P,
) -> Self {
Self {
address,
provider: __provider,
_network: ::core::marker::PhantomData,
}
}
/// Returns a reference to the address.
#[inline]
pub const fn address(&self) -> &alloy_sol_types::private::Address {
&self.address
}
/// Sets the address.
#[inline]
pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
self.address = address;
}
/// Sets the address and returns `self`.
pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
self.set_address(address);
self
}
/// Returns a reference to the provider.
#[inline]
pub const fn provider(&self) -> &P {
&self.provider
}
}
impl<P: ::core::clone::Clone, N> TypesInstance<&P, N> {
/// Clones the provider and returns a new instance with the cloned provider.
#[inline]
pub fn with_cloned_provider(self) -> TypesInstance<P, N> {
TypesInstance {
address: self.address,
provider: ::core::clone::Clone::clone(&self.provider),
_network: ::core::marker::PhantomData,
}
}
}
/// Function calls.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> TypesInstance<P, N> {
/// Creates a new call builder using this contract instance's provider and address.
///
/// Note that the call can be any function call, not just those defined in this
/// contract. Prefer using the other methods for building type-safe contract calls.
pub fn call_builder<C: alloy_sol_types::SolCall>(
&self,
call: &C,
) -> alloy_contract::SolCallBuilder<&P, C, N> {
alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
}
}
/// Event filters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> TypesInstance<P, N> {
/// Creates a new event filter using this contract instance's provider and address.
///
/// Note that the type can be any event, not just those defined in this contract.
/// Prefer using the other methods for building type-safe event filters.
pub fn event_filter<E: alloy_sol_types::SolEvent>(
&self,
) -> alloy_contract::Event<&P, E, N> {
alloy_contract::Event::new_sol(&self.provider, &self.address)
}
}
}
/**
Generated by the following Solidity interface...
```solidity
library SlashingManager {
struct SlashRecord {
uint64 round;
uint64 serviceId;
uint64 blueprintId;
bytes32 assetHash;
uint16 slashBps;
uint256 totalSlashed;
uint256 exchangeRateBefore;
uint256 exchangeRateAfter;
bytes32 evidence;
}
}
library Types {
type BlueprintSelectionMode is uint8;
type DelegationMode is uint8;
type LockMultiplier is uint8;
struct OperatorSnapshot {
uint256 stake;
uint256 totalDelegated;
}
}
interface MultiAssetDelegation {
error AccessControlBadConfirmation();
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
error AddressEmptyCode(address target);
error ERC1967InvalidImplementation(address implementation);
error ERC1967NonPayable();
error EnforcedPause();
error ExpectedPause();
error FailedCall();
error InvalidInitialization();
error NotAContract(address account);
error NotInitializing();
error ReentrancyGuardReentrantCall();
error SelectorAlreadyRegistered(bytes4 selector, address existingFacet);
error UUPSUnauthorizedCallContext();
error UUPSUnsupportedProxiableUUID(bytes32 slot);
error UnknownSelector(bytes4 selector);
error ZeroAddress();
event BlueprintAddedToDelegation(address indexed delegator, uint256 indexed delegationIndex, uint64 blueprintId);
event BlueprintRemovedFromDelegation(address indexed delegator, uint256 indexed delegationIndex, uint64 blueprintId);
event Delegated(address indexed delegator, address indexed operator, address indexed token, uint256 amount, uint256 shares, Types.BlueprintSelectionMode selectionMode);
event DelegatorUnstakeExecuted(address indexed delegator, address indexed operator, address indexed token, uint256 shares, uint256 amount);
event DelegatorUnstakeScheduled(address indexed delegator, address indexed operator, address indexed token, uint256 shares, uint256 estimatedAmount, uint64 readyRound);
event Deposited(address indexed delegator, address indexed token, uint256 amount, Types.LockMultiplier lock);
event DustAccumulated(address indexed token, uint256 amount, uint256 totalDust);
event DustSwept(address indexed token, address indexed recipient, uint256 amount);
event ExpiredLocksHarvested(address indexed delegator, address indexed token, uint256 count, uint256 totalAmount);
event FacetRegistered(address indexed facet);
event FacetSelectorCleared(bytes4 indexed selector);
event FacetSelectorSet(bytes4 indexed selector, address indexed facet);
event Initialized(uint64 version);
event OperatorBlueprintAdded(address indexed operator, uint64 indexed blueprintId);
event OperatorBlueprintRemoved(address indexed operator, uint64 indexed blueprintId);
event OperatorDelegationModeSet(address indexed operator, Types.DelegationMode mode);
event OperatorLeavingScheduled(address indexed operator, uint64 readyRound);
event OperatorLeft(address indexed operator);
event OperatorRegistered(address indexed operator, uint256 stake);
event OperatorStakeIncreased(address indexed operator, uint256 amount);
event OperatorUnstakeExecuted(address indexed operator, uint256 amount);
event OperatorUnstakeScheduled(address indexed operator, uint256 amount, uint64 readyRound);
event OperatorWhitelistUpdated(address indexed operator, address indexed delegator, bool approved);
event Paused(address account);
event PendingSlashCountReset(address indexed operator, uint64 newCount);
event PendingSlashDecremented(address indexed operator, uint64 newCount);
event PendingSlashIncremented(address indexed operator, uint64 newCount);
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);
event SlashRecorded(address indexed operator, uint64 indexed slashId, bytes32 assetHash, uint16 slashBps, uint256 totalSlashed, uint256 exchangeRateBefore, uint256 exchangeRateAfter);
event Slashed(address indexed operator, uint64 indexed serviceId, uint64 indexed blueprintId, bytes32 assetHash, uint16 slashBps, uint256 operatorSlashed, uint256 delegatorsSlashed, uint256 exchangeRateAfter);
event SlashedForService(address indexed operator, uint64 indexed serviceId, uint64 indexed blueprintId, uint256 totalSlashed, uint256 commitmentCount);
event Unpaused(address account);
event Upgraded(address indexed implementation);
event WithdrawScheduled(address indexed delegator, address indexed token, uint256 amount, uint64 readyRound);
event Withdrawn(address indexed delegator, address indexed token, uint256 amount);
constructor();
fallback() external payable;
receive() external payable;
function ADMIN_ROLE() external view returns (bytes32);
function ASSET_MANAGER_ROLE() external view returns (bytes32);
function BPS_DENOMINATOR() external view returns (uint256);
function COMMISSION_CHANGE_DELAY() external view returns (uint64);
function DEFAULT_ADMIN_ROLE() external view returns (bytes32);
function LOCK_ONE_MONTH() external view returns (uint64);
function LOCK_SIX_MONTHS() external view returns (uint64);
function LOCK_THREE_MONTHS() external view returns (uint64);
function LOCK_TWO_MONTHS() external view returns (uint64);
function MIN_LOCK_AMOUNT() external view returns (uint256);
function MULTIPLIER_NONE() external view returns (uint16);
function MULTIPLIER_ONE_MONTH() external view returns (uint16);
function MULTIPLIER_SIX_MONTHS() external view returns (uint16);
function MULTIPLIER_THREE_MONTHS() external view returns (uint16);
function MULTIPLIER_TWO_MONTHS() external view returns (uint16);
function PRECISION() external view returns (uint256);
function SLASHER_ROLE() external view returns (bytes32);
function TANGLE_ROLE() external view returns (bytes32);
function UPGRADE_INTERFACE_VERSION() external view returns (string memory);
function VIRTUAL_ASSETS() external view returns (uint256);
function VIRTUAL_SHARES() external view returns (uint256);
function blueprintSlashCount(uint64, address) external view returns (uint64);
function clearFacetSelectors(bytes4[] memory selectors) external;
function currentRound() external view returns (uint64);
function delegationBondLessDelay() external view returns (uint64);
function facetForSelector(bytes4 selector) external view returns (address);
function getAccumulatedDust(address token) external view returns (uint256);
function getAssetAdapter(address token) external view returns (address);
function getOperatorSlashFactor(address operator, bytes32 assetHash) external view returns (uint256);
function getPendingSlashCount(address operator) external view returns (uint64);
function getRoleAdmin(bytes32 role) external view returns (bytes32);
function getSlashCount(address operator) external view returns (uint64);
function getSlashCountForBlueprint(uint64 blueprintId, address operator) external view returns (uint64);
function getSlashCountForService(uint64 serviceId, address operator) external view returns (uint64);
function getSlashImpact(address operator, uint64 slashId, address delegator) external view returns (uint256 lostAmount);
function getSlashRecord(address operator, uint64 slashId) external view returns (SlashingManager.SlashRecord memory);
function getSnapshot(uint64 round, address operator) external view returns (Types.OperatorSnapshot memory);
function grantRole(bytes32 role, address account) external;
function hasRole(bytes32 role, address account) external view returns (bool);
function initialize(address admin, uint256 nativeMinOperatorStake, uint256 nativeMinDelegation, uint16 _operatorCommissionBps) external;
function lastRoundAdvance() external view returns (uint64);
function leaveDelegatorsDelay() external view returns (uint64);
function leaveOperatorsDelay() external view returns (uint64);
function nativeEnabled() external view returns (bool);
function nextSlashId(address) external view returns (uint64);
function operatorCommissionBps() external view returns (uint16);
function paused() external view returns (bool);
function proxiableUUID() external view returns (bytes32);
function registerFacet(address facet) external;
function registerFacetSelectors(address facet, bytes4[] memory selectors) external;
function renounceRole(bytes32 role, address callerConfirmation) external;
function requireAdapters() external view returns (bool);
function resetPendingSlashCount(address operator, uint64 count) external;
function revokeRole(bytes32 role, address account) external;
function roundDuration() external view returns (uint64);
function serviceSlashCount(uint64, address) external view returns (uint64);
function slashHistory(address, uint64) external view returns (uint64 round, uint64 serviceId, uint64 blueprintId, bytes32 assetHash, uint16 slashBps, uint256 totalSlashed, uint256 exchangeRateBefore, uint256 exchangeRateAfter, bytes32 evidence);
function supportsInterface(bytes4 interfaceId) external view returns (bool);
function upgradeToAndCall(address newImplementation, bytes memory data) external payable;
}
```
...which was generated by the following JSON ABI:
```json
[
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"type": "fallback",
"stateMutability": "payable"
},
{
"type": "receive",
"stateMutability": "payable"
},
{
"type": "function",
"name": "ADMIN_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ASSET_MANAGER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "BPS_DENOMINATOR",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "COMMISSION_CHANGE_DELAY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "DEFAULT_ADMIN_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "LOCK_ONE_MONTH",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "LOCK_SIX_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "LOCK_THREE_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "LOCK_TWO_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_LOCK_AMOUNT",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MULTIPLIER_NONE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MULTIPLIER_ONE_MONTH",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MULTIPLIER_SIX_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MULTIPLIER_THREE_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MULTIPLIER_TWO_MONTHS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "PRECISION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "SLASHER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "TANGLE_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "UPGRADE_INTERFACE_VERSION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "VIRTUAL_ASSETS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "VIRTUAL_SHARES",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "blueprintSlashCount",
"inputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "clearFacetSelectors",
"inputs": [
{
"name": "selectors",
"type": "bytes4[]",
"internalType": "bytes4[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "currentRound",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "delegationBondLessDelay",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "facetForSelector",
"inputs": [
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAccumulatedDust",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAssetAdapter",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getOperatorSlashFactor",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "assetHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPendingSlashCount",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getRoleAdmin",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSlashCount",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSlashCountForBlueprint",
"inputs": [
{
"name": "blueprintId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSlashCountForService",
"inputs": [
{
"name": "serviceId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSlashImpact",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "slashId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "delegator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "lostAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSlashRecord",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "slashId",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct SlashingManager.SlashRecord",
"components": [
{
"name": "round",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "serviceId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "blueprintId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "assetHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "slashBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "totalSlashed",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "exchangeRateBefore",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "exchangeRateAfter",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "evidence",
"type": "bytes32",
"internalType": "bytes32"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSnapshot",
"inputs": [
{
"name": "round",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct Types.OperatorSnapshot",
"components": [
{
"name": "stake",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "totalDelegated",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "grantRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "hasRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "initialize",
"inputs": [
{
"name": "admin",
"type": "address",
"internalType": "address"
},
{
"name": "nativeMinOperatorStake",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "nativeMinDelegation",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_operatorCommissionBps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "lastRoundAdvance",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "leaveDelegatorsDelay",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "leaveOperatorsDelay",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "nativeEnabled",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "nextSlashId",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "operatorCommissionBps",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "paused",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "proxiableUUID",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "registerFacet",
"inputs": [
{
"name": "facet",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "registerFacetSelectors",
"inputs": [
{
"name": "facet",
"type": "address",
"internalType": "address"
},
{
"name": "selectors",
"type": "bytes4[]",
"internalType": "bytes4[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "renounceRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "requireAdapters",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "resetPendingSlashCount",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "count",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "revokeRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "roundDuration",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "serviceSlashCount",
"inputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "slashHistory",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [
{
"name": "round",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "serviceId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "blueprintId",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "assetHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "slashBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "totalSlashed",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "exchangeRateBefore",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "exchangeRateAfter",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "evidence",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "supportsInterface",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "upgradeToAndCall",
"inputs": [
{
"name": "newImplementation",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "event",
"name": "BlueprintAddedToDelegation",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "delegationIndex",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BlueprintRemovedFromDelegation",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "delegationIndex",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Delegated",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "shares",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "selectionMode",
"type": "uint8",
"indexed": false,
"internalType": "enum Types.BlueprintSelectionMode"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DelegatorUnstakeExecuted",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "shares",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DelegatorUnstakeScheduled",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "shares",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "estimatedAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "readyRound",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Deposited",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "lock",
"type": "uint8",
"indexed": false,
"internalType": "enum Types.LockMultiplier"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DustAccumulated",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalDust",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DustSwept",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ExpiredLocksHarvested",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "count",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "totalAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FacetRegistered",
"inputs": [
{
"name": "facet",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FacetSelectorCleared",
"inputs": [
{
"name": "selector",
"type": "bytes4",
"indexed": true,
"internalType": "bytes4"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FacetSelectorSet",
"inputs": [
{
"name": "selector",
"type": "bytes4",
"indexed": true,
"internalType": "bytes4"
},
{
"name": "facet",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialized",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorBlueprintAdded",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorBlueprintRemoved",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorDelegationModeSet",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "mode",
"type": "uint8",
"indexed": false,
"internalType": "enum Types.DelegationMode"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorLeavingScheduled",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "readyRound",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorLeft",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorRegistered",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stake",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorStakeIncreased",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorUnstakeExecuted",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorUnstakeScheduled",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "readyRound",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OperatorWhitelistUpdated",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Paused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PendingSlashCountReset",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newCount",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PendingSlashDecremented",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newCount",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PendingSlashIncremented",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newCount",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleAdminChanged",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "previousAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleGranted",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleRevoked",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "SlashRecorded",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "slashId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "assetHash",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
},
{
"name": "slashBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "totalSlashed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "exchangeRateBefore",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "exchangeRateAfter",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Slashed",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "serviceId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "assetHash",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
},
{
"name": "slashBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "operatorSlashed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "delegatorsSlashed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "exchangeRateAfter",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "SlashedForService",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "serviceId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "blueprintId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "totalSlashed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "commitmentCount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Unpaused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Upgraded",
"inputs": [
{
"name": "implementation",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "WithdrawScheduled",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "readyRound",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Withdrawn",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AccessControlBadConfirmation",
"inputs": []
},
{
"type": "error",
"name": "AccessControlUnauthorizedAccount",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "AddressEmptyCode",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "ERC1967InvalidImplementation",
"inputs": [
{
"name": "implementation",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "ERC1967NonPayable",
"inputs": []
},
{
"type": "error",
"name": "EnforcedPause",
"inputs": []
},
{
"type": "error",
"name": "ExpectedPause",
"inputs": []
},
{
"type": "error",
"name": "FailedCall",
"inputs": []
},
{
"type": "error",
"name": "InvalidInitialization",
"inputs": []
},
{
"type": "error",
"name": "NotAContract",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "NotInitializing",
"inputs": []
},
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
},
{
"type": "error",
"name": "SelectorAlreadyRegistered",
"inputs": [
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "existingFacet",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "UUPSUnauthorizedCallContext",
"inputs": []
},
{
"type": "error",
"name": "UUPSUnsupportedProxiableUUID",
"inputs": [
{
"name": "slot",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "UnknownSelector",
"inputs": [
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
]
},
{
"type": "error",
"name": "ZeroAddress",
"inputs": []
}
]
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style,
clippy::empty_structs_with_brackets
)]
pub mod MultiAssetDelegation {
use super::*;
use alloy::sol_types as alloy_sol_types;
/// The creation / init bytecode of the contract.
///
/// ```text
///0x60a06040523461003e5761001161004d565b610019610043565b61447c61030782396080518181816138a70152818161390c0152613abb015261447c90f35b610049565b60405190565b5f80fd5b61005561005f565b61005d61022a565b565b610067610069565b565b610071610073565b565b61007b61007d565b565b610085610087565b565b61008f610091565b565b61009961009b565b565b6100a36100a5565b565b6100ad6100af565b565b6100b76100b9565b565b6100c16100c3565b565b6100cb6100cd565b565b6100d56100d7565b565b6100df6100e1565b565b6100e961012d565b565b60018060a01b031690565b90565b61010d610108610112926100eb565b6100f6565b6100eb565b90565b61011e906100f9565b90565b61012a90610115565b90565b61013630610121565b608052565b60401c90565b60ff1690565b6101536101589161013b565b610141565b90565b6101659054610147565b90565b5f0190565b5f1c90565b60018060401b031690565b61018961018e9161016d565b610172565b90565b61019b905461017d565b90565b60018060401b031690565b5f1b90565b906101bf60018060401b03916101a9565b9181191691161790565b6101dd6101d86101e29261019e565b6100f6565b61019e565b90565b90565b906101fd6101f8610204926101c9565b6101e5565b82546101ae565b9055565b6102119061019e565b9052565b9190610228905f60208501940190610208565b565b6102326102e2565b61023d5f820161015b565b6102c65761024c5f8201610191565b61026461025e60018060401b0361019e565b9161019e565b0361026d575b50565b610280905f60018060401b0391016101e8565b60018060401b036102bd7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2916102b4610043565b91829182610215565b0390a15f61026a565b5f63f92ee8a960e01b8152806102de60048201610168565b0390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009056fe60806040526004361015610015575b366134f557005b61001f5f356103ce565b806301ffc9a7146103c957806305d64e38146103c45780630aa8b110146103bf57806312d91c88146103ba57806318056dc2146103b557806319e82e61146103b0578063248a9ca3146103ab5780632f2ff15d146103a657806332273f61146103a157806336568abe1461039c578063453eccea1461039757806346d163aa14610392578063491474111461038d5780634962f88f146103885780634de8addc146103835780634e9c929a1461037e5780634f1ef286146103795780635095af641461037457806352d1902d1461036f57806354de23201461036a5780635c975abb14610365578063602356e31461036057806366c368751461035b57806372b5032d1461035657806375b238fc1461035157806377ab2cf31461034c5780637df92ada1461034757806388c47f68146103425780638a19c8bc1461033d5780638a7fe60f1461033857806390837ff41461033357806391d148541461032e5780639480e4dd146103295780639494f42614610324578063960856731461031f5780639722f4b91461031a5780639e87058514610315578063a217fddf14610310578063a457af3d1461030b578063a4b32de814610306578063a7fa6f9814610301578063aaf5eb68146102fc578063ad3cb1cc146102f7578063b54b2b9e146102f2578063b6608409146102ed578063ba05bbf5146102e8578063c07449e2146102e3578063c550d938146102de578063cbb6d6bd146102d9578063d27a6f06146102d4578063d45ff582146102cf578063d547741f146102ca578063db8a173a146102c5578063dd764abf146102c0578063e07dec29146102bb578063e1a45218146102b6578063e27e05c1146102b1578063f3c9b311146102ac5763f7cb789a0361000e57611fd6565b611f92565b611f25565b611ef0565b611e87565b611e1c565b611daa565b611d67565b611d32565b611cc4565b611c54565b611b92565b611b5c565b611aee565b611aaa565b611a3e565b6119fa565b6118c9565b611856565b6117e9565b611784565b611662565b6115f2565b611583565b61152d565b6114de565b61146f565b611439565b611404565b6113cf565b611378565b611336565b6112c7565b611259565b6111e9565b611184565b61114f565b61111a565b6110b6565b611081565b611014565b610fdf565b610f86565b610e24565b610d75565b610d30565b610cc3565b610c90565b610c3d565b610bd1565b610b9c565b610b32565b610ad0565b610a69565b61099e565b61091b565b610876565b610513565b61045a565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b63ffffffff60e01b1690565b6103fb816103e6565b0361040257565b5f80fd5b90503590610413826103f2565b565b9060208282031261042e5761042b915f01610406565b90565b6103de565b151590565b61044190610433565b9052565b9190610458905f60208501940190610438565b565b3461048a57610486610475610470366004610415565b61200f565b61047d6103d4565b91829182610445565b0390f35b6103da565b5f91031261049957565b6103de565b1c90565b67ffffffffffffffff1690565b6104bf9060086104c4930261049e565b6104a2565b90565b906104d291546104af565b90565b6104e15f6010906104c7565b90565b67ffffffffffffffff1690565b6104fa906104e4565b9052565b9190610511905f602085019401906104f1565b565b346105435761052336600461048f565b61053f61052e6104d5565b6105366103d4565b918291826104fe565b0390f35b6103da565b60018060a01b031690565b61055c90610548565b90565b61056881610553565b0361056f57565b5f80fd5b905035906105808261055f565b565b61058b816104e4565b0361059257565b5f80fd5b905035906105a382610582565b565b91906040838203126105cd57806105c16105ca925f8601610573565b93602001610596565b90565b6103de565b90565b6105e96105e46105ee92610548565b6105d2565b610548565b90565b6105fa906105d5565b90565b610606906105f1565b90565b90610613906105fd565b5f5260205260405f2090565b61063361062e610638926104e4565b6105d2565b6104e4565b90565b906106459061061f565b5f5260205260405f2090565b5f1c90565b61066261066791610651565b6104a2565b90565b6106749054610656565b90565b60401c90565b61068961068e91610677565b6104a2565b90565b61069b905461067d565b90565b60801c90565b6106b06106b59161069e565b6104a2565b90565b6106c290546106a4565b90565b90565b6106d46106d991610651565b6106c5565b90565b6106e690546106c8565b90565b61ffff1690565b6106fc61070191610651565b6106e9565b90565b61070e90546106f0565b90565b90565b61072061072591610651565b610711565b90565b6107329054610714565b90565b90610744610749926055610609565b61063b565b6107545f820161066a565b916107605f8301610691565b9161076c5f82016106b8565b91610779600183016106dc565b9161078660028201610704565b9161079360038301610728565b916107a060048201610728565b916107b960066107b260058501610728565b93016106dc565b90565b90565b6107c8906107bc565b9052565b61ffff1690565b6107dc906107cc565b9052565b90565b6107ec906107e0565b9052565b9694929099989795939161012088019a5f890161080c916104f1565b60208801610819916104f1565b60408701610826916104f1565b60608601610833916107bf565b60808501610840916107d3565b60a0840161084d916107e3565b60c0830161085a916107e3565b60e08201610867916107e3565b61010001610874916107bf565b565b346108b1576108ad61089261088c3660046105a5565b90610735565b956108a49997999591959492946103d4565b998a998a6107f0565b0390f35b6103da565b6108bf816107bc565b036108c657565b5f80fd5b905035906108d7826108b6565b565b919060408382031261090157806108f56108fe925f8601610573565b936020016108ca565b90565b6103de565b9190610919905f602085019401906107e3565b565b3461094c576109486109376109313660046108d9565b906120a7565b61093f6103d4565b91829182610906565b0390f35b6103da565b90565b61096861096361096d92610951565b6105d2565b6107cc565b90565b61097b612af8610954565b90565b610986610970565b90565b919061099c905f602085019401906107d3565b565b346109ce576109ae36600461048f565b6109ca6109b961097e565b6109c16103d4565b91829182610989565b0390f35b6103da565b5f80fd5b5f80fd5b5f80fd5b909182601f83011215610a195781359167ffffffffffffffff8311610a14576020019260208302840111610a0f57565b6109db565b6109d7565b6109d3565b919091604081840312610a5f57610a37835f8301610573565b92602082013567ffffffffffffffff8111610a5a57610a5692016109df565b9091565b6103e2565b6103de565b5f0190565b34610a9857610a82610a7c366004610a1e565b9161217a565b610a8a6103d4565b80610a9481610a64565b0390f35b6103da565b90602082820312610ab657610ab3915f016108ca565b90565b6103de565b9190610ace905f602085019401906107bf565b565b34610b0057610afc610aeb610ae6366004610a9d565b6121b2565b610af36103d4565b91829182610abb565b0390f35b6103da565b9190604083820312610b2d5780610b21610b2a925f86016108ca565b93602001610573565b90565b6103de565b34610b6157610b4b610b45366004610b05565b90612206565b610b536103d4565b80610b5d81610a64565b0390f35b6103da565b610b76906008610b7b930261049e565b6106e9565b90565b90610b899154610b66565b90565b610b996001601090610b7e565b90565b34610bcc57610bac36600461048f565b610bc8610bb7610b8c565b610bbf6103d4565b91829182610989565b0390f35b6103da565b34610c0057610bea610be4366004610b05565b90612212565b610bf26103d4565b80610bfc81610a64565b0390f35b6103da565b90565b610c1c610c17610c2192610c05565b6105d2565b6107cc565b90565b610c2f613e80610c08565b90565b610c3a610c24565b90565b34610c6d57610c4d36600461048f565b610c69610c58610c32565b610c606103d4565b91829182610989565b0390f35b6103da565b90602082820312610c8b57610c88915f01610573565b90565b6103de565b34610cbe57610ca8610ca3366004610c72565b612352565b610cb06103d4565b80610cba81610a64565b0390f35b6103da565b34610cf357610cef610cde610cd9366004610c72565b612430565b610ce66103d4565b91829182610906565b0390f35b6103da565b90565b610d0f610d0a610d1492610cf8565b6105d2565b6107cc565b90565b610d22612710610cfb565b90565b610d2d610d17565b90565b34610d6057610d4036600461048f565b610d5c610d4b610d25565b610d536103d4565b91829182610989565b0390f35b6103da565b610d7260016008906104c7565b90565b34610da557610d8536600461048f565b610da1610d90610d65565b610d986103d4565b918291826104fe565b0390f35b6103da565b9190604083820312610dd25780610dc6610dcf925f8601610596565b93602001610573565b90565b6103de565b90610de19061061f565b5f5260205260405f2090565b90610df7906105fd565b5f5260205260405f2090565b610e1c610e2192610e176058935f94610dd7565b610ded565b6104c7565b90565b34610e5557610e51610e40610e3a366004610daa565b90610e03565b610e486103d4565b918291826104fe565b0390f35b6103da565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610e8690610e5e565b810190811067ffffffffffffffff821117610ea057604052565b610e68565b90610eb8610eb16103d4565b9283610e7c565b565b67ffffffffffffffff8111610ed857610ed4602091610e5e565b0190565b610e68565b90825f939282370152565b90929192610efd610ef882610eba565b610ea5565b93818552602085019082840111610f1957610f1792610edd565b565b610e5a565b9080601f83011215610f3c57816020610f3993359101610ee8565b90565b6109d3565b919091604081840312610f8157610f5a835f8301610573565b92602082013567ffffffffffffffff8111610f7c57610f799201610f1e565b90565b6103e2565b6103de565b610f9a610f94366004610f41565b90612478565b610fa26103d4565b80610fac81610a64565b0390f35b7f12b42e8a160f6064dc959c6f251e3af0750ad213dbecf573b4710d67d6c28e3990565b610fdc610fb0565b90565b3461100f57610fef36600461048f565b61100b610ffa610fd4565b6110026103d4565b91829182610abb565b0390f35b6103da565b346110445761102436600461048f565b61104061102f6124ef565b6110376103d4565b91829182610abb565b0390f35b6103da565b90565b61106061105b61106592611049565b6105d2565b6107cc565b90565b611073612ee061104c565b90565b61107e611068565b90565b346110b15761109136600461048f565b6110ad61109c611076565b6110a46103d4565b91829182610989565b0390f35b6103da565b346110e6576110c636600461048f565b6110e26110d1612523565b6110d96103d4565b91829182610445565b0390f35b6103da565b7f19449a4ad57e40a5aa77e785b4539e53ba9e7fedbf7076388ee3fb1bc2ddea1b90565b6111176110eb565b90565b3461114a5761112a36600461048f565b61114661113561110f565b61113d6103d4565b91829182610abb565b0390f35b6103da565b3461117f5761117b61116a611165366004610c72565b612545565b6111726103d4565b918291826104fe565b0390f35b6103da565b346111b5576111b16111a061119a366004610daa565b90612564565b6111a86103d4565b918291826104fe565b0390f35b6103da565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177590565b6111e66111ba565b90565b34611219576111f936600461048f565b6112156112046111de565b61120c6103d4565b91829182610abb565b0390f35b6103da565b60ff1690565b611234906008611239930261049e565b61121e565b90565b906112479154611224565b90565b61125660055f9061123c565b90565b346112895761126936600461048f565b61128561127461124a565b61127c6103d4565b91829182610445565b0390f35b6103da565b90565b6112a56112a06112aa9261128e565b6105d2565b6104e4565b90565b6112b9624f1a00611291565b90565b6112c46112ad565b90565b346112f7576112d736600461048f565b6112f36112e26112bc565b6112ea6103d4565b918291826104fe565b0390f35b6103da565b90565b61131361130e611318926112fc565b6105d2565b6107e0565b90565b6113286305f5e1006112ff565b90565b61133361131b565b90565b346113665761134636600461048f565b61136261135161132b565b6113596103d4565b91829182610906565b0390f35b6103da565b6113755f806104c7565b90565b346113a85761138836600461048f565b6113a461139361136b565b61139b6103d4565b918291826104fe565b0390f35b6103da565b6113b690610553565b9052565b91906113cd905f602085019401906113ad565b565b346113ff576113fb6113ea6113e5366004610c72565b6125d2565b6113f26103d4565b918291826113ba565b0390f35b6103da565b346114345761143061141f61141a366004610415565b6125f1565b6114276103d4565b918291826113ba565b0390f35b6103da565b3461146a5761146661145561144f366004610b05565b9061261c565b61145d6103d4565b91829182610445565b0390f35b6103da565b3461149f5761149b61148a611485366004610c72565b61264e565b6114926103d4565b918291826104fe565b0390f35b6103da565b90916060828403126114d9576114d66114bf845f8501610573565b936114cd8160208601610596565b93604001610573565b90565b6103de565b3461150f5761150b6114fa6114f43660046114a4565b91612886565b6115026103d4565b91829182610906565b0390f35b6103da565b61152a906115256056915f92610ded565b6104c7565b90565b3461155d57611559611548611543366004610c72565b611514565b6115506103d4565b918291826104fe565b0390f35b6103da565b61157b611580926115766057935f94610dd7565b610ded565b6104c7565b90565b346115b4576115b061159f611599366004610daa565b90611562565b6115a76103d4565b918291826104fe565b0390f35b6103da565b90565b6115d06115cb6115d5926115b9565b6105d2565b6104e4565b90565b6115e462278d006115bc565b90565b6115ef6115d8565b90565b346116225761160236600461048f565b61161e61160d6115e7565b6116156103d4565b918291826104fe565b0390f35b6103da565b90565b5f1b90565b61164361163e61164892611627565b61162a565b6107bc565b90565b6116545f61162f565b90565b61165f61164b565b90565b346116925761167236600461048f565b61168e61167d611657565b6116856103d4565b91829182610abb565b0390f35b6103da565b6116a0906104e4565b9052565b6116ad906107bc565b9052565b6116ba906107cc565b9052565b6116c7906107e0565b9052565b906101008061176c936116e45f8201515f860190611697565b6116f660208201516020860190611697565b61170860408201516040860190611697565b61171a606082015160608601906116a4565b61172c608082015160808601906116b1565b61173e60a082015160a08601906116be565b61175060c082015160c08601906116be565b61176260e082015160e08601906116be565b01519101906116a4565b565b9190611782905f61012085019401906116cb565b565b346117b5576117b16117a061179a3660046105a5565b90612a34565b6117a86103d4565b9182918261176e565b0390f35b6103da565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf9981990565b6117e66117ba565b90565b34611819576117f936600461048f565b6118156118046117de565b61180c6103d4565b91829182610abb565b0390f35b6103da565b90565b61183561183061183a9261181e565b6105d2565b6107cc565b90565b6118486132c8611821565b90565b61185361183d565b90565b346118865761186636600461048f565b61188261187161184b565b6118796103d4565b91829182610989565b0390f35b6103da565b90565b6118a261189d6118a79261188b565b6105d2565b6107e0565b90565b6118bb670de0b6b3a764000061188e565b90565b6118c66118aa565b90565b346118f9576118d936600461048f565b6118f56118e46118be565b6118ec6103d4565b91829182610906565b0390f35b6103da565b67ffffffffffffffff811161191c57611918602091610e5e565b0190565b610e68565b9061193361192e836118fe565b610ea5565b918252565b5f7f352e302e30000000000000000000000000000000000000000000000000000000910152565b6119696005611921565b9061197660208301611938565b565b61198061195f565b90565b61198b611978565b90565b611996611983565b90565b5190565b60209181520190565b90825f9392825e0152565b6119d06119d96020936119de936119c781611999565b9384809361199d565b958691016119a6565b610e5e565b0190565b6119f79160208201915f8184039101526119b1565b90565b34611a2a57611a0a36600461048f565b611a26611a1561198e565b611a1d6103d4565b918291826119e2565b0390f35b6103da565b611a3b60075f9061123c565b90565b34611a6e57611a4e36600461048f565b611a6a611a59611a2f565b611a616103d4565b91829182610445565b0390f35b6103da565b90565b611a8a611a85611a8f92611a73565b6105d2565b6107e0565b90565b611a9c6001611a76565b90565b611aa7611a92565b90565b34611ada57611aba36600461048f565b611ad6611ac5611a9f565b611acd6103d4565b91829182610906565b0390f35b6103da565b611aeb5f6018906104c7565b90565b34611b1e57611afe36600461048f565b611b1a611b09611adf565b611b116103d4565b918291826104fe565b0390f35b6103da565b90602080611b4593611b3b5f8201515f8601906116be565b01519101906116be565b565b9190611b5a905f60408501940190611b23565b565b34611b8d57611b89611b78611b72366004610daa565b90612b0b565b611b806103d4565b91829182611b47565b0390f35b6103da565b34611bc357611bbf611bae611ba8366004610daa565b90612b33565b611bb66103d4565b918291826104fe565b0390f35b6103da565b611bd1816107e0565b03611bd857565b5f80fd5b90503590611be982611bc8565b565b611bf4816107cc565b03611bfb57565b5f80fd5b90503590611c0c82611beb565b565b608081830312611c4f57611c24825f8301610573565b92611c4c611c358460208501611bdc565b93611c438160408601611bdc565b93606001611bff565b90565b6103de565b34611c8657611c70611c67366004611c0e565b9291909161331f565b611c786103d4565b80611c8281610a64565b0390f35b6103da565b90565b611ca2611c9d611ca792611c8b565b6105d2565b6104e4565b90565b611cb66276a700611c8e565b90565b611cc1611caa565b90565b34611cf457611cd436600461048f565b611cf0611cdf611cb9565b611ce76103d4565b918291826104fe565b0390f35b6103da565b90565b611d10611d0b611d1592611cf9565b6105d2565b6104e4565b90565b611d2462093a80611cfc565b90565b611d2f611d18565b90565b34611d6257611d4236600461048f565b611d5e611d4d611d27565b611d556103d4565b918291826104fe565b0390f35b6103da565b34611d9657611d80611d7a366004610b05565b90613357565b611d886103d4565b80611d9281610a64565b0390f35b6103da565b611da760015f906104c7565b90565b34611dda57611dba36600461048f565b611dd6611dc5611d9b565b611dcd6103d4565b918291826104fe565b0390f35b6103da565b90565b611df6611df1611dfb92611ddf565b6105d2565b6107e0565b90565b611e0e662386f26fc10000611de2565b90565b611e19611dfe565b90565b34611e4c57611e2c36600461048f565b611e48611e37611e11565b611e3f6103d4565b91829182610906565b0390f35b6103da565b90602082820312611e82575f82013567ffffffffffffffff8111611e7d57611e7992016109df565b9091565b6103e2565b6103de565b34611eb657611ea0611e9a366004611e51565b906133b8565b611ea86103d4565b80611eb281610a64565b0390f35b6103da565b611ecf611eca611ed492610cf8565b6105d2565b6107e0565b90565b611ee2612710611ebb565b90565b611eed611ed7565b90565b34611f2057611f0036600461048f565b611f1c611f0b611ee5565b611f136103d4565b91829182610906565b0390f35b6103da565b34611f5457611f3e611f383660046105a5565b906134e9565b611f466103d4565b80611f5081610a64565b0390f35b6103da565b90565b611f70611f6b611f7592611f59565b6105d2565b6104e4565b90565b611f8462ed4e00611f5c565b90565b611f8f611f78565b90565b34611fc257611fa236600461048f565b611fbe611fad611f87565b611fb56103d4565b918291826104fe565b0390f35b6103da565b611fd35f6008906104c7565b90565b3461200657611fe636600461048f565b612002611ff1611fc7565b611ff96103d4565b918291826104fe565b0390f35b6103da565b5f90565b61201761200b565b508061203261202c637965db0b60e01b6103e6565b916103e6565b1490811561203f575b5090565b61204991506134fa565b5f61203b565b5f90565b9061205d906105fd565b5f5260205260405f2090565b612072906107bc565b90565b9061207f90612069565b5f5260205260405f2090565b61209f61209a6120a492611627565b6105d2565b6107e0565b90565b6120cc916120c26120c7926120ba61204f565b506011612053565b612075565b610728565b806120df6120d95f61208b565b916107e0565b145f146120f357506120ef6118aa565b5b90565b6120f0565b67ffffffffffffffff81116121105760208091020190565b610e68565b9092919261212a612125826120f8565b610ea5565b938185526020808601920283019281841161216757915b83831061214e5750505050565b6020809161215c8486610406565b815201920191612141565b6109db565b612177913691612115565b90565b612196926121909161218a613532565b9261216c565b9061356d565b565b5f90565b906121a690612069565b5f5260205260405f2090565b60016121d36121d9926121c3612198565b505f6121cd6136e1565b0161219c565b016106dc565b90565b906121f7916121f26121ed826121b2565b613705565b6121f9565b565b9061220391613719565b50565b90612210916121dc565b565b908061222d6122276122226137d0565b610553565b91610553565b0361223e5761223b916137dd565b50565b5f63334bd91960e11b81528061225660048201610a64565b0390fd5b612263906105d5565b90565b61226f9061225a565b90565b61227b906105f1565b90565b60e01b90565b90505190612291826103f2565b565b909291926122a86122a3826120f8565b610ea5565b93818552602080860192028301928184116122e557915b8383106122cc5750505050565b602080916122da8486612284565b8152019201916122bf565b6109db565b9080601f830112156123085781602061230593519101612293565b90565b6109d3565b9060208282031261233d575f82015167ffffffffffffffff81116123385761233592016122ea565b90565b6103e2565b6103de565b61234a6103d4565b3d5f823e3d90fd5b61235a613532565b6123855f61236f61236a84612266565b612272565b636e25b9789061237d6103d4565b93849261227e565b8252818061239560048201610a64565b03915afa8015612415576123b1915f916123f3575b508261356d565b6123db7f4d3c30f5993f1922a779345a0f7ec1a170f1e52e9d230824f9c17e63596c906d916105fd565b906123e46103d4565b806123ee81610a64565b0390a2565b61240f91503d805f833e6124078183610e7c565b81019061230d565b5f6123aa565b612342565b90612424906105fd565b5f5260205260405f2090565b61244761244c9161243f61204f565b50601b61241a565b610728565b90565b906124619161245c613896565b612463565b565b906124769161247181613950565b6139ac565b565b906124829161244f565b565b61249590612490613aaa565b6124e3565b90565b90565b6124af6124aa6124b492612498565b61162a565b6107bc565b90565b6124e07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61249b565b90565b506124ec6124b7565b90565b6124ff6124fa612198565b612484565b90565b61250e61251391610651565b61121e565b90565b6125209054612502565b90565b61252b61200b565b5061253e5f612538613b08565b01612516565b90565b5f90565b61255c61256191612554612541565b506056610ded565b61066a565b90565b6125899161257f61258492612577612541565b506057610dd7565b610ded565b61066a565b90565b5f90565b9061259a906105fd565b5f5260205260405f2090565b60018060a01b031690565b6125bd6125c291610651565b6125a6565b90565b6125cf90546125b1565b90565b6125e96125ee916125e161258c565b506006612590565b6125c5565b90565b612603906125fd61258c565b50613b42565b90565b90612610906105fd565b5f5260205260405f2090565b61264b915f6126406126469361263061200b565b508261263a6136e1565b0161219c565b01612606565b612516565b90565b61266561266a9161265d612541565b506023610ded565b61066a565b90565b90612677906104e4565b9052565b90612685906107bc565b9052565b90612693906107cc565b9052565b906126a1906107e0565b9052565b6126b0610120610ea5565b90565b9061279161278760066126c46126a5565b946126db6126d35f830161066a565b5f880161266d565b6126f26126e95f8301610691565b6020880161266d565b6127096127005f83016106b8565b6040880161266d565b612721612718600183016106dc565b6060880161267b565b61273961273060028301610704565b60808801612689565b61275161274860038301610728565b60a08801612697565b61276961276060048301610728565b60c08801612697565b61278161277860058301610728565b60e08801612697565b016106dc565b610100840161267b565b565b61279c906126b3565b90565b6127a990516104e4565b90565b6127c06127bb6127c592611627565b6105d2565b6104e4565b90565b6127d290516107bc565b90565b6127df90516107e0565b90565b634e487b7160e01b5f52601160045260245ffd5b61280561280b919392936107e0565b926107e0565b820391821161281657565b6127e2565b61282a612830919392936107e0565b926107e0565b9161283c8382026107e0565b92818404149015171561284b57565b6127e2565b634e487b7160e01b5f52601260045260245ffd5b612870612876916107e0565b916107e0565b908115612881570490565b612850565b929190926128af6128aa61289861204f565b956128a560558590610609565b61063b565b612793565b916128bb5f840161279f565b6128cd6128c75f6127ac565b916104e4565b1461298e57906128ea91906128e4606085016127c8565b91613c76565b90816128fe6128f85f61208b565b916107e0565b1461297e5761290f60c082016127d5565b61292c61292661292160e085016127d5565b6107e0565b916107e0565b11612936575b5050565b612976929350906129628261295c60e061295560c061296897016127d5565b92016127d5565b906127f6565b9061281b565b6129706118aa565b90612864565b905f80612932565b5050905061298b5f61208b565b90565b505050905061299c5f61208b565b90565b5f90565b5f90565b5f90565b5f90565b6129b76126a5565b90602080808080808080808a6129cb61299f565b8152016129d661299f565b8152016129e161299f565b8152016129ec6129a3565b8152016129f76129a7565b815201612a026129ab565b815201612a0d6129ab565b815201612a186129ab565b815201612a236129a3565b81525050565b612a316129af565b90565b612a5991612a4f612a5492612a47612a29565b506055610609565b61063b565b612793565b90565b612a666040610ea5565b90565b612a71612a5c565b9060208083612a7e6129ab565b815201612a896129ab565b81525050565b612a97612a69565b90565b90612aa49061061f565b5f5260205260405f2090565b90612aba906105fd565b5f5260205260405f2090565b90612afd612af46001612ad7612a5c565b94612aee612ae65f8301610728565b5f8801612697565b01610728565b60208401612697565b565b612b0890612ac6565b90565b612b3091612b26612b2b92612b1e612a8f565b506010612a9a565b612ab0565b612aff565b90565b612b5891612b4e612b5392612b46612541565b506058610dd7565b610ded565b61066a565b90565b612b67612b6c91610677565b61121e565b90565b612b799054612b5b565b90565b612b90612b8b612b9592611a73565b6105d2565b6104e4565b90565b612ba1906105f1565b90565b90612bb767ffffffffffffffff9161162a565b9181191691161790565b90565b90612bd9612bd4612be09261061f565b612bc1565b8254612ba4565b9055565b60401b90565b90612bfe68ff000000000000000091612be4565b9181191691161790565b612c1190610433565b90565b90565b90612c2c612c27612c3392612c08565b612c14565b8254612bea565b9055565b612c4090612b7c565b9052565b9190612c57905f60208501940190612c37565b565b909192612c64613d65565b93612c79612c735f8701612b6f565b15610433565b93612c855f870161066a565b80612c98612c925f6127ac565b916104e4565b1480612db2575b90612cb3612cad6001612b7c565b916104e4565b1480612d8a575b612cc5909115610433565b9081612d79575b50612d5d57612cf593612cea612ce26001612b7c565b5f8901612bc4565b85612d4b575b613174565b612cfd575b50565b612d0a905f809101612c17565b6001612d427fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291612d396103d4565b91829182612c44565b0390a15f612cfa565b612d5860015f8901612c17565b612cf0565b5f63f92ee8a960e01b815280612d7560048201610a64565b0390fd5b612d84915015610433565b5f612ccc565b50612cc5612d9730612b98565b3b612daa612da45f61208b565b916107e0565b149050612cba565b5085612c9f565b612dcd612dc8612dd292611627565b6105d2565b610548565b90565b612dde90612db9565b90565b612deb6040610ea5565b90565b634e487b7160e01b5f52602160045260245ffd5b60021115612e0c57565b612dee565b90612e1b82612e02565b565b90612e2790612e11565b9052565b90612e3590610553565b9052565b612e4d612e48612e52926107e0565b6105d2565b6107cc565b90565b612e5f60c0610ea5565b90565b90612e6c90610433565b9052565b90612e7a90612069565b5f5260205260405f2090565b612e909051610433565b90565b90612e9f60ff9161162a565b9181191691161790565b90612ebe612eb9612ec592612c08565b612c14565b8254612e93565b9055565b90612ed55f199161162a565b9181191691161790565b612ef3612eee612ef8926107e0565b6105d2565b6107e0565b90565b90565b90612f13612f0e612f1a92612edf565b612efb565b8254612ec9565b9055565b612f2890516107cc565b90565b90612f3861ffff9161162a565b9181191691161790565b612f56612f51612f5b926107cc565b6105d2565b6107cc565b90565b90565b90612f76612f71612f7d92612f42565b612f5e565b8254612f2b565b9055565b9061301060a0600561301694612fa45f8201612f9e5f8801612e86565b90612ea9565b612fbd60018201612fb7602088016127d5565b90612efe565b612fd660028201612fd0604088016127d5565b90612efe565b612fef60038201612fe9606088016127d5565b90612efe565b61300860048201613002608088016127d5565b90612efe565b019201612f1e565b90612f61565b565b9061302291612f81565b565b60801b90565b9061303a61ffff60801b91613024565b9181191691161790565b9061305961305461306092612f42565b612f5e565b825461302a565b9055565b90565b61307b61307661308092613064565b6105d2565b6104e4565b90565b61308e615460613067565b90565b906130ac6fffffffffffffffff000000000000000091612be4565b9181191691161790565b906130cb6130c66130d29261061f565b612bc1565b8254613091565b9055565b90565b6130ed6130e86130f2926130d6565b6105d2565b6104e4565b90565b6130ff601c6130d9565b90565b60c01b90565b9061311e67ffffffffffffffff60c01b91613102565b9181191691161790565b9061313d6131386131449261061f565b612bc1565b8254613108565b9055565b90565b61315f61315a61316492613148565b6105d2565b6104e4565b90565b613171603861314b565b90565b91909161317f613d93565b613187613da7565b61318f613dcd565b613197613df3565b61319f61164b565b816131a991613719565b506131b26111ba565b816131bc91613719565b506131c56117ba565b906131cf91613719565b505f806131db90612dd5565b6131e3612de1565b915f8301906131f191612e1d565b60208201906131ff91612e2b565b61320890613e5d565b90600192905f8091613218611ed7565b61322190612e39565b9361322a612e55565b965f88019061323891612e62565b602087019061324691612697565b604086019061325491612697565b61325d9061208b565b606085019061326b91612697565b6132749061208b565b608084019061328291612697565b60a083019061329091612689565b60029061329c91612e70565b906132a691613018565b60016132b3906005612ea9565b6132be906001613044565b60016132c990612b7c565b6132d3905f612bc4565b6132db613083565b6132e5905f6130b6565b6132ed6130f5565b6132f7905f613128565b6132ff6130f5565b61330a906001612bc4565b613312613167565b61331d9060016130b6565b565b9061332b939291612c59565b565b906133489161334361333e826121b2565b613705565b61334a565b565b90613354916137dd565b50565b906133619161332d565b565b600161336f91016107e0565b90565b5090565b634e487b7160e01b5f52603260045260245ffd5b919081101561339a576020020190565b613376565b356133a9816103f2565b90565b6133b5906103e6565b90565b9190916133c3613532565b6133cc5f61208b565b5b806133ea6133e46133df858890613372565b6107e0565b916107e0565b101561346e576134699061341061340b6134068588859161338a565b61339f565b613f24565b61342461341f8487849161338a565b61339f565b61344e7fbeb27701828f515b03069d44da6519b6c491da13ef1ca7082e619959d1f48ddb916133ac565b906134576103d4565b8061346181610a64565b0390a2613363565b6133cd565b50509050565b9061348e916134896134846111ba565b613705565b613490565b565b6134a5826134a060238490610ded565b612bc4565b6134e46134d27f90b37e59a942c5413ce00a3a844a47c20094979897cc653606d925e909885f35926105fd565b926134db6103d4565b918291826104fe565b0390a2565b906134f391613474565b565b613f3a565b61350261200b565b5061351c6135166301ffc9a760e01b6103e6565b916103e6565b1490565b61353061352b6111ba565b613705565b565b61353a613520565b565b5190565b9061354a8261353c565b81101561355b576020809102010190565b613376565b61356a90516103e6565b90565b91908261358a61358461357f5f612dd5565b610553565b91610553565b146136dc57823b6135a361359d5f61208b565b916107e0565b146136d6576135b15f61208b565b5b806135cd6135c76135c28561353c565b6107e0565b916107e0565b10156136d0576135ee6135e96135e4848490613540565b613560565b613b42565b806136096136036135fe5f612dd5565b610553565b91610553565b1415806136b5575b61369e57506136999061363761363061362b858490613540565b613560565b8690614041565b61364a613645848390613540565b613560565b8561367e6136787f12557f25e458d9682d7c959b5a960bc9332e8b7af1120b54a333bfc1ff282b39936133ac565b916105fd565b916136876103d4565b8061369181610a64565b0390a3613363565b6135b2565b6136b06136ab8385613540565b613560565b613fe8565b50806136c96136c387610553565b91610553565b1415613611565b50509050565b82613f99565b613f7d565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b613717906137116137d0565b9061407a565b565b61372161200b565b5061372a6136e1565b61373e61373883859061261c565b15610433565b5f146137c957613768906137635f61375b8160019401869061219c565b018590612606565b612ea9565b906137716137d0565b906137ae6137a86137a27f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d95612069565b926105fd565b926105fd565b926137b76103d4565b806137c181610a64565b0390a4600190565b5050505f90565b6137d861258c565b503390565b6137e561200b565b506137ee6136e1565b6137f982849061261c565b5f14613883576138229061381d5f61381581809401869061219c565b018590612606565b612ea9565b9061382b6137d0565b9061386861386261385c7ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b95612069565b926105fd565b926105fd565b926138716103d4565b8061387b81610a64565b0390a4600190565b5050505f90565b613893906105f1565b90565b61389f3061388a565b6138d16138cb7f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b1480156138fb575b6138df57565b5f63703e46dd60e11b8152806138f760048201610a64565b0390fd5b506139046140b5565b6139366139307f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b14156138d9565b5061394e6139496111ba565b613705565b565b6139599061393d565b565b613964906105d5565b90565b6139709061395b565b90565b61397c906105f1565b90565b9050519061398c826108b6565b565b906020828203126139a7576139a4915f0161397f565b90565b6103de565b91906139da60206139c46139bf86613967565b613973565b6352d1902d906139d26103d4565b93849261227e565b825281806139ea60048201610a64565b03915afa80915f92613a7a575b50155f14613a2b575050906001613a0c57505b565b613a27905f918291634c9c8ce360e01b8352600483016113ba565b0390fd5b9283613a46613a40613a3b6124b7565b6107bc565b916107bc565b03613a5b57613a569293506140db565b613a0a565b613a76845f918291632a87526960e21b835260048301610abb565b0390fd5b613a9c91925060203d8111613aa3575b613a948183610e7c565b81019061398e565b905f6139f7565b503d613a8a565b613ab33061388a565b613ae5613adf7f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b03613aec57565b5f63703e46dd60e11b815280613b0460048201610a64565b0390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b90613b36906133ac565b5f5260205260405f2090565b613b59613b5e91613b5161258c565b506021613b2c565b6125c5565b90565b90613b6b906105fd565b5f5260205260405f2090565b90565b5490565b5f5260205f2090565b613b9081613b7a565b821015613baa57613ba2600491613b7e565b910201905f90565b613376565b90565b60ff1690565b613bc4613bc991610651565b613bb2565b90565b613bd69054613bb8565b90565b60081c90565b613beb613bf091613bd9565b6125a6565b90565b613bfd9054613bdf565b90565b613c0a6040610ea5565b90565b90613c43613c3a5f613c1d613c00565b94613c34613c2c838301613bcc565b838801612e1d565b01613bf3565b60208401612e2b565b565b613c4e90613c0d565b90565b613c60613c66919392936107e0565b926107e0565b8201809211613c7157565b6127e2565b929192613c94613c8f613c8761204f565b926015613b61565b613b77565b93613c9e85613b7a565b93613ca85f61208b565b5b80613cbc613cb6886107e0565b916107e0565b1015613d5c57613cd6613cd0888390613b87565b50613baf565b613ce15f82016125c5565b613cf3613ced88610553565b91610553565b1480613d2f575b613d0e575b50613d0990613363565b613ca9565b613d099194613d226001613d289301610728565b90613c51565b9390613cff565b50613d44613d3f60028301613c45565b613e5d565b613d56613d50866107bc565b916107bc565b14613cfa565b50935050925050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613d91614164565b565b613d9b613d89565b565b613da5614164565b565b613daf613d9d565b565b613db9614164565b613dc1613dc3565b565b613dcb6141bf565b565b613dd5613db1565b565b613ddf614164565b613de7613de9565b565b613df1614205565b565b613dfb613dd7565b565b613e079051612e11565b90565b613e149051610553565b90565b613e2090612e11565b90565b613e2c90613e17565b9052565b916020613e51929493613e4a60408201965f830190613e23565b01906113ad565b565b60200190565b5190565b613e65612198565b50613ea7613e806020613e795f8501613dfd565b9301613e0a565b91613e98613e8c6103d4565b93849260208401613e30565b60208201810382520382610e7c565b613eb9613eb382613e59565b91613e53565b2090565b1b90565b91906008613ee1910291613edb60018060a01b0384613ebd565b92613ebd565b9181191691161790565b90565b9190613f04613eff613f0c936105fd565b613eeb565b908354613ec1565b9055565b613f2291613f1c61258c565b91613eee565b565b5f613f33613f38926021613b2c565b613f10565b565b613f4d63ffffffff60e01b5f3516613b42565b80613f68613f62613f5d5f612dd5565b610553565b91610553565b036142435763ffffffff60e01b5f3516614224565b5f63d92e233d60e01b815280613f9560048201610a64565b0390fd5b613fb4905f9182916322a2d07b60e21b8352600483016113ba565b0390fd5b613fc1906103e6565b9052565b916020613fe6929493613fdf60408201965f830190613fb8565b01906113ad565b565b6140025f9283926310ae11a960e31b845260048401613fc5565b0390fd5b9061401760018060a01b039161162a565b9181191691161790565b9061403661403161403d926105fd565b613eeb565b8254614006565b9055565b61405061405592916021613b2c565b614021565b565b91602061407892949361407160408201965f8301906113ad565b01906107bf565b565b9061408f61408983839061261c565b15610433565b614097575050565b6140b15f92839263e2517d3f60e01b845260048401614057565b0390fd5b6140bd61258c565b506140d85f6140d26140cd6124b7565b614261565b016125c5565b90565b906140e582614264565b816141107fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b916105fd565b906141196103d4565b8061412381610a64565b0390a261412f81613e59565b61414161413b5f61208b565b916107e0565b115f146141555761415191614334565b505b565b505061415f6142b9565b614153565b61417561416f614363565b15610433565b61417b57565b5f631afcd79f60e31b81528061419360048201610a64565b0390fd5b61419f614164565b6141a76141a9565b565b6141bd6141b4613b08565b5f809101612ea9565b565b6141c7614197565b565b6141d1614164565b6141d96141e8565b565b6141e56001611a76565b90565b6142036141f3614381565b5f6141fc6141db565b9101612efe565b565b61420d6141c9565b565b9190614222905f60208501940190613fb8565b565b61423f905f91829163c2a825f560e01b83526004830161420f565b0390fd5b5f8091368280378136915af43d5f803e5f1461425d573d5ff35b3d5ffd5b90565b803b6142786142725f61208b565b916107e0565b1461429a57614298905f61429261428d6124b7565b614261565b01614021565b565b6142b5905f918291634c9c8ce360e01b8352600483016113ba565b0390fd5b346142cc6142c65f61208b565b916107e0565b116142d357565b5f63b398979f60e01b8152806142eb60048201610a64565b0390fd5b606090565b9061430661430183610eba565b610ea5565b918252565b3d5f146143265761431b3d6142f4565b903d5f602084013e5b565b61432e6142ef565b90614324565b5f80614360936143426142ef565b508390602081019051915af49061435761430b565b909190916143a5565b90565b61436b61200b565b5061437e5f614378613d65565b01612b6f565b90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b906143b9906143b26142ef565b5015610433565b5f146143c55750614429565b6143ce82613e59565b6143e06143da5f61208b565b916107e0565b148061440e575b6143ef575090565b61440a905f918291639996b31560e01b8352600483016113ba565b0390fd5b50803b61442361441d5f61208b565b916107e0565b146143e7565b61443281613e59565b61444461443e5f61208b565b916107e0565b115f1461445357805190602001fd5b5f63d6bda27560e01b81528061446b60048201610a64565b0390fdfea164736f6c634300081a000a
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\xA0`@R4a\0>Wa\0\x11a\0MV[a\0\x19a\0CV[aD|a\x03\x07\x829`\x80Q\x81\x81\x81a8\xA7\x01R\x81\x81a9\x0C\x01Ra:\xBB\x01RaD|\x90\xF3[a\0IV[`@Q\x90V[_\x80\xFD[a\0Ua\0_V[a\0]a\x02*V[V[a\0ga\0iV[V[a\0qa\0sV[V[a\0{a\0}V[V[a\0\x85a\0\x87V[V[a\0\x8Fa\0\x91V[V[a\0\x99a\0\x9BV[V[a\0\xA3a\0\xA5V[V[a\0\xADa\0\xAFV[V[a\0\xB7a\0\xB9V[V[a\0\xC1a\0\xC3V[V[a\0\xCBa\0\xCDV[V[a\0\xD5a\0\xD7V[V[a\0\xDFa\0\xE1V[V[a\0\xE9a\x01-V[V[`\x01\x80`\xA0\x1B\x03\x16\x90V[\x90V[a\x01\ra\x01\x08a\x01\x12\x92a\0\xEBV[a\0\xF6V[a\0\xEBV[\x90V[a\x01\x1E\x90a\0\xF9V[\x90V[a\x01*\x90a\x01\x15V[\x90V[a\x0160a\x01!V[`\x80RV[`@\x1C\x90V[`\xFF\x16\x90V[a\x01Sa\x01X\x91a\x01;V[a\x01AV[\x90V[a\x01e\x90Ta\x01GV[\x90V[_\x01\x90V[_\x1C\x90V[`\x01\x80`@\x1B\x03\x16\x90V[a\x01\x89a\x01\x8E\x91a\x01mV[a\x01rV[\x90V[a\x01\x9B\x90Ta\x01}V[\x90V[`\x01\x80`@\x1B\x03\x16\x90V[_\x1B\x90V[\x90a\x01\xBF`\x01\x80`@\x1B\x03\x91a\x01\xA9V[\x91\x81\x19\x16\x91\x16\x17\x90V[a\x01\xDDa\x01\xD8a\x01\xE2\x92a\x01\x9EV[a\0\xF6V[a\x01\x9EV[\x90V[\x90V[\x90a\x01\xFDa\x01\xF8a\x02\x04\x92a\x01\xC9V[a\x01\xE5V[\x82Ta\x01\xAEV[\x90UV[a\x02\x11\x90a\x01\x9EV[\x90RV[\x91\x90a\x02(\x90_` \x85\x01\x94\x01\x90a\x02\x08V[V[a\x022a\x02\xE2V[a\x02=_\x82\x01a\x01[V[a\x02\xC6Wa\x02L_\x82\x01a\x01\x91V[a\x02da\x02^`\x01\x80`@\x1B\x03a\x01\x9EV[\x91a\x01\x9EV[\x03a\x02mW[PV[a\x02\x80\x90_`\x01\x80`@\x1B\x03\x91\x01a\x01\xE8V[`\x01\x80`@\x1B\x03a\x02\xBD\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x91a\x02\xB4a\0CV[\x91\x82\x91\x82a\x02\x15V[\x03\x90\xA1_a\x02jV[_c\xF9.\xE8\xA9`\xE0\x1B\x81R\x80a\x02\xDE`\x04\x82\x01a\x01hV[\x03\x90\xFD[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x90V\xFE`\x80`@R`\x046\x10\x15a\0\x15W[6a4\xF5W\0[a\0\x1F_5a\x03\xCEV[\x80c\x01\xFF\xC9\xA7\x14a\x03\xC9W\x80c\x05\xD6N8\x14a\x03\xC4W\x80c\n\xA8\xB1\x10\x14a\x03\xBFW\x80c\x12\xD9\x1C\x88\x14a\x03\xBAW\x80c\x18\x05m\xC2\x14a\x03\xB5W\x80c\x19\xE8.a\x14a\x03\xB0W\x80c$\x8A\x9C\xA3\x14a\x03\xABW\x80c//\xF1]\x14a\x03\xA6W\x80c2'?a\x14a\x03\xA1W\x80c6V\x8A\xBE\x14a\x03\x9CW\x80cE>\xCC\xEA\x14a\x03\x97W\x80cF\xD1c\xAA\x14a\x03\x92W\x80cI\x14t\x11\x14a\x03\x8DW\x80cIb\xF8\x8F\x14a\x03\x88W\x80cM\xE8\xAD\xDC\x14a\x03\x83W\x80cN\x9C\x92\x9A\x14a\x03~W\x80cO\x1E\xF2\x86\x14a\x03yW\x80cP\x95\xAFd\x14a\x03tW\x80cR\xD1\x90-\x14a\x03oW\x80cT\xDE# \x14a\x03jW\x80c\\\x97Z\xBB\x14a\x03eW\x80c`#V\xE3\x14a\x03`W\x80cf\xC3hu\x14a\x03[W\x80cr\xB5\x03-\x14a\x03VW\x80cu\xB28\xFC\x14a\x03QW\x80cw\xAB,\xF3\x14a\x03LW\x80c}\xF9*\xDA\x14a\x03GW\x80c\x88\xC4\x7Fh\x14a\x03BW\x80c\x8A\x19\xC8\xBC\x14a\x03=W\x80c\x8A\x7F\xE6\x0F\x14a\x038W\x80c\x90\x83\x7F\xF4\x14a\x033W\x80c\x91\xD1HT\x14a\x03.W\x80c\x94\x80\xE4\xDD\x14a\x03)W\x80c\x94\x94\xF4&\x14a\x03$W\x80c\x96\x08Vs\x14a\x03\x1FW\x80c\x97\"\xF4\xB9\x14a\x03\x1AW\x80c\x9E\x87\x05\x85\x14a\x03\x15W\x80c\xA2\x17\xFD\xDF\x14a\x03\x10W\x80c\xA4W\xAF=\x14a\x03\x0BW\x80c\xA4\xB3-\xE8\x14a\x03\x06W\x80c\xA7\xFAo\x98\x14a\x03\x01W\x80c\xAA\xF5\xEBh\x14a\x02\xFCW\x80c\xAD<\xB1\xCC\x14a\x02\xF7W\x80c\xB5K+\x9E\x14a\x02\xF2W\x80c\xB6`\x84\t\x14a\x02\xEDW\x80c\xBA\x05\xBB\xF5\x14a\x02\xE8W\x80c\xC0tI\xE2\x14a\x02\xE3W\x80c\xC5P\xD98\x14a\x02\xDEW\x80c\xCB\xB6\xD6\xBD\x14a\x02\xD9W\x80c\xD2zo\x06\x14a\x02\xD4W\x80c\xD4_\xF5\x82\x14a\x02\xCFW\x80c\xD5Gt\x1F\x14a\x02\xCAW\x80c\xDB\x8A\x17:\x14a\x02\xC5W\x80c\xDDvJ\xBF\x14a\x02\xC0W\x80c\xE0}\xEC)\x14a\x02\xBBW\x80c\xE1\xA4R\x18\x14a\x02\xB6W\x80c\xE2~\x05\xC1\x14a\x02\xB1W\x80c\xF3\xC9\xB3\x11\x14a\x02\xACWc\xF7\xCBx\x9A\x03a\0\x0EWa\x1F\xD6V[a\x1F\x92V[a\x1F%V[a\x1E\xF0V[a\x1E\x87V[a\x1E\x1CV[a\x1D\xAAV[a\x1DgV[a\x1D2V[a\x1C\xC4V[a\x1CTV[a\x1B\x92V[a\x1B\\V[a\x1A\xEEV[a\x1A\xAAV[a\x1A>V[a\x19\xFAV[a\x18\xC9V[a\x18VV[a\x17\xE9V[a\x17\x84V[a\x16bV[a\x15\xF2V[a\x15\x83V[a\x15-V[a\x14\xDEV[a\x14oV[a\x149V[a\x14\x04V[a\x13\xCFV[a\x13xV[a\x136V[a\x12\xC7V[a\x12YV[a\x11\xE9V[a\x11\x84V[a\x11OV[a\x11\x1AV[a\x10\xB6V[a\x10\x81V[a\x10\x14V[a\x0F\xDFV[a\x0F\x86V[a\x0E$V[a\ruV[a\r0V[a\x0C\xC3V[a\x0C\x90V[a\x0C=V[a\x0B\xD1V[a\x0B\x9CV[a\x0B2V[a\n\xD0V[a\niV[a\t\x9EV[a\t\x1BV[a\x08vV[a\x05\x13V[a\x04ZV[`\xE0\x1C\x90V[`@Q\x90V[_\x80\xFD[_\x80\xFD[_\x80\xFD[c\xFF\xFF\xFF\xFF`\xE0\x1B\x16\x90V[a\x03\xFB\x81a\x03\xE6V[\x03a\x04\x02WV[_\x80\xFD[\x90P5\x90a\x04\x13\x82a\x03\xF2V[V[\x90` \x82\x82\x03\x12a\x04.Wa\x04+\x91_\x01a\x04\x06V[\x90V[a\x03\xDEV[\x15\x15\x90V[a\x04A\x90a\x043V[\x90RV[\x91\x90a\x04X\x90_` \x85\x01\x94\x01\x90a\x048V[V[4a\x04\x8AWa\x04\x86a\x04ua\x04p6`\x04a\x04\x15V[a \x0FV[a\x04}a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[_\x91\x03\x12a\x04\x99WV[a\x03\xDEV[\x1C\x90V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[a\x04\xBF\x90`\x08a\x04\xC4\x93\x02a\x04\x9EV[a\x04\xA2V[\x90V[\x90a\x04\xD2\x91Ta\x04\xAFV[\x90V[a\x04\xE1_`\x10\x90a\x04\xC7V[\x90V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[a\x04\xFA\x90a\x04\xE4V[\x90RV[\x91\x90a\x05\x11\x90_` \x85\x01\x94\x01\x90a\x04\xF1V[V[4a\x05CWa\x05#6`\x04a\x04\x8FV[a\x05?a\x05.a\x04\xD5V[a\x056a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[`\x01\x80`\xA0\x1B\x03\x16\x90V[a\x05\\\x90a\x05HV[\x90V[a\x05h\x81a\x05SV[\x03a\x05oWV[_\x80\xFD[\x90P5\x90a\x05\x80\x82a\x05_V[V[a\x05\x8B\x81a\x04\xE4V[\x03a\x05\x92WV[_\x80\xFD[\x90P5\x90a\x05\xA3\x82a\x05\x82V[V[\x91\x90`@\x83\x82\x03\x12a\x05\xCDW\x80a\x05\xC1a\x05\xCA\x92_\x86\x01a\x05sV[\x93` \x01a\x05\x96V[\x90V[a\x03\xDEV[\x90V[a\x05\xE9a\x05\xE4a\x05\xEE\x92a\x05HV[a\x05\xD2V[a\x05HV[\x90V[a\x05\xFA\x90a\x05\xD5V[\x90V[a\x06\x06\x90a\x05\xF1V[\x90V[\x90a\x06\x13\x90a\x05\xFDV[_R` R`@_ \x90V[a\x063a\x06.a\x068\x92a\x04\xE4V[a\x05\xD2V[a\x04\xE4V[\x90V[\x90a\x06E\x90a\x06\x1FV[_R` R`@_ \x90V[_\x1C\x90V[a\x06ba\x06g\x91a\x06QV[a\x04\xA2V[\x90V[a\x06t\x90Ta\x06VV[\x90V[`@\x1C\x90V[a\x06\x89a\x06\x8E\x91a\x06wV[a\x04\xA2V[\x90V[a\x06\x9B\x90Ta\x06}V[\x90V[`\x80\x1C\x90V[a\x06\xB0a\x06\xB5\x91a\x06\x9EV[a\x04\xA2V[\x90V[a\x06\xC2\x90Ta\x06\xA4V[\x90V[\x90V[a\x06\xD4a\x06\xD9\x91a\x06QV[a\x06\xC5V[\x90V[a\x06\xE6\x90Ta\x06\xC8V[\x90V[a\xFF\xFF\x16\x90V[a\x06\xFCa\x07\x01\x91a\x06QV[a\x06\xE9V[\x90V[a\x07\x0E\x90Ta\x06\xF0V[\x90V[\x90V[a\x07 a\x07%\x91a\x06QV[a\x07\x11V[\x90V[a\x072\x90Ta\x07\x14V[\x90V[\x90a\x07Da\x07I\x92`Ua\x06\tV[a\x06;V[a\x07T_\x82\x01a\x06jV[\x91a\x07`_\x83\x01a\x06\x91V[\x91a\x07l_\x82\x01a\x06\xB8V[\x91a\x07y`\x01\x83\x01a\x06\xDCV[\x91a\x07\x86`\x02\x82\x01a\x07\x04V[\x91a\x07\x93`\x03\x83\x01a\x07(V[\x91a\x07\xA0`\x04\x82\x01a\x07(V[\x91a\x07\xB9`\x06a\x07\xB2`\x05\x85\x01a\x07(V[\x93\x01a\x06\xDCV[\x90V[\x90V[a\x07\xC8\x90a\x07\xBCV[\x90RV[a\xFF\xFF\x16\x90V[a\x07\xDC\x90a\x07\xCCV[\x90RV[\x90V[a\x07\xEC\x90a\x07\xE0V[\x90RV[\x96\x94\x92\x90\x99\x98\x97\x95\x93\x91a\x01 \x88\x01\x9A_\x89\x01a\x08\x0C\x91a\x04\xF1V[` \x88\x01a\x08\x19\x91a\x04\xF1V[`@\x87\x01a\x08&\x91a\x04\xF1V[``\x86\x01a\x083\x91a\x07\xBFV[`\x80\x85\x01a\x08@\x91a\x07\xD3V[`\xA0\x84\x01a\x08M\x91a\x07\xE3V[`\xC0\x83\x01a\x08Z\x91a\x07\xE3V[`\xE0\x82\x01a\x08g\x91a\x07\xE3V[a\x01\0\x01a\x08t\x91a\x07\xBFV[V[4a\x08\xB1Wa\x08\xADa\x08\x92a\x08\x8C6`\x04a\x05\xA5V[\x90a\x075V[\x95a\x08\xA4\x99\x97\x99\x95\x91\x95\x94\x92\x94a\x03\xD4V[\x99\x8A\x99\x8Aa\x07\xF0V[\x03\x90\xF3[a\x03\xDAV[a\x08\xBF\x81a\x07\xBCV[\x03a\x08\xC6WV[_\x80\xFD[\x90P5\x90a\x08\xD7\x82a\x08\xB6V[V[\x91\x90`@\x83\x82\x03\x12a\t\x01W\x80a\x08\xF5a\x08\xFE\x92_\x86\x01a\x05sV[\x93` \x01a\x08\xCAV[\x90V[a\x03\xDEV[\x91\x90a\t\x19\x90_` \x85\x01\x94\x01\x90a\x07\xE3V[V[4a\tLWa\tHa\t7a\t16`\x04a\x08\xD9V[\x90a \xA7V[a\t?a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\tha\tca\tm\x92a\tQV[a\x05\xD2V[a\x07\xCCV[\x90V[a\t{a*\xF8a\tTV[\x90V[a\t\x86a\tpV[\x90V[\x91\x90a\t\x9C\x90_` \x85\x01\x94\x01\x90a\x07\xD3V[V[4a\t\xCEWa\t\xAE6`\x04a\x04\x8FV[a\t\xCAa\t\xB9a\t~V[a\t\xC1a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[_\x80\xFD[_\x80\xFD[_\x80\xFD[\x90\x91\x82`\x1F\x83\x01\x12\x15a\n\x19W\x815\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\n\x14W` \x01\x92` \x83\x02\x84\x01\x11a\n\x0FWV[a\t\xDBV[a\t\xD7V[a\t\xD3V[\x91\x90\x91`@\x81\x84\x03\x12a\n_Wa\n7\x83_\x83\x01a\x05sV[\x92` \x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\nZWa\nV\x92\x01a\t\xDFV[\x90\x91V[a\x03\xE2V[a\x03\xDEV[_\x01\x90V[4a\n\x98Wa\n\x82a\n|6`\x04a\n\x1EV[\x91a!zV[a\n\x8Aa\x03\xD4V[\x80a\n\x94\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\n\xB6Wa\n\xB3\x91_\x01a\x08\xCAV[\x90V[a\x03\xDEV[\x91\x90a\n\xCE\x90_` \x85\x01\x94\x01\x90a\x07\xBFV[V[4a\x0B\0Wa\n\xFCa\n\xEBa\n\xE66`\x04a\n\x9DV[a!\xB2V[a\n\xF3a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x91\x90`@\x83\x82\x03\x12a\x0B-W\x80a\x0B!a\x0B*\x92_\x86\x01a\x08\xCAV[\x93` \x01a\x05sV[\x90V[a\x03\xDEV[4a\x0BaWa\x0BKa\x0BE6`\x04a\x0B\x05V[\x90a\"\x06V[a\x0BSa\x03\xD4V[\x80a\x0B]\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x0Bv\x90`\x08a\x0B{\x93\x02a\x04\x9EV[a\x06\xE9V[\x90V[\x90a\x0B\x89\x91Ta\x0BfV[\x90V[a\x0B\x99`\x01`\x10\x90a\x0B~V[\x90V[4a\x0B\xCCWa\x0B\xAC6`\x04a\x04\x8FV[a\x0B\xC8a\x0B\xB7a\x0B\x8CV[a\x0B\xBFa\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[4a\x0C\0Wa\x0B\xEAa\x0B\xE46`\x04a\x0B\x05V[\x90a\"\x12V[a\x0B\xF2a\x03\xD4V[\x80a\x0B\xFC\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x0C\x1Ca\x0C\x17a\x0C!\x92a\x0C\x05V[a\x05\xD2V[a\x07\xCCV[\x90V[a\x0C/a>\x80a\x0C\x08V[\x90V[a\x0C:a\x0C$V[\x90V[4a\x0CmWa\x0CM6`\x04a\x04\x8FV[a\x0Cia\x0CXa\x0C2V[a\x0C`a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\x0C\x8BWa\x0C\x88\x91_\x01a\x05sV[\x90V[a\x03\xDEV[4a\x0C\xBEWa\x0C\xA8a\x0C\xA36`\x04a\x0CrV[a#RV[a\x0C\xB0a\x03\xD4V[\x80a\x0C\xBA\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[4a\x0C\xF3Wa\x0C\xEFa\x0C\xDEa\x0C\xD96`\x04a\x0CrV[a$0V[a\x0C\xE6a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\r\x0Fa\r\na\r\x14\x92a\x0C\xF8V[a\x05\xD2V[a\x07\xCCV[\x90V[a\r\"a'\x10a\x0C\xFBV[\x90V[a\r-a\r\x17V[\x90V[4a\r`Wa\r@6`\x04a\x04\x8FV[a\r\\a\rKa\r%V[a\rSa\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[a\rr`\x01`\x08\x90a\x04\xC7V[\x90V[4a\r\xA5Wa\r\x856`\x04a\x04\x8FV[a\r\xA1a\r\x90a\reV[a\r\x98a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x91\x90`@\x83\x82\x03\x12a\r\xD2W\x80a\r\xC6a\r\xCF\x92_\x86\x01a\x05\x96V[\x93` \x01a\x05sV[\x90V[a\x03\xDEV[\x90a\r\xE1\x90a\x06\x1FV[_R` R`@_ \x90V[\x90a\r\xF7\x90a\x05\xFDV[_R` R`@_ \x90V[a\x0E\x1Ca\x0E!\x92a\x0E\x17`X\x93_\x94a\r\xD7V[a\r\xEDV[a\x04\xC7V[\x90V[4a\x0EUWa\x0EQa\x0E@a\x0E:6`\x04a\r\xAAV[\x90a\x0E\x03V[a\x0EHa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[_\x80\xFD[`\x1F\x80\x19\x91\x01\x16\x90V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90a\x0E\x86\x90a\x0E^V[\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x0E\xA0W`@RV[a\x0EhV[\x90a\x0E\xB8a\x0E\xB1a\x03\xD4V[\x92\x83a\x0E|V[V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0E\xD8Wa\x0E\xD4` \x91a\x0E^V[\x01\x90V[a\x0EhV[\x90\x82_\x93\x92\x827\x01RV[\x90\x92\x91\x92a\x0E\xFDa\x0E\xF8\x82a\x0E\xBAV[a\x0E\xA5V[\x93\x81\x85R` \x85\x01\x90\x82\x84\x01\x11a\x0F\x19Wa\x0F\x17\x92a\x0E\xDDV[V[a\x0EZV[\x90\x80`\x1F\x83\x01\x12\x15a\x0F<W\x81` a\x0F9\x935\x91\x01a\x0E\xE8V[\x90V[a\t\xD3V[\x91\x90\x91`@\x81\x84\x03\x12a\x0F\x81Wa\x0FZ\x83_\x83\x01a\x05sV[\x92` \x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0F|Wa\x0Fy\x92\x01a\x0F\x1EV[\x90V[a\x03\xE2V[a\x03\xDEV[a\x0F\x9Aa\x0F\x946`\x04a\x0FAV[\x90a$xV[a\x0F\xA2a\x03\xD4V[\x80a\x0F\xAC\x81a\ndV[\x03\x90\xF3[\x7F\x12\xB4.\x8A\x16\x0F`d\xDC\x95\x9Co%\x1E:\xF0u\n\xD2\x13\xDB\xEC\xF5s\xB4q\rg\xD6\xC2\x8E9\x90V[a\x0F\xDCa\x0F\xB0V[\x90V[4a\x10\x0FWa\x0F\xEF6`\x04a\x04\x8FV[a\x10\x0Ba\x0F\xFAa\x0F\xD4V[a\x10\x02a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[4a\x10DWa\x10$6`\x04a\x04\x8FV[a\x10@a\x10/a$\xEFV[a\x107a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x10`a\x10[a\x10e\x92a\x10IV[a\x05\xD2V[a\x07\xCCV[\x90V[a\x10sa.\xE0a\x10LV[\x90V[a\x10~a\x10hV[\x90V[4a\x10\xB1Wa\x10\x916`\x04a\x04\x8FV[a\x10\xADa\x10\x9Ca\x10vV[a\x10\xA4a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[4a\x10\xE6Wa\x10\xC66`\x04a\x04\x8FV[a\x10\xE2a\x10\xD1a%#V[a\x10\xD9a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x7F\x19D\x9AJ\xD5~@\xA5\xAAw\xE7\x85\xB4S\x9ES\xBA\x9E\x7F\xED\xBFpv8\x8E\xE3\xFB\x1B\xC2\xDD\xEA\x1B\x90V[a\x11\x17a\x10\xEBV[\x90V[4a\x11JWa\x11*6`\x04a\x04\x8FV[a\x11Fa\x115a\x11\x0FV[a\x11=a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[4a\x11\x7FWa\x11{a\x11ja\x11e6`\x04a\x0CrV[a%EV[a\x11ra\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[4a\x11\xB5Wa\x11\xB1a\x11\xA0a\x11\x9A6`\x04a\r\xAAV[\x90a%dV[a\x11\xA8a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x7F\xA4\x98\x07 \\\xE4\xD3U\t.\xF5\xA8\xA1\x8FV\xE8\x91<\xF4\xA2\x01\xFB\xE2\x87\x82[\tV\x93\xC2\x17u\x90V[a\x11\xE6a\x11\xBAV[\x90V[4a\x12\x19Wa\x11\xF96`\x04a\x04\x8FV[a\x12\x15a\x12\x04a\x11\xDEV[a\x12\x0Ca\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[`\xFF\x16\x90V[a\x124\x90`\x08a\x129\x93\x02a\x04\x9EV[a\x12\x1EV[\x90V[\x90a\x12G\x91Ta\x12$V[\x90V[a\x12V`\x05_\x90a\x12<V[\x90V[4a\x12\x89Wa\x12i6`\x04a\x04\x8FV[a\x12\x85a\x12ta\x12JV[a\x12|a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x12\xA5a\x12\xA0a\x12\xAA\x92a\x12\x8EV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x12\xB9bO\x1A\0a\x12\x91V[\x90V[a\x12\xC4a\x12\xADV[\x90V[4a\x12\xF7Wa\x12\xD76`\x04a\x04\x8FV[a\x12\xF3a\x12\xE2a\x12\xBCV[a\x12\xEAa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x13\x13a\x13\x0Ea\x13\x18\x92a\x12\xFCV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x13(c\x05\xF5\xE1\0a\x12\xFFV[\x90V[a\x133a\x13\x1BV[\x90V[4a\x13fWa\x13F6`\x04a\x04\x8FV[a\x13ba\x13Qa\x13+V[a\x13Ya\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x13u_\x80a\x04\xC7V[\x90V[4a\x13\xA8Wa\x13\x886`\x04a\x04\x8FV[a\x13\xA4a\x13\x93a\x13kV[a\x13\x9Ba\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x13\xB6\x90a\x05SV[\x90RV[\x91\x90a\x13\xCD\x90_` \x85\x01\x94\x01\x90a\x13\xADV[V[4a\x13\xFFWa\x13\xFBa\x13\xEAa\x13\xE56`\x04a\x0CrV[a%\xD2V[a\x13\xF2a\x03\xD4V[\x91\x82\x91\x82a\x13\xBAV[\x03\x90\xF3[a\x03\xDAV[4a\x144Wa\x140a\x14\x1Fa\x14\x1A6`\x04a\x04\x15V[a%\xF1V[a\x14'a\x03\xD4V[\x91\x82\x91\x82a\x13\xBAV[\x03\x90\xF3[a\x03\xDAV[4a\x14jWa\x14fa\x14Ua\x14O6`\x04a\x0B\x05V[\x90a&\x1CV[a\x14]a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[4a\x14\x9FWa\x14\x9Ba\x14\x8Aa\x14\x856`\x04a\x0CrV[a&NV[a\x14\x92a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90\x91``\x82\x84\x03\x12a\x14\xD9Wa\x14\xD6a\x14\xBF\x84_\x85\x01a\x05sV[\x93a\x14\xCD\x81` \x86\x01a\x05\x96V[\x93`@\x01a\x05sV[\x90V[a\x03\xDEV[4a\x15\x0FWa\x15\x0Ba\x14\xFAa\x14\xF46`\x04a\x14\xA4V[\x91a(\x86V[a\x15\x02a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x15*\x90a\x15%`V\x91_\x92a\r\xEDV[a\x04\xC7V[\x90V[4a\x15]Wa\x15Ya\x15Ha\x15C6`\x04a\x0CrV[a\x15\x14V[a\x15Pa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x15{a\x15\x80\x92a\x15v`W\x93_\x94a\r\xD7V[a\r\xEDV[a\x04\xC7V[\x90V[4a\x15\xB4Wa\x15\xB0a\x15\x9Fa\x15\x996`\x04a\r\xAAV[\x90a\x15bV[a\x15\xA7a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x15\xD0a\x15\xCBa\x15\xD5\x92a\x15\xB9V[a\x05\xD2V[a\x04\xE4V[\x90V[a\x15\xE4b'\x8D\0a\x15\xBCV[\x90V[a\x15\xEFa\x15\xD8V[\x90V[4a\x16\"Wa\x16\x026`\x04a\x04\x8FV[a\x16\x1Ea\x16\ra\x15\xE7V[a\x16\x15a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[_\x1B\x90V[a\x16Ca\x16>a\x16H\x92a\x16'V[a\x16*V[a\x07\xBCV[\x90V[a\x16T_a\x16/V[\x90V[a\x16_a\x16KV[\x90V[4a\x16\x92Wa\x16r6`\x04a\x04\x8FV[a\x16\x8Ea\x16}a\x16WV[a\x16\x85a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[a\x16\xA0\x90a\x04\xE4V[\x90RV[a\x16\xAD\x90a\x07\xBCV[\x90RV[a\x16\xBA\x90a\x07\xCCV[\x90RV[a\x16\xC7\x90a\x07\xE0V[\x90RV[\x90a\x01\0\x80a\x17l\x93a\x16\xE4_\x82\x01Q_\x86\x01\x90a\x16\x97V[a\x16\xF6` \x82\x01Q` \x86\x01\x90a\x16\x97V[a\x17\x08`@\x82\x01Q`@\x86\x01\x90a\x16\x97V[a\x17\x1A``\x82\x01Q``\x86\x01\x90a\x16\xA4V[a\x17,`\x80\x82\x01Q`\x80\x86\x01\x90a\x16\xB1V[a\x17>`\xA0\x82\x01Q`\xA0\x86\x01\x90a\x16\xBEV[a\x17P`\xC0\x82\x01Q`\xC0\x86\x01\x90a\x16\xBEV[a\x17b`\xE0\x82\x01Q`\xE0\x86\x01\x90a\x16\xBEV[\x01Q\x91\x01\x90a\x16\xA4V[V[\x91\x90a\x17\x82\x90_a\x01 \x85\x01\x94\x01\x90a\x16\xCBV[V[4a\x17\xB5Wa\x17\xB1a\x17\xA0a\x17\x9A6`\x04a\x05\xA5V[\x90a*4V[a\x17\xA8a\x03\xD4V[\x91\x82\x91\x82a\x17nV[\x03\x90\xF3[a\x03\xDAV[\x7F\xB1\xFA\xDD1B\xAB*\xD7\xF13~\xA4\xD9q\x12\xBC\xC83\x7F\xC1\x1C\xE5\xB2\x0C\xB0J\xD08\xAD\xF9\x98\x19\x90V[a\x17\xE6a\x17\xBAV[\x90V[4a\x18\x19Wa\x17\xF96`\x04a\x04\x8FV[a\x18\x15a\x18\x04a\x17\xDEV[a\x18\x0Ca\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x185a\x180a\x18:\x92a\x18\x1EV[a\x05\xD2V[a\x07\xCCV[\x90V[a\x18Ha2\xC8a\x18!V[\x90V[a\x18Sa\x18=V[\x90V[4a\x18\x86Wa\x18f6`\x04a\x04\x8FV[a\x18\x82a\x18qa\x18KV[a\x18ya\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x18\xA2a\x18\x9Da\x18\xA7\x92a\x18\x8BV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x18\xBBg\r\xE0\xB6\xB3\xA7d\0\0a\x18\x8EV[\x90V[a\x18\xC6a\x18\xAAV[\x90V[4a\x18\xF9Wa\x18\xD96`\x04a\x04\x8FV[a\x18\xF5a\x18\xE4a\x18\xBEV[a\x18\xECa\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x19\x1CWa\x19\x18` \x91a\x0E^V[\x01\x90V[a\x0EhV[\x90a\x193a\x19.\x83a\x18\xFEV[a\x0E\xA5V[\x91\x82RV[_\x7F5.0.0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91\x01RV[a\x19i`\x05a\x19!V[\x90a\x19v` \x83\x01a\x198V[V[a\x19\x80a\x19_V[\x90V[a\x19\x8Ba\x19xV[\x90V[a\x19\x96a\x19\x83V[\x90V[Q\x90V[` \x91\x81R\x01\x90V[\x90\x82_\x93\x92\x82^\x01RV[a\x19\xD0a\x19\xD9` \x93a\x19\xDE\x93a\x19\xC7\x81a\x19\x99V[\x93\x84\x80\x93a\x19\x9DV[\x95\x86\x91\x01a\x19\xA6V[a\x0E^V[\x01\x90V[a\x19\xF7\x91` \x82\x01\x91_\x81\x84\x03\x91\x01Ra\x19\xB1V[\x90V[4a\x1A*Wa\x1A\n6`\x04a\x04\x8FV[a\x1A&a\x1A\x15a\x19\x8EV[a\x1A\x1Da\x03\xD4V[\x91\x82\x91\x82a\x19\xE2V[\x03\x90\xF3[a\x03\xDAV[a\x1A;`\x07_\x90a\x12<V[\x90V[4a\x1AnWa\x1AN6`\x04a\x04\x8FV[a\x1Aja\x1AYa\x1A/V[a\x1Aaa\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1A\x8Aa\x1A\x85a\x1A\x8F\x92a\x1AsV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1A\x9C`\x01a\x1AvV[\x90V[a\x1A\xA7a\x1A\x92V[\x90V[4a\x1A\xDAWa\x1A\xBA6`\x04a\x04\x8FV[a\x1A\xD6a\x1A\xC5a\x1A\x9FV[a\x1A\xCDa\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x1A\xEB_`\x18\x90a\x04\xC7V[\x90V[4a\x1B\x1EWa\x1A\xFE6`\x04a\x04\x8FV[a\x1B\x1Aa\x1B\ta\x1A\xDFV[a\x1B\x11a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90` \x80a\x1BE\x93a\x1B;_\x82\x01Q_\x86\x01\x90a\x16\xBEV[\x01Q\x91\x01\x90a\x16\xBEV[V[\x91\x90a\x1BZ\x90_`@\x85\x01\x94\x01\x90a\x1B#V[V[4a\x1B\x8DWa\x1B\x89a\x1Bxa\x1Br6`\x04a\r\xAAV[\x90a+\x0BV[a\x1B\x80a\x03\xD4V[\x91\x82\x91\x82a\x1BGV[\x03\x90\xF3[a\x03\xDAV[4a\x1B\xC3Wa\x1B\xBFa\x1B\xAEa\x1B\xA86`\x04a\r\xAAV[\x90a+3V[a\x1B\xB6a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x1B\xD1\x81a\x07\xE0V[\x03a\x1B\xD8WV[_\x80\xFD[\x90P5\x90a\x1B\xE9\x82a\x1B\xC8V[V[a\x1B\xF4\x81a\x07\xCCV[\x03a\x1B\xFBWV[_\x80\xFD[\x90P5\x90a\x1C\x0C\x82a\x1B\xEBV[V[`\x80\x81\x83\x03\x12a\x1COWa\x1C$\x82_\x83\x01a\x05sV[\x92a\x1CLa\x1C5\x84` \x85\x01a\x1B\xDCV[\x93a\x1CC\x81`@\x86\x01a\x1B\xDCV[\x93``\x01a\x1B\xFFV[\x90V[a\x03\xDEV[4a\x1C\x86Wa\x1Cpa\x1Cg6`\x04a\x1C\x0EV[\x92\x91\x90\x91a3\x1FV[a\x1Cxa\x03\xD4V[\x80a\x1C\x82\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1C\xA2a\x1C\x9Da\x1C\xA7\x92a\x1C\x8BV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1C\xB6bv\xA7\0a\x1C\x8EV[\x90V[a\x1C\xC1a\x1C\xAAV[\x90V[4a\x1C\xF4Wa\x1C\xD46`\x04a\x04\x8FV[a\x1C\xF0a\x1C\xDFa\x1C\xB9V[a\x1C\xE7a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1D\x10a\x1D\x0Ba\x1D\x15\x92a\x1C\xF9V[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1D$b\t:\x80a\x1C\xFCV[\x90V[a\x1D/a\x1D\x18V[\x90V[4a\x1DbWa\x1DB6`\x04a\x04\x8FV[a\x1D^a\x1DMa\x1D'V[a\x1DUa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[4a\x1D\x96Wa\x1D\x80a\x1Dz6`\x04a\x0B\x05V[\x90a3WV[a\x1D\x88a\x03\xD4V[\x80a\x1D\x92\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x1D\xA7`\x01_\x90a\x04\xC7V[\x90V[4a\x1D\xDAWa\x1D\xBA6`\x04a\x04\x8FV[a\x1D\xD6a\x1D\xC5a\x1D\x9BV[a\x1D\xCDa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1D\xF6a\x1D\xF1a\x1D\xFB\x92a\x1D\xDFV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1E\x0Ef#\x86\xF2o\xC1\0\0a\x1D\xE2V[\x90V[a\x1E\x19a\x1D\xFEV[\x90V[4a\x1ELWa\x1E,6`\x04a\x04\x8FV[a\x1EHa\x1E7a\x1E\x11V[a\x1E?a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\x1E\x82W_\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x1E}Wa\x1Ey\x92\x01a\t\xDFV[\x90\x91V[a\x03\xE2V[a\x03\xDEV[4a\x1E\xB6Wa\x1E\xA0a\x1E\x9A6`\x04a\x1EQV[\x90a3\xB8V[a\x1E\xA8a\x03\xD4V[\x80a\x1E\xB2\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x1E\xCFa\x1E\xCAa\x1E\xD4\x92a\x0C\xF8V[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1E\xE2a'\x10a\x1E\xBBV[\x90V[a\x1E\xEDa\x1E\xD7V[\x90V[4a\x1F Wa\x1F\x006`\x04a\x04\x8FV[a\x1F\x1Ca\x1F\x0Ba\x1E\xE5V[a\x1F\x13a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[4a\x1FTWa\x1F>a\x1F86`\x04a\x05\xA5V[\x90a4\xE9V[a\x1FFa\x03\xD4V[\x80a\x1FP\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1Fpa\x1Fka\x1Fu\x92a\x1FYV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1F\x84b\xEDN\0a\x1F\\V[\x90V[a\x1F\x8Fa\x1FxV[\x90V[4a\x1F\xC2Wa\x1F\xA26`\x04a\x04\x8FV[a\x1F\xBEa\x1F\xADa\x1F\x87V[a\x1F\xB5a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x1F\xD3_`\x08\x90a\x04\xC7V[\x90V[4a \x06Wa\x1F\xE66`\x04a\x04\x8FV[a \x02a\x1F\xF1a\x1F\xC7V[a\x1F\xF9a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[_\x90V[a \x17a \x0BV[P\x80a 2a ,cye\xDB\x0B`\xE0\x1Ba\x03\xE6V[\x91a\x03\xE6V[\x14\x90\x81\x15a ?W[P\x90V[a I\x91Pa4\xFAV[_a ;V[_\x90V[\x90a ]\x90a\x05\xFDV[_R` R`@_ \x90V[a r\x90a\x07\xBCV[\x90V[\x90a \x7F\x90a iV[_R` R`@_ \x90V[a \x9Fa \x9Aa \xA4\x92a\x16'V[a\x05\xD2V[a\x07\xE0V[\x90V[a \xCC\x91a \xC2a \xC7\x92a \xBAa OV[P`\x11a SV[a uV[a\x07(V[\x80a \xDFa \xD9_a \x8BV[\x91a\x07\xE0V[\x14_\x14a \xF3WPa \xEFa\x18\xAAV[[\x90V[a \xF0V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a!\x10W` \x80\x91\x02\x01\x90V[a\x0EhV[\x90\x92\x91\x92a!*a!%\x82a \xF8V[a\x0E\xA5V[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a!gW\x91[\x83\x83\x10a!NWPPPPV[` \x80\x91a!\\\x84\x86a\x04\x06V[\x81R\x01\x92\x01\x91a!AV[a\t\xDBV[a!w\x916\x91a!\x15V[\x90V[a!\x96\x92a!\x90\x91a!\x8Aa52V[\x92a!lV[\x90a5mV[V[_\x90V[\x90a!\xA6\x90a iV[_R` R`@_ \x90V[`\x01a!\xD3a!\xD9\x92a!\xC3a!\x98V[P_a!\xCDa6\xE1V[\x01a!\x9CV[\x01a\x06\xDCV[\x90V[\x90a!\xF7\x91a!\xF2a!\xED\x82a!\xB2V[a7\x05V[a!\xF9V[V[\x90a\"\x03\x91a7\x19V[PV[\x90a\"\x10\x91a!\xDCV[V[\x90\x80a\"-a\"'a\"\"a7\xD0V[a\x05SV[\x91a\x05SV[\x03a\">Wa\";\x91a7\xDDV[PV[_c3K\xD9\x19`\xE1\x1B\x81R\x80a\"V`\x04\x82\x01a\ndV[\x03\x90\xFD[a\"c\x90a\x05\xD5V[\x90V[a\"o\x90a\"ZV[\x90V[a\"{\x90a\x05\xF1V[\x90V[`\xE0\x1B\x90V[\x90PQ\x90a\"\x91\x82a\x03\xF2V[V[\x90\x92\x91\x92a\"\xA8a\"\xA3\x82a \xF8V[a\x0E\xA5V[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a\"\xE5W\x91[\x83\x83\x10a\"\xCCWPPPPV[` \x80\x91a\"\xDA\x84\x86a\"\x84V[\x81R\x01\x92\x01\x91a\"\xBFV[a\t\xDBV[\x90\x80`\x1F\x83\x01\x12\x15a#\x08W\x81` a#\x05\x93Q\x91\x01a\"\x93V[\x90V[a\t\xD3V[\x90` \x82\x82\x03\x12a#=W_\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a#8Wa#5\x92\x01a\"\xEAV[\x90V[a\x03\xE2V[a\x03\xDEV[a#Ja\x03\xD4V[=_\x82>=\x90\xFD[a#Za52V[a#\x85_a#oa#j\x84a\"fV[a\"rV[cn%\xB9x\x90a#}a\x03\xD4V[\x93\x84\x92a\"~V[\x82R\x81\x80a#\x95`\x04\x82\x01a\ndV[\x03\x91Z\xFA\x80\x15a$\x15Wa#\xB1\x91_\x91a#\xF3W[P\x82a5mV[a#\xDB\x7FM<0\xF5\x99?\x19\"\xA7y4Z\x0F~\xC1\xA1p\xF1\xE5.\x9D#\x08$\xF9\xC1~cYl\x90m\x91a\x05\xFDV[\x90a#\xE4a\x03\xD4V[\x80a#\xEE\x81a\ndV[\x03\x90\xA2V[a$\x0F\x91P=\x80_\x83>a$\x07\x81\x83a\x0E|V[\x81\x01\x90a#\rV[_a#\xAAV[a#BV[\x90a$$\x90a\x05\xFDV[_R` R`@_ \x90V[a$Ga$L\x91a$?a OV[P`\x1Ba$\x1AV[a\x07(V[\x90V[\x90a$a\x91a$\\a8\x96V[a$cV[V[\x90a$v\x91a$q\x81a9PV[a9\xACV[V[\x90a$\x82\x91a$OV[V[a$\x95\x90a$\x90a:\xAAV[a$\xE3V[\x90V[\x90V[a$\xAFa$\xAAa$\xB4\x92a$\x98V[a\x16*V[a\x07\xBCV[\x90V[a$\xE0\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCa$\x9BV[\x90V[Pa$\xECa$\xB7V[\x90V[a$\xFFa$\xFAa!\x98V[a$\x84V[\x90V[a%\x0Ea%\x13\x91a\x06QV[a\x12\x1EV[\x90V[a% \x90Ta%\x02V[\x90V[a%+a \x0BV[Pa%>_a%8a;\x08V[\x01a%\x16V[\x90V[_\x90V[a%\\a%a\x91a%Ta%AV[P`Va\r\xEDV[a\x06jV[\x90V[a%\x89\x91a%\x7Fa%\x84\x92a%wa%AV[P`Wa\r\xD7V[a\r\xEDV[a\x06jV[\x90V[_\x90V[\x90a%\x9A\x90a\x05\xFDV[_R` R`@_ \x90V[`\x01\x80`\xA0\x1B\x03\x16\x90V[a%\xBDa%\xC2\x91a\x06QV[a%\xA6V[\x90V[a%\xCF\x90Ta%\xB1V[\x90V[a%\xE9a%\xEE\x91a%\xE1a%\x8CV[P`\x06a%\x90V[a%\xC5V[\x90V[a&\x03\x90a%\xFDa%\x8CV[Pa;BV[\x90V[\x90a&\x10\x90a\x05\xFDV[_R` R`@_ \x90V[a&K\x91_a&@a&F\x93a&0a \x0BV[P\x82a&:a6\xE1V[\x01a!\x9CV[\x01a&\x06V[a%\x16V[\x90V[a&ea&j\x91a&]a%AV[P`#a\r\xEDV[a\x06jV[\x90V[\x90a&w\x90a\x04\xE4V[\x90RV[\x90a&\x85\x90a\x07\xBCV[\x90RV[\x90a&\x93\x90a\x07\xCCV[\x90RV[\x90a&\xA1\x90a\x07\xE0V[\x90RV[a&\xB0a\x01 a\x0E\xA5V[\x90V[\x90a'\x91a'\x87`\x06a&\xC4a&\xA5V[\x94a&\xDBa&\xD3_\x83\x01a\x06jV[_\x88\x01a&mV[a&\xF2a&\xE9_\x83\x01a\x06\x91V[` \x88\x01a&mV[a'\ta'\0_\x83\x01a\x06\xB8V[`@\x88\x01a&mV[a'!a'\x18`\x01\x83\x01a\x06\xDCV[``\x88\x01a&{V[a'9a'0`\x02\x83\x01a\x07\x04V[`\x80\x88\x01a&\x89V[a'Qa'H`\x03\x83\x01a\x07(V[`\xA0\x88\x01a&\x97V[a'ia'``\x04\x83\x01a\x07(V[`\xC0\x88\x01a&\x97V[a'\x81a'x`\x05\x83\x01a\x07(V[`\xE0\x88\x01a&\x97V[\x01a\x06\xDCV[a\x01\0\x84\x01a&{V[V[a'\x9C\x90a&\xB3V[\x90V[a'\xA9\x90Qa\x04\xE4V[\x90V[a'\xC0a'\xBBa'\xC5\x92a\x16'V[a\x05\xD2V[a\x04\xE4V[\x90V[a'\xD2\x90Qa\x07\xBCV[\x90V[a'\xDF\x90Qa\x07\xE0V[\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[a(\x05a(\x0B\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x82\x03\x91\x82\x11a(\x16WV[a'\xE2V[a(*a(0\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x91a(<\x83\x82\x02a\x07\xE0V[\x92\x81\x84\x04\x14\x90\x15\x17\x15a(KWV[a'\xE2V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[a(pa(v\x91a\x07\xE0V[\x91a\x07\xE0V[\x90\x81\x15a(\x81W\x04\x90V[a(PV[\x92\x91\x90\x92a(\xAFa(\xAAa(\x98a OV[\x95a(\xA5`U\x85\x90a\x06\tV[a\x06;V[a'\x93V[\x91a(\xBB_\x84\x01a'\x9FV[a(\xCDa(\xC7_a'\xACV[\x91a\x04\xE4V[\x14a)\x8EW\x90a(\xEA\x91\x90a(\xE4``\x85\x01a'\xC8V[\x91a<vV[\x90\x81a(\xFEa(\xF8_a \x8BV[\x91a\x07\xE0V[\x14a)~Wa)\x0F`\xC0\x82\x01a'\xD5V[a),a)&a)!`\xE0\x85\x01a'\xD5V[a\x07\xE0V[\x91a\x07\xE0V[\x11a)6W[PPV[a)v\x92\x93P\x90a)b\x82a)\\`\xE0a)U`\xC0a)h\x97\x01a'\xD5V[\x92\x01a'\xD5V[\x90a'\xF6V[\x90a(\x1BV[a)pa\x18\xAAV[\x90a(dV[\x90_\x80a)2V[PP\x90Pa)\x8B_a \x8BV[\x90V[PPP\x90Pa)\x9C_a \x8BV[\x90V[_\x90V[_\x90V[_\x90V[_\x90V[a)\xB7a&\xA5V[\x90` \x80\x80\x80\x80\x80\x80\x80\x80\x8Aa)\xCBa)\x9FV[\x81R\x01a)\xD6a)\x9FV[\x81R\x01a)\xE1a)\x9FV[\x81R\x01a)\xECa)\xA3V[\x81R\x01a)\xF7a)\xA7V[\x81R\x01a*\x02a)\xABV[\x81R\x01a*\ra)\xABV[\x81R\x01a*\x18a)\xABV[\x81R\x01a*#a)\xA3V[\x81RPPV[a*1a)\xAFV[\x90V[a*Y\x91a*Oa*T\x92a*Ga*)V[P`Ua\x06\tV[a\x06;V[a'\x93V[\x90V[a*f`@a\x0E\xA5V[\x90V[a*qa*\\V[\x90` \x80\x83a*~a)\xABV[\x81R\x01a*\x89a)\xABV[\x81RPPV[a*\x97a*iV[\x90V[\x90a*\xA4\x90a\x06\x1FV[_R` R`@_ \x90V[\x90a*\xBA\x90a\x05\xFDV[_R` R`@_ \x90V[\x90a*\xFDa*\xF4`\x01a*\xD7a*\\V[\x94a*\xEEa*\xE6_\x83\x01a\x07(V[_\x88\x01a&\x97V[\x01a\x07(V[` \x84\x01a&\x97V[V[a+\x08\x90a*\xC6V[\x90V[a+0\x91a+&a++\x92a+\x1Ea*\x8FV[P`\x10a*\x9AV[a*\xB0V[a*\xFFV[\x90V[a+X\x91a+Na+S\x92a+Fa%AV[P`Xa\r\xD7V[a\r\xEDV[a\x06jV[\x90V[a+ga+l\x91a\x06wV[a\x12\x1EV[\x90V[a+y\x90Ta+[V[\x90V[a+\x90a+\x8Ba+\x95\x92a\x1AsV[a\x05\xD2V[a\x04\xE4V[\x90V[a+\xA1\x90a\x05\xF1V[\x90V[\x90a+\xB7g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x90a+\xD9a+\xD4a+\xE0\x92a\x06\x1FV[a+\xC1V[\x82Ta+\xA4V[\x90UV[`@\x1B\x90V[\x90a+\xFEh\xFF\0\0\0\0\0\0\0\0\x91a+\xE4V[\x91\x81\x19\x16\x91\x16\x17\x90V[a,\x11\x90a\x043V[\x90V[\x90V[\x90a,,a,'a,3\x92a,\x08V[a,\x14V[\x82Ta+\xEAV[\x90UV[a,@\x90a+|V[\x90RV[\x91\x90a,W\x90_` \x85\x01\x94\x01\x90a,7V[V[\x90\x91\x92a,da=eV[\x93a,ya,s_\x87\x01a+oV[\x15a\x043V[\x93a,\x85_\x87\x01a\x06jV[\x80a,\x98a,\x92_a'\xACV[\x91a\x04\xE4V[\x14\x80a-\xB2W[\x90a,\xB3a,\xAD`\x01a+|V[\x91a\x04\xE4V[\x14\x80a-\x8AW[a,\xC5\x90\x91\x15a\x043V[\x90\x81a-yW[Pa-]Wa,\xF5\x93a,\xEAa,\xE2`\x01a+|V[_\x89\x01a+\xC4V[\x85a-KW[a1tV[a,\xFDW[PV[a-\n\x90_\x80\x91\x01a,\x17V[`\x01a-B\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x91a-9a\x03\xD4V[\x91\x82\x91\x82a,DV[\x03\x90\xA1_a,\xFAV[a-X`\x01_\x89\x01a,\x17V[a,\xF0V[_c\xF9.\xE8\xA9`\xE0\x1B\x81R\x80a-u`\x04\x82\x01a\ndV[\x03\x90\xFD[a-\x84\x91P\x15a\x043V[_a,\xCCV[Pa,\xC5a-\x970a+\x98V[;a-\xAAa-\xA4_a \x8BV[\x91a\x07\xE0V[\x14\x90Pa,\xBAV[P\x85a,\x9FV[a-\xCDa-\xC8a-\xD2\x92a\x16'V[a\x05\xD2V[a\x05HV[\x90V[a-\xDE\x90a-\xB9V[\x90V[a-\xEB`@a\x0E\xA5V[\x90V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x02\x11\x15a.\x0CWV[a-\xEEV[\x90a.\x1B\x82a.\x02V[V[\x90a.'\x90a.\x11V[\x90RV[\x90a.5\x90a\x05SV[\x90RV[a.Ma.Ha.R\x92a\x07\xE0V[a\x05\xD2V[a\x07\xCCV[\x90V[a._`\xC0a\x0E\xA5V[\x90V[\x90a.l\x90a\x043V[\x90RV[\x90a.z\x90a iV[_R` R`@_ \x90V[a.\x90\x90Qa\x043V[\x90V[\x90a.\x9F`\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a.\xBEa.\xB9a.\xC5\x92a,\x08V[a,\x14V[\x82Ta.\x93V[\x90UV[\x90a.\xD5_\x19\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[a.\xF3a.\xEEa.\xF8\x92a\x07\xE0V[a\x05\xD2V[a\x07\xE0V[\x90V[\x90V[\x90a/\x13a/\x0Ea/\x1A\x92a.\xDFV[a.\xFBV[\x82Ta.\xC9V[\x90UV[a/(\x90Qa\x07\xCCV[\x90V[\x90a/8a\xFF\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/Va/Qa/[\x92a\x07\xCCV[a\x05\xD2V[a\x07\xCCV[\x90V[\x90V[\x90a/va/qa/}\x92a/BV[a/^V[\x82Ta/+V[\x90UV[\x90a0\x10`\xA0`\x05a0\x16\x94a/\xA4_\x82\x01a/\x9E_\x88\x01a.\x86V[\x90a.\xA9V[a/\xBD`\x01\x82\x01a/\xB7` \x88\x01a'\xD5V[\x90a.\xFEV[a/\xD6`\x02\x82\x01a/\xD0`@\x88\x01a'\xD5V[\x90a.\xFEV[a/\xEF`\x03\x82\x01a/\xE9``\x88\x01a'\xD5V[\x90a.\xFEV[a0\x08`\x04\x82\x01a0\x02`\x80\x88\x01a'\xD5V[\x90a.\xFEV[\x01\x92\x01a/\x1EV[\x90a/aV[V[\x90a0\"\x91a/\x81V[V[`\x80\x1B\x90V[\x90a0:a\xFF\xFF`\x80\x1B\x91a0$V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0Ya0Ta0`\x92a/BV[a/^V[\x82Ta0*V[\x90UV[\x90V[a0{a0va0\x80\x92a0dV[a\x05\xD2V[a\x04\xE4V[\x90V[a0\x8EaT`a0gV[\x90V[\x90a0\xACo\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x91a+\xE4V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0\xCBa0\xC6a0\xD2\x92a\x06\x1FV[a+\xC1V[\x82Ta0\x91V[\x90UV[\x90V[a0\xEDa0\xE8a0\xF2\x92a0\xD6V[a\x05\xD2V[a\x04\xE4V[\x90V[a0\xFF`\x1Ca0\xD9V[\x90V[`\xC0\x1B\x90V[\x90a1\x1Eg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\xC0\x1B\x91a1\x02V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1=a18a1D\x92a\x06\x1FV[a+\xC1V[\x82Ta1\x08V[\x90UV[\x90V[a1_a1Za1d\x92a1HV[a\x05\xD2V[a\x04\xE4V[\x90V[a1q`8a1KV[\x90V[\x91\x90\x91a1\x7Fa=\x93V[a1\x87a=\xA7V[a1\x8Fa=\xCDV[a1\x97a=\xF3V[a1\x9Fa\x16KV[\x81a1\xA9\x91a7\x19V[Pa1\xB2a\x11\xBAV[\x81a1\xBC\x91a7\x19V[Pa1\xC5a\x17\xBAV[\x90a1\xCF\x91a7\x19V[P_\x80a1\xDB\x90a-\xD5V[a1\xE3a-\xE1V[\x91_\x83\x01\x90a1\xF1\x91a.\x1DV[` \x82\x01\x90a1\xFF\x91a.+V[a2\x08\x90a>]V[\x90`\x01\x92\x90_\x80\x91a2\x18a\x1E\xD7V[a2!\x90a.9V[\x93a2*a.UV[\x96_\x88\x01\x90a28\x91a.bV[` \x87\x01\x90a2F\x91a&\x97V[`@\x86\x01\x90a2T\x91a&\x97V[a2]\x90a \x8BV[``\x85\x01\x90a2k\x91a&\x97V[a2t\x90a \x8BV[`\x80\x84\x01\x90a2\x82\x91a&\x97V[`\xA0\x83\x01\x90a2\x90\x91a&\x89V[`\x02\x90a2\x9C\x91a.pV[\x90a2\xA6\x91a0\x18V[`\x01a2\xB3\x90`\x05a.\xA9V[a2\xBE\x90`\x01a0DV[`\x01a2\xC9\x90a+|V[a2\xD3\x90_a+\xC4V[a2\xDBa0\x83V[a2\xE5\x90_a0\xB6V[a2\xEDa0\xF5V[a2\xF7\x90_a1(V[a2\xFFa0\xF5V[a3\n\x90`\x01a+\xC4V[a3\x12a1gV[a3\x1D\x90`\x01a0\xB6V[V[\x90a3+\x93\x92\x91a,YV[V[\x90a3H\x91a3Ca3>\x82a!\xB2V[a7\x05V[a3JV[V[\x90a3T\x91a7\xDDV[PV[\x90a3a\x91a3-V[V[`\x01a3o\x91\x01a\x07\xE0V[\x90V[P\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x91\x90\x81\x10\x15a3\x9AW` \x02\x01\x90V[a3vV[5a3\xA9\x81a\x03\xF2V[\x90V[a3\xB5\x90a\x03\xE6V[\x90V[\x91\x90\x91a3\xC3a52V[a3\xCC_a \x8BV[[\x80a3\xEAa3\xE4a3\xDF\x85\x88\x90a3rV[a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a4nWa4i\x90a4\x10a4\x0Ba4\x06\x85\x88\x85\x91a3\x8AV[a3\x9FV[a?$V[a4$a4\x1F\x84\x87\x84\x91a3\x8AV[a3\x9FV[a4N\x7F\xBE\xB2w\x01\x82\x8FQ[\x03\x06\x9DD\xDAe\x19\xB6\xC4\x91\xDA\x13\xEF\x1C\xA7\x08.a\x99Y\xD1\xF4\x8D\xDB\x91a3\xACV[\x90a4Wa\x03\xD4V[\x80a4a\x81a\ndV[\x03\x90\xA2a3cV[a3\xCDV[PP\x90PV[\x90a4\x8E\x91a4\x89a4\x84a\x11\xBAV[a7\x05V[a4\x90V[V[a4\xA5\x82a4\xA0`#\x84\x90a\r\xEDV[a+\xC4V[a4\xE4a4\xD2\x7F\x90\xB3~Y\xA9B\xC5A<\xE0\n:\x84JG\xC2\0\x94\x97\x98\x97\xCCe6\x06\xD9%\xE9\t\x88_5\x92a\x05\xFDV[\x92a4\xDBa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xA2V[\x90a4\xF3\x91a4tV[V[a?:V[a5\x02a \x0BV[Pa5\x1Ca5\x16c\x01\xFF\xC9\xA7`\xE0\x1Ba\x03\xE6V[\x91a\x03\xE6V[\x14\x90V[a50a5+a\x11\xBAV[a7\x05V[V[a5:a5 V[V[Q\x90V[\x90a5J\x82a5<V[\x81\x10\x15a5[W` \x80\x91\x02\x01\x01\x90V[a3vV[a5j\x90Qa\x03\xE6V[\x90V[\x91\x90\x82a5\x8Aa5\x84a5\x7F_a-\xD5V[a\x05SV[\x91a\x05SV[\x14a6\xDCW\x82;a5\xA3a5\x9D_a \x8BV[\x91a\x07\xE0V[\x14a6\xD6Wa5\xB1_a \x8BV[[\x80a5\xCDa5\xC7a5\xC2\x85a5<V[a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a6\xD0Wa5\xEEa5\xE9a5\xE4\x84\x84\x90a5@V[a5`V[a;BV[\x80a6\ta6\x03a5\xFE_a-\xD5V[a\x05SV[\x91a\x05SV[\x14\x15\x80a6\xB5W[a6\x9EWPa6\x99\x90a67a60a6+\x85\x84\x90a5@V[a5`V[\x86\x90a@AV[a6Ja6E\x84\x83\x90a5@V[a5`V[\x85a6~a6x\x7F\x12U\x7F%\xE4X\xD9h-|\x95\x9BZ\x96\x0B\xC93.\x8Bz\xF1\x12\x0BT\xA33\xBF\xC1\xFF(+9\x93a3\xACV[\x91a\x05\xFDV[\x91a6\x87a\x03\xD4V[\x80a6\x91\x81a\ndV[\x03\x90\xA3a3cV[a5\xB2V[a6\xB0a6\xAB\x83\x85a5@V[a5`V[a?\xE8V[P\x80a6\xC9a6\xC3\x87a\x05SV[\x91a\x05SV[\x14\x15a6\x11V[PP\x90PV[\x82a?\x99V[a?}V[\x7F\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x90V[a7\x17\x90a7\x11a7\xD0V[\x90a@zV[V[a7!a \x0BV[Pa7*a6\xE1V[a7>a78\x83\x85\x90a&\x1CV[\x15a\x043V[_\x14a7\xC9Wa7h\x90a7c_a7[\x81`\x01\x94\x01\x86\x90a!\x9CV[\x01\x85\x90a&\x06V[a.\xA9V[\x90a7qa7\xD0V[\x90a7\xAEa7\xA8a7\xA2\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r\x95a iV[\x92a\x05\xFDV[\x92a\x05\xFDV[\x92a7\xB7a\x03\xD4V[\x80a7\xC1\x81a\ndV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a7\xD8a%\x8CV[P3\x90V[a7\xE5a \x0BV[Pa7\xEEa6\xE1V[a7\xF9\x82\x84\x90a&\x1CV[_\x14a8\x83Wa8\"\x90a8\x1D_a8\x15\x81\x80\x94\x01\x86\x90a!\x9CV[\x01\x85\x90a&\x06V[a.\xA9V[\x90a8+a7\xD0V[\x90a8ha8ba8\\\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x95a iV[\x92a\x05\xFDV[\x92a\x05\xFDV[\x92a8qa\x03\xD4V[\x80a8{\x81a\ndV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a8\x93\x90a\x05\xF1V[\x90V[a8\x9F0a8\x8AV[a8\xD1a8\xCB\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\x05SV[\x91a\x05SV[\x14\x80\x15a8\xFBW[a8\xDFWV[_cp>F\xDD`\xE1\x1B\x81R\x80a8\xF7`\x04\x82\x01a\ndV[\x03\x90\xFD[Pa9\x04a@\xB5V[a96a90\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\x05SV[\x91a\x05SV[\x14\x15a8\xD9V[Pa9Na9Ia\x11\xBAV[a7\x05V[V[a9Y\x90a9=V[V[a9d\x90a\x05\xD5V[\x90V[a9p\x90a9[V[\x90V[a9|\x90a\x05\xF1V[\x90V[\x90PQ\x90a9\x8C\x82a\x08\xB6V[V[\x90` \x82\x82\x03\x12a9\xA7Wa9\xA4\x91_\x01a9\x7FV[\x90V[a\x03\xDEV[\x91\x90a9\xDA` a9\xC4a9\xBF\x86a9gV[a9sV[cR\xD1\x90-\x90a9\xD2a\x03\xD4V[\x93\x84\x92a\"~V[\x82R\x81\x80a9\xEA`\x04\x82\x01a\ndV[\x03\x91Z\xFA\x80\x91_\x92a:zW[P\x15_\x14a:+WPP\x90`\x01a:\x0CWP[V[a:'\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[\x92\x83a:Fa:@a:;a$\xB7V[a\x07\xBCV[\x91a\x07\xBCV[\x03a:[Wa:V\x92\x93Pa@\xDBV[a:\nV[a:v\x84_\x91\x82\x91c*\x87Ri`\xE2\x1B\x83R`\x04\x83\x01a\n\xBBV[\x03\x90\xFD[a:\x9C\x91\x92P` =\x81\x11a:\xA3W[a:\x94\x81\x83a\x0E|V[\x81\x01\x90a9\x8EV[\x90_a9\xF7V[P=a:\x8AV[a:\xB30a8\x8AV[a:\xE5a:\xDF\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\x05SV[\x91a\x05SV[\x03a:\xECWV[_cp>F\xDD`\xE1\x1B\x81R\x80a;\x04`\x04\x82\x01a\ndV[\x03\x90\xFD[\x7F\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x90V[\x90a;6\x90a3\xACV[_R` R`@_ \x90V[a;Ya;^\x91a;Qa%\x8CV[P`!a;,V[a%\xC5V[\x90V[\x90a;k\x90a\x05\xFDV[_R` R`@_ \x90V[\x90V[T\x90V[_R` _ \x90V[a;\x90\x81a;zV[\x82\x10\x15a;\xAAWa;\xA2`\x04\x91a;~V[\x91\x02\x01\x90_\x90V[a3vV[\x90V[`\xFF\x16\x90V[a;\xC4a;\xC9\x91a\x06QV[a;\xB2V[\x90V[a;\xD6\x90Ta;\xB8V[\x90V[`\x08\x1C\x90V[a;\xEBa;\xF0\x91a;\xD9V[a%\xA6V[\x90V[a;\xFD\x90Ta;\xDFV[\x90V[a<\n`@a\x0E\xA5V[\x90V[\x90a<Ca<:_a<\x1Da<\0V[\x94a<4a<,\x83\x83\x01a;\xCCV[\x83\x88\x01a.\x1DV[\x01a;\xF3V[` \x84\x01a.+V[V[a<N\x90a<\rV[\x90V[a<`a<f\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x82\x01\x80\x92\x11a<qWV[a'\xE2V[\x92\x91\x92a<\x94a<\x8Fa<\x87a OV[\x92`\x15a;aV[a;wV[\x93a<\x9E\x85a;zV[\x93a<\xA8_a \x8BV[[\x80a<\xBCa<\xB6\x88a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a=\\Wa<\xD6a<\xD0\x88\x83\x90a;\x87V[Pa;\xAFV[a<\xE1_\x82\x01a%\xC5V[a<\xF3a<\xED\x88a\x05SV[\x91a\x05SV[\x14\x80a=/W[a=\x0EW[Pa=\t\x90a3cV[a<\xA9V[a=\t\x91\x94a=\"`\x01a=(\x93\x01a\x07(V[\x90a<QV[\x93\x90a<\xFFV[Pa=Da=?`\x02\x83\x01a<EV[a>]V[a=Va=P\x86a\x07\xBCV[\x91a\x07\xBCV[\x14a<\xFAV[P\x93PP\x92PPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x90V[a=\x91aAdV[V[a=\x9Ba=\x89V[V[a=\xA5aAdV[V[a=\xAFa=\x9DV[V[a=\xB9aAdV[a=\xC1a=\xC3V[V[a=\xCBaA\xBFV[V[a=\xD5a=\xB1V[V[a=\xDFaAdV[a=\xE7a=\xE9V[V[a=\xF1aB\x05V[V[a=\xFBa=\xD7V[V[a>\x07\x90Qa.\x11V[\x90V[a>\x14\x90Qa\x05SV[\x90V[a> \x90a.\x11V[\x90V[a>,\x90a>\x17V[\x90RV[\x91` a>Q\x92\x94\x93a>J`@\x82\x01\x96_\x83\x01\x90a>#V[\x01\x90a\x13\xADV[V[` \x01\x90V[Q\x90V[a>ea!\x98V[Pa>\xA7a>\x80` a>y_\x85\x01a=\xFDV[\x93\x01a>\nV[\x91a>\x98a>\x8Ca\x03\xD4V[\x93\x84\x92` \x84\x01a>0V[` \x82\x01\x81\x03\x82R\x03\x82a\x0E|V[a>\xB9a>\xB3\x82a>YV[\x91a>SV[ \x90V[\x1B\x90V[\x91\x90`\x08a>\xE1\x91\x02\x91a>\xDB`\x01\x80`\xA0\x1B\x03\x84a>\xBDV[\x92a>\xBDV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x91\x90a?\x04a>\xFFa?\x0C\x93a\x05\xFDV[a>\xEBV[\x90\x83Ta>\xC1V[\x90UV[a?\"\x91a?\x1Ca%\x8CV[\x91a>\xEEV[V[_a?3a?8\x92`!a;,V[a?\x10V[V[a?Mc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16a;BV[\x80a?ha?ba?]_a-\xD5V[a\x05SV[\x91a\x05SV[\x03aBCWc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16aB$V[_c\xD9.#=`\xE0\x1B\x81R\x80a?\x95`\x04\x82\x01a\ndV[\x03\x90\xFD[a?\xB4\x90_\x91\x82\x91c\"\xA2\xD0{`\xE2\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[a?\xC1\x90a\x03\xE6V[\x90RV[\x91` a?\xE6\x92\x94\x93a?\xDF`@\x82\x01\x96_\x83\x01\x90a?\xB8V[\x01\x90a\x13\xADV[V[a@\x02_\x92\x83\x92c\x10\xAE\x11\xA9`\xE3\x1B\x84R`\x04\x84\x01a?\xC5V[\x03\x90\xFD[\x90a@\x17`\x01\x80`\xA0\x1B\x03\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a@6a@1a@=\x92a\x05\xFDV[a>\xEBV[\x82Ta@\x06V[\x90UV[a@Pa@U\x92\x91`!a;,V[a@!V[V[\x91` a@x\x92\x94\x93a@q`@\x82\x01\x96_\x83\x01\x90a\x13\xADV[\x01\x90a\x07\xBFV[V[\x90a@\x8Fa@\x89\x83\x83\x90a&\x1CV[\x15a\x043V[a@\x97WPPV[a@\xB1_\x92\x83\x92c\xE2Q}?`\xE0\x1B\x84R`\x04\x84\x01a@WV[\x03\x90\xFD[a@\xBDa%\x8CV[Pa@\xD8_a@\xD2a@\xCDa$\xB7V[aBaV[\x01a%\xC5V[\x90V[\x90a@\xE5\x82aBdV[\x81aA\x10\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x91a\x05\xFDV[\x90aA\x19a\x03\xD4V[\x80aA#\x81a\ndV[\x03\x90\xA2aA/\x81a>YV[aAAaA;_a \x8BV[\x91a\x07\xE0V[\x11_\x14aAUWaAQ\x91aC4V[P[V[PPaA_aB\xB9V[aASV[aAuaAoaCcV[\x15a\x043V[aA{WV[_c\x1A\xFC\xD7\x9F`\xE3\x1B\x81R\x80aA\x93`\x04\x82\x01a\ndV[\x03\x90\xFD[aA\x9FaAdV[aA\xA7aA\xA9V[V[aA\xBDaA\xB4a;\x08V[_\x80\x91\x01a.\xA9V[V[aA\xC7aA\x97V[V[aA\xD1aAdV[aA\xD9aA\xE8V[V[aA\xE5`\x01a\x1AvV[\x90V[aB\x03aA\xF3aC\x81V[_aA\xFCaA\xDBV[\x91\x01a.\xFEV[V[aB\raA\xC9V[V[\x91\x90aB\"\x90_` \x85\x01\x94\x01\x90a?\xB8V[V[aB?\x90_\x91\x82\x91c\xC2\xA8%\xF5`\xE0\x1B\x83R`\x04\x83\x01aB\x0FV[\x03\x90\xFD[_\x80\x916\x82\x807\x816\x91Z\xF4=_\x80>_\x14aB]W=_\xF3[=_\xFD[\x90V[\x80;aBxaBr_a \x8BV[\x91a\x07\xE0V[\x14aB\x9AWaB\x98\x90_aB\x92aB\x8Da$\xB7V[aBaV[\x01a@!V[V[aB\xB5\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[4aB\xCCaB\xC6_a \x8BV[\x91a\x07\xE0V[\x11aB\xD3WV[_c\xB3\x98\x97\x9F`\xE0\x1B\x81R\x80aB\xEB`\x04\x82\x01a\ndV[\x03\x90\xFD[``\x90V[\x90aC\x06aC\x01\x83a\x0E\xBAV[a\x0E\xA5V[\x91\x82RV[=_\x14aC&WaC\x1B=aB\xF4V[\x90=_` \x84\x01>[V[aC.aB\xEFV[\x90aC$V[_\x80aC`\x93aCBaB\xEFV[P\x83\x90` \x81\x01\x90Q\x91Z\xF4\x90aCWaC\x0BV[\x90\x91\x90\x91aC\xA5V[\x90V[aCka \x0BV[PaC~_aCxa=eV[\x01a+oV[\x90V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x90V[\x90aC\xB9\x90aC\xB2aB\xEFV[P\x15a\x043V[_\x14aC\xC5WPaD)V[aC\xCE\x82a>YV[aC\xE0aC\xDA_a \x8BV[\x91a\x07\xE0V[\x14\x80aD\x0EW[aC\xEFWP\x90V[aD\n\x90_\x91\x82\x91c\x99\x96\xB3\x15`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[P\x80;aD#aD\x1D_a \x8BV[\x91a\x07\xE0V[\x14aC\xE7V[aD2\x81a>YV[aDDaD>_a \x8BV[\x91a\x07\xE0V[\x11_\x14aDSW\x80Q\x90` \x01\xFD[_c\xD6\xBD\xA2u`\xE0\x1B\x81R\x80aDk`\x04\x82\x01a\ndV[\x03\x90\xFD\xFE\xA1dsolcC\0\x08\x1A\0\n",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x60806040526004361015610015575b366134f557005b61001f5f356103ce565b806301ffc9a7146103c957806305d64e38146103c45780630aa8b110146103bf57806312d91c88146103ba57806318056dc2146103b557806319e82e61146103b0578063248a9ca3146103ab5780632f2ff15d146103a657806332273f61146103a157806336568abe1461039c578063453eccea1461039757806346d163aa14610392578063491474111461038d5780634962f88f146103885780634de8addc146103835780634e9c929a1461037e5780634f1ef286146103795780635095af641461037457806352d1902d1461036f57806354de23201461036a5780635c975abb14610365578063602356e31461036057806366c368751461035b57806372b5032d1461035657806375b238fc1461035157806377ab2cf31461034c5780637df92ada1461034757806388c47f68146103425780638a19c8bc1461033d5780638a7fe60f1461033857806390837ff41461033357806391d148541461032e5780639480e4dd146103295780639494f42614610324578063960856731461031f5780639722f4b91461031a5780639e87058514610315578063a217fddf14610310578063a457af3d1461030b578063a4b32de814610306578063a7fa6f9814610301578063aaf5eb68146102fc578063ad3cb1cc146102f7578063b54b2b9e146102f2578063b6608409146102ed578063ba05bbf5146102e8578063c07449e2146102e3578063c550d938146102de578063cbb6d6bd146102d9578063d27a6f06146102d4578063d45ff582146102cf578063d547741f146102ca578063db8a173a146102c5578063dd764abf146102c0578063e07dec29146102bb578063e1a45218146102b6578063e27e05c1146102b1578063f3c9b311146102ac5763f7cb789a0361000e57611fd6565b611f92565b611f25565b611ef0565b611e87565b611e1c565b611daa565b611d67565b611d32565b611cc4565b611c54565b611b92565b611b5c565b611aee565b611aaa565b611a3e565b6119fa565b6118c9565b611856565b6117e9565b611784565b611662565b6115f2565b611583565b61152d565b6114de565b61146f565b611439565b611404565b6113cf565b611378565b611336565b6112c7565b611259565b6111e9565b611184565b61114f565b61111a565b6110b6565b611081565b611014565b610fdf565b610f86565b610e24565b610d75565b610d30565b610cc3565b610c90565b610c3d565b610bd1565b610b9c565b610b32565b610ad0565b610a69565b61099e565b61091b565b610876565b610513565b61045a565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b63ffffffff60e01b1690565b6103fb816103e6565b0361040257565b5f80fd5b90503590610413826103f2565b565b9060208282031261042e5761042b915f01610406565b90565b6103de565b151590565b61044190610433565b9052565b9190610458905f60208501940190610438565b565b3461048a57610486610475610470366004610415565b61200f565b61047d6103d4565b91829182610445565b0390f35b6103da565b5f91031261049957565b6103de565b1c90565b67ffffffffffffffff1690565b6104bf9060086104c4930261049e565b6104a2565b90565b906104d291546104af565b90565b6104e15f6010906104c7565b90565b67ffffffffffffffff1690565b6104fa906104e4565b9052565b9190610511905f602085019401906104f1565b565b346105435761052336600461048f565b61053f61052e6104d5565b6105366103d4565b918291826104fe565b0390f35b6103da565b60018060a01b031690565b61055c90610548565b90565b61056881610553565b0361056f57565b5f80fd5b905035906105808261055f565b565b61058b816104e4565b0361059257565b5f80fd5b905035906105a382610582565b565b91906040838203126105cd57806105c16105ca925f8601610573565b93602001610596565b90565b6103de565b90565b6105e96105e46105ee92610548565b6105d2565b610548565b90565b6105fa906105d5565b90565b610606906105f1565b90565b90610613906105fd565b5f5260205260405f2090565b61063361062e610638926104e4565b6105d2565b6104e4565b90565b906106459061061f565b5f5260205260405f2090565b5f1c90565b61066261066791610651565b6104a2565b90565b6106749054610656565b90565b60401c90565b61068961068e91610677565b6104a2565b90565b61069b905461067d565b90565b60801c90565b6106b06106b59161069e565b6104a2565b90565b6106c290546106a4565b90565b90565b6106d46106d991610651565b6106c5565b90565b6106e690546106c8565b90565b61ffff1690565b6106fc61070191610651565b6106e9565b90565b61070e90546106f0565b90565b90565b61072061072591610651565b610711565b90565b6107329054610714565b90565b90610744610749926055610609565b61063b565b6107545f820161066a565b916107605f8301610691565b9161076c5f82016106b8565b91610779600183016106dc565b9161078660028201610704565b9161079360038301610728565b916107a060048201610728565b916107b960066107b260058501610728565b93016106dc565b90565b90565b6107c8906107bc565b9052565b61ffff1690565b6107dc906107cc565b9052565b90565b6107ec906107e0565b9052565b9694929099989795939161012088019a5f890161080c916104f1565b60208801610819916104f1565b60408701610826916104f1565b60608601610833916107bf565b60808501610840916107d3565b60a0840161084d916107e3565b60c0830161085a916107e3565b60e08201610867916107e3565b61010001610874916107bf565b565b346108b1576108ad61089261088c3660046105a5565b90610735565b956108a49997999591959492946103d4565b998a998a6107f0565b0390f35b6103da565b6108bf816107bc565b036108c657565b5f80fd5b905035906108d7826108b6565b565b919060408382031261090157806108f56108fe925f8601610573565b936020016108ca565b90565b6103de565b9190610919905f602085019401906107e3565b565b3461094c576109486109376109313660046108d9565b906120a7565b61093f6103d4565b91829182610906565b0390f35b6103da565b90565b61096861096361096d92610951565b6105d2565b6107cc565b90565b61097b612af8610954565b90565b610986610970565b90565b919061099c905f602085019401906107d3565b565b346109ce576109ae36600461048f565b6109ca6109b961097e565b6109c16103d4565b91829182610989565b0390f35b6103da565b5f80fd5b5f80fd5b5f80fd5b909182601f83011215610a195781359167ffffffffffffffff8311610a14576020019260208302840111610a0f57565b6109db565b6109d7565b6109d3565b919091604081840312610a5f57610a37835f8301610573565b92602082013567ffffffffffffffff8111610a5a57610a5692016109df565b9091565b6103e2565b6103de565b5f0190565b34610a9857610a82610a7c366004610a1e565b9161217a565b610a8a6103d4565b80610a9481610a64565b0390f35b6103da565b90602082820312610ab657610ab3915f016108ca565b90565b6103de565b9190610ace905f602085019401906107bf565b565b34610b0057610afc610aeb610ae6366004610a9d565b6121b2565b610af36103d4565b91829182610abb565b0390f35b6103da565b9190604083820312610b2d5780610b21610b2a925f86016108ca565b93602001610573565b90565b6103de565b34610b6157610b4b610b45366004610b05565b90612206565b610b536103d4565b80610b5d81610a64565b0390f35b6103da565b610b76906008610b7b930261049e565b6106e9565b90565b90610b899154610b66565b90565b610b996001601090610b7e565b90565b34610bcc57610bac36600461048f565b610bc8610bb7610b8c565b610bbf6103d4565b91829182610989565b0390f35b6103da565b34610c0057610bea610be4366004610b05565b90612212565b610bf26103d4565b80610bfc81610a64565b0390f35b6103da565b90565b610c1c610c17610c2192610c05565b6105d2565b6107cc565b90565b610c2f613e80610c08565b90565b610c3a610c24565b90565b34610c6d57610c4d36600461048f565b610c69610c58610c32565b610c606103d4565b91829182610989565b0390f35b6103da565b90602082820312610c8b57610c88915f01610573565b90565b6103de565b34610cbe57610ca8610ca3366004610c72565b612352565b610cb06103d4565b80610cba81610a64565b0390f35b6103da565b34610cf357610cef610cde610cd9366004610c72565b612430565b610ce66103d4565b91829182610906565b0390f35b6103da565b90565b610d0f610d0a610d1492610cf8565b6105d2565b6107cc565b90565b610d22612710610cfb565b90565b610d2d610d17565b90565b34610d6057610d4036600461048f565b610d5c610d4b610d25565b610d536103d4565b91829182610989565b0390f35b6103da565b610d7260016008906104c7565b90565b34610da557610d8536600461048f565b610da1610d90610d65565b610d986103d4565b918291826104fe565b0390f35b6103da565b9190604083820312610dd25780610dc6610dcf925f8601610596565b93602001610573565b90565b6103de565b90610de19061061f565b5f5260205260405f2090565b90610df7906105fd565b5f5260205260405f2090565b610e1c610e2192610e176058935f94610dd7565b610ded565b6104c7565b90565b34610e5557610e51610e40610e3a366004610daa565b90610e03565b610e486103d4565b918291826104fe565b0390f35b6103da565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610e8690610e5e565b810190811067ffffffffffffffff821117610ea057604052565b610e68565b90610eb8610eb16103d4565b9283610e7c565b565b67ffffffffffffffff8111610ed857610ed4602091610e5e565b0190565b610e68565b90825f939282370152565b90929192610efd610ef882610eba565b610ea5565b93818552602085019082840111610f1957610f1792610edd565b565b610e5a565b9080601f83011215610f3c57816020610f3993359101610ee8565b90565b6109d3565b919091604081840312610f8157610f5a835f8301610573565b92602082013567ffffffffffffffff8111610f7c57610f799201610f1e565b90565b6103e2565b6103de565b610f9a610f94366004610f41565b90612478565b610fa26103d4565b80610fac81610a64565b0390f35b7f12b42e8a160f6064dc959c6f251e3af0750ad213dbecf573b4710d67d6c28e3990565b610fdc610fb0565b90565b3461100f57610fef36600461048f565b61100b610ffa610fd4565b6110026103d4565b91829182610abb565b0390f35b6103da565b346110445761102436600461048f565b61104061102f6124ef565b6110376103d4565b91829182610abb565b0390f35b6103da565b90565b61106061105b61106592611049565b6105d2565b6107cc565b90565b611073612ee061104c565b90565b61107e611068565b90565b346110b15761109136600461048f565b6110ad61109c611076565b6110a46103d4565b91829182610989565b0390f35b6103da565b346110e6576110c636600461048f565b6110e26110d1612523565b6110d96103d4565b91829182610445565b0390f35b6103da565b7f19449a4ad57e40a5aa77e785b4539e53ba9e7fedbf7076388ee3fb1bc2ddea1b90565b6111176110eb565b90565b3461114a5761112a36600461048f565b61114661113561110f565b61113d6103d4565b91829182610abb565b0390f35b6103da565b3461117f5761117b61116a611165366004610c72565b612545565b6111726103d4565b918291826104fe565b0390f35b6103da565b346111b5576111b16111a061119a366004610daa565b90612564565b6111a86103d4565b918291826104fe565b0390f35b6103da565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177590565b6111e66111ba565b90565b34611219576111f936600461048f565b6112156112046111de565b61120c6103d4565b91829182610abb565b0390f35b6103da565b60ff1690565b611234906008611239930261049e565b61121e565b90565b906112479154611224565b90565b61125660055f9061123c565b90565b346112895761126936600461048f565b61128561127461124a565b61127c6103d4565b91829182610445565b0390f35b6103da565b90565b6112a56112a06112aa9261128e565b6105d2565b6104e4565b90565b6112b9624f1a00611291565b90565b6112c46112ad565b90565b346112f7576112d736600461048f565b6112f36112e26112bc565b6112ea6103d4565b918291826104fe565b0390f35b6103da565b90565b61131361130e611318926112fc565b6105d2565b6107e0565b90565b6113286305f5e1006112ff565b90565b61133361131b565b90565b346113665761134636600461048f565b61136261135161132b565b6113596103d4565b91829182610906565b0390f35b6103da565b6113755f806104c7565b90565b346113a85761138836600461048f565b6113a461139361136b565b61139b6103d4565b918291826104fe565b0390f35b6103da565b6113b690610553565b9052565b91906113cd905f602085019401906113ad565b565b346113ff576113fb6113ea6113e5366004610c72565b6125d2565b6113f26103d4565b918291826113ba565b0390f35b6103da565b346114345761143061141f61141a366004610415565b6125f1565b6114276103d4565b918291826113ba565b0390f35b6103da565b3461146a5761146661145561144f366004610b05565b9061261c565b61145d6103d4565b91829182610445565b0390f35b6103da565b3461149f5761149b61148a611485366004610c72565b61264e565b6114926103d4565b918291826104fe565b0390f35b6103da565b90916060828403126114d9576114d66114bf845f8501610573565b936114cd8160208601610596565b93604001610573565b90565b6103de565b3461150f5761150b6114fa6114f43660046114a4565b91612886565b6115026103d4565b91829182610906565b0390f35b6103da565b61152a906115256056915f92610ded565b6104c7565b90565b3461155d57611559611548611543366004610c72565b611514565b6115506103d4565b918291826104fe565b0390f35b6103da565b61157b611580926115766057935f94610dd7565b610ded565b6104c7565b90565b346115b4576115b061159f611599366004610daa565b90611562565b6115a76103d4565b918291826104fe565b0390f35b6103da565b90565b6115d06115cb6115d5926115b9565b6105d2565b6104e4565b90565b6115e462278d006115bc565b90565b6115ef6115d8565b90565b346116225761160236600461048f565b61161e61160d6115e7565b6116156103d4565b918291826104fe565b0390f35b6103da565b90565b5f1b90565b61164361163e61164892611627565b61162a565b6107bc565b90565b6116545f61162f565b90565b61165f61164b565b90565b346116925761167236600461048f565b61168e61167d611657565b6116856103d4565b91829182610abb565b0390f35b6103da565b6116a0906104e4565b9052565b6116ad906107bc565b9052565b6116ba906107cc565b9052565b6116c7906107e0565b9052565b906101008061176c936116e45f8201515f860190611697565b6116f660208201516020860190611697565b61170860408201516040860190611697565b61171a606082015160608601906116a4565b61172c608082015160808601906116b1565b61173e60a082015160a08601906116be565b61175060c082015160c08601906116be565b61176260e082015160e08601906116be565b01519101906116a4565b565b9190611782905f61012085019401906116cb565b565b346117b5576117b16117a061179a3660046105a5565b90612a34565b6117a86103d4565b9182918261176e565b0390f35b6103da565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf9981990565b6117e66117ba565b90565b34611819576117f936600461048f565b6118156118046117de565b61180c6103d4565b91829182610abb565b0390f35b6103da565b90565b61183561183061183a9261181e565b6105d2565b6107cc565b90565b6118486132c8611821565b90565b61185361183d565b90565b346118865761186636600461048f565b61188261187161184b565b6118796103d4565b91829182610989565b0390f35b6103da565b90565b6118a261189d6118a79261188b565b6105d2565b6107e0565b90565b6118bb670de0b6b3a764000061188e565b90565b6118c66118aa565b90565b346118f9576118d936600461048f565b6118f56118e46118be565b6118ec6103d4565b91829182610906565b0390f35b6103da565b67ffffffffffffffff811161191c57611918602091610e5e565b0190565b610e68565b9061193361192e836118fe565b610ea5565b918252565b5f7f352e302e30000000000000000000000000000000000000000000000000000000910152565b6119696005611921565b9061197660208301611938565b565b61198061195f565b90565b61198b611978565b90565b611996611983565b90565b5190565b60209181520190565b90825f9392825e0152565b6119d06119d96020936119de936119c781611999565b9384809361199d565b958691016119a6565b610e5e565b0190565b6119f79160208201915f8184039101526119b1565b90565b34611a2a57611a0a36600461048f565b611a26611a1561198e565b611a1d6103d4565b918291826119e2565b0390f35b6103da565b611a3b60075f9061123c565b90565b34611a6e57611a4e36600461048f565b611a6a611a59611a2f565b611a616103d4565b91829182610445565b0390f35b6103da565b90565b611a8a611a85611a8f92611a73565b6105d2565b6107e0565b90565b611a9c6001611a76565b90565b611aa7611a92565b90565b34611ada57611aba36600461048f565b611ad6611ac5611a9f565b611acd6103d4565b91829182610906565b0390f35b6103da565b611aeb5f6018906104c7565b90565b34611b1e57611afe36600461048f565b611b1a611b09611adf565b611b116103d4565b918291826104fe565b0390f35b6103da565b90602080611b4593611b3b5f8201515f8601906116be565b01519101906116be565b565b9190611b5a905f60408501940190611b23565b565b34611b8d57611b89611b78611b72366004610daa565b90612b0b565b611b806103d4565b91829182611b47565b0390f35b6103da565b34611bc357611bbf611bae611ba8366004610daa565b90612b33565b611bb66103d4565b918291826104fe565b0390f35b6103da565b611bd1816107e0565b03611bd857565b5f80fd5b90503590611be982611bc8565b565b611bf4816107cc565b03611bfb57565b5f80fd5b90503590611c0c82611beb565b565b608081830312611c4f57611c24825f8301610573565b92611c4c611c358460208501611bdc565b93611c438160408601611bdc565b93606001611bff565b90565b6103de565b34611c8657611c70611c67366004611c0e565b9291909161331f565b611c786103d4565b80611c8281610a64565b0390f35b6103da565b90565b611ca2611c9d611ca792611c8b565b6105d2565b6104e4565b90565b611cb66276a700611c8e565b90565b611cc1611caa565b90565b34611cf457611cd436600461048f565b611cf0611cdf611cb9565b611ce76103d4565b918291826104fe565b0390f35b6103da565b90565b611d10611d0b611d1592611cf9565b6105d2565b6104e4565b90565b611d2462093a80611cfc565b90565b611d2f611d18565b90565b34611d6257611d4236600461048f565b611d5e611d4d611d27565b611d556103d4565b918291826104fe565b0390f35b6103da565b34611d9657611d80611d7a366004610b05565b90613357565b611d886103d4565b80611d9281610a64565b0390f35b6103da565b611da760015f906104c7565b90565b34611dda57611dba36600461048f565b611dd6611dc5611d9b565b611dcd6103d4565b918291826104fe565b0390f35b6103da565b90565b611df6611df1611dfb92611ddf565b6105d2565b6107e0565b90565b611e0e662386f26fc10000611de2565b90565b611e19611dfe565b90565b34611e4c57611e2c36600461048f565b611e48611e37611e11565b611e3f6103d4565b91829182610906565b0390f35b6103da565b90602082820312611e82575f82013567ffffffffffffffff8111611e7d57611e7992016109df565b9091565b6103e2565b6103de565b34611eb657611ea0611e9a366004611e51565b906133b8565b611ea86103d4565b80611eb281610a64565b0390f35b6103da565b611ecf611eca611ed492610cf8565b6105d2565b6107e0565b90565b611ee2612710611ebb565b90565b611eed611ed7565b90565b34611f2057611f0036600461048f565b611f1c611f0b611ee5565b611f136103d4565b91829182610906565b0390f35b6103da565b34611f5457611f3e611f383660046105a5565b906134e9565b611f466103d4565b80611f5081610a64565b0390f35b6103da565b90565b611f70611f6b611f7592611f59565b6105d2565b6104e4565b90565b611f8462ed4e00611f5c565b90565b611f8f611f78565b90565b34611fc257611fa236600461048f565b611fbe611fad611f87565b611fb56103d4565b918291826104fe565b0390f35b6103da565b611fd35f6008906104c7565b90565b3461200657611fe636600461048f565b612002611ff1611fc7565b611ff96103d4565b918291826104fe565b0390f35b6103da565b5f90565b61201761200b565b508061203261202c637965db0b60e01b6103e6565b916103e6565b1490811561203f575b5090565b61204991506134fa565b5f61203b565b5f90565b9061205d906105fd565b5f5260205260405f2090565b612072906107bc565b90565b9061207f90612069565b5f5260205260405f2090565b61209f61209a6120a492611627565b6105d2565b6107e0565b90565b6120cc916120c26120c7926120ba61204f565b506011612053565b612075565b610728565b806120df6120d95f61208b565b916107e0565b145f146120f357506120ef6118aa565b5b90565b6120f0565b67ffffffffffffffff81116121105760208091020190565b610e68565b9092919261212a612125826120f8565b610ea5565b938185526020808601920283019281841161216757915b83831061214e5750505050565b6020809161215c8486610406565b815201920191612141565b6109db565b612177913691612115565b90565b612196926121909161218a613532565b9261216c565b9061356d565b565b5f90565b906121a690612069565b5f5260205260405f2090565b60016121d36121d9926121c3612198565b505f6121cd6136e1565b0161219c565b016106dc565b90565b906121f7916121f26121ed826121b2565b613705565b6121f9565b565b9061220391613719565b50565b90612210916121dc565b565b908061222d6122276122226137d0565b610553565b91610553565b0361223e5761223b916137dd565b50565b5f63334bd91960e11b81528061225660048201610a64565b0390fd5b612263906105d5565b90565b61226f9061225a565b90565b61227b906105f1565b90565b60e01b90565b90505190612291826103f2565b565b909291926122a86122a3826120f8565b610ea5565b93818552602080860192028301928184116122e557915b8383106122cc5750505050565b602080916122da8486612284565b8152019201916122bf565b6109db565b9080601f830112156123085781602061230593519101612293565b90565b6109d3565b9060208282031261233d575f82015167ffffffffffffffff81116123385761233592016122ea565b90565b6103e2565b6103de565b61234a6103d4565b3d5f823e3d90fd5b61235a613532565b6123855f61236f61236a84612266565b612272565b636e25b9789061237d6103d4565b93849261227e565b8252818061239560048201610a64565b03915afa8015612415576123b1915f916123f3575b508261356d565b6123db7f4d3c30f5993f1922a779345a0f7ec1a170f1e52e9d230824f9c17e63596c906d916105fd565b906123e46103d4565b806123ee81610a64565b0390a2565b61240f91503d805f833e6124078183610e7c565b81019061230d565b5f6123aa565b612342565b90612424906105fd565b5f5260205260405f2090565b61244761244c9161243f61204f565b50601b61241a565b610728565b90565b906124619161245c613896565b612463565b565b906124769161247181613950565b6139ac565b565b906124829161244f565b565b61249590612490613aaa565b6124e3565b90565b90565b6124af6124aa6124b492612498565b61162a565b6107bc565b90565b6124e07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61249b565b90565b506124ec6124b7565b90565b6124ff6124fa612198565b612484565b90565b61250e61251391610651565b61121e565b90565b6125209054612502565b90565b61252b61200b565b5061253e5f612538613b08565b01612516565b90565b5f90565b61255c61256191612554612541565b506056610ded565b61066a565b90565b6125899161257f61258492612577612541565b506057610dd7565b610ded565b61066a565b90565b5f90565b9061259a906105fd565b5f5260205260405f2090565b60018060a01b031690565b6125bd6125c291610651565b6125a6565b90565b6125cf90546125b1565b90565b6125e96125ee916125e161258c565b506006612590565b6125c5565b90565b612603906125fd61258c565b50613b42565b90565b90612610906105fd565b5f5260205260405f2090565b61264b915f6126406126469361263061200b565b508261263a6136e1565b0161219c565b01612606565b612516565b90565b61266561266a9161265d612541565b506023610ded565b61066a565b90565b90612677906104e4565b9052565b90612685906107bc565b9052565b90612693906107cc565b9052565b906126a1906107e0565b9052565b6126b0610120610ea5565b90565b9061279161278760066126c46126a5565b946126db6126d35f830161066a565b5f880161266d565b6126f26126e95f8301610691565b6020880161266d565b6127096127005f83016106b8565b6040880161266d565b612721612718600183016106dc565b6060880161267b565b61273961273060028301610704565b60808801612689565b61275161274860038301610728565b60a08801612697565b61276961276060048301610728565b60c08801612697565b61278161277860058301610728565b60e08801612697565b016106dc565b610100840161267b565b565b61279c906126b3565b90565b6127a990516104e4565b90565b6127c06127bb6127c592611627565b6105d2565b6104e4565b90565b6127d290516107bc565b90565b6127df90516107e0565b90565b634e487b7160e01b5f52601160045260245ffd5b61280561280b919392936107e0565b926107e0565b820391821161281657565b6127e2565b61282a612830919392936107e0565b926107e0565b9161283c8382026107e0565b92818404149015171561284b57565b6127e2565b634e487b7160e01b5f52601260045260245ffd5b612870612876916107e0565b916107e0565b908115612881570490565b612850565b929190926128af6128aa61289861204f565b956128a560558590610609565b61063b565b612793565b916128bb5f840161279f565b6128cd6128c75f6127ac565b916104e4565b1461298e57906128ea91906128e4606085016127c8565b91613c76565b90816128fe6128f85f61208b565b916107e0565b1461297e5761290f60c082016127d5565b61292c61292661292160e085016127d5565b6107e0565b916107e0565b11612936575b5050565b612976929350906129628261295c60e061295560c061296897016127d5565b92016127d5565b906127f6565b9061281b565b6129706118aa565b90612864565b905f80612932565b5050905061298b5f61208b565b90565b505050905061299c5f61208b565b90565b5f90565b5f90565b5f90565b5f90565b6129b76126a5565b90602080808080808080808a6129cb61299f565b8152016129d661299f565b8152016129e161299f565b8152016129ec6129a3565b8152016129f76129a7565b815201612a026129ab565b815201612a0d6129ab565b815201612a186129ab565b815201612a236129a3565b81525050565b612a316129af565b90565b612a5991612a4f612a5492612a47612a29565b506055610609565b61063b565b612793565b90565b612a666040610ea5565b90565b612a71612a5c565b9060208083612a7e6129ab565b815201612a896129ab565b81525050565b612a97612a69565b90565b90612aa49061061f565b5f5260205260405f2090565b90612aba906105fd565b5f5260205260405f2090565b90612afd612af46001612ad7612a5c565b94612aee612ae65f8301610728565b5f8801612697565b01610728565b60208401612697565b565b612b0890612ac6565b90565b612b3091612b26612b2b92612b1e612a8f565b506010612a9a565b612ab0565b612aff565b90565b612b5891612b4e612b5392612b46612541565b506058610dd7565b610ded565b61066a565b90565b612b67612b6c91610677565b61121e565b90565b612b799054612b5b565b90565b612b90612b8b612b9592611a73565b6105d2565b6104e4565b90565b612ba1906105f1565b90565b90612bb767ffffffffffffffff9161162a565b9181191691161790565b90565b90612bd9612bd4612be09261061f565b612bc1565b8254612ba4565b9055565b60401b90565b90612bfe68ff000000000000000091612be4565b9181191691161790565b612c1190610433565b90565b90565b90612c2c612c27612c3392612c08565b612c14565b8254612bea565b9055565b612c4090612b7c565b9052565b9190612c57905f60208501940190612c37565b565b909192612c64613d65565b93612c79612c735f8701612b6f565b15610433565b93612c855f870161066a565b80612c98612c925f6127ac565b916104e4565b1480612db2575b90612cb3612cad6001612b7c565b916104e4565b1480612d8a575b612cc5909115610433565b9081612d79575b50612d5d57612cf593612cea612ce26001612b7c565b5f8901612bc4565b85612d4b575b613174565b612cfd575b50565b612d0a905f809101612c17565b6001612d427fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291612d396103d4565b91829182612c44565b0390a15f612cfa565b612d5860015f8901612c17565b612cf0565b5f63f92ee8a960e01b815280612d7560048201610a64565b0390fd5b612d84915015610433565b5f612ccc565b50612cc5612d9730612b98565b3b612daa612da45f61208b565b916107e0565b149050612cba565b5085612c9f565b612dcd612dc8612dd292611627565b6105d2565b610548565b90565b612dde90612db9565b90565b612deb6040610ea5565b90565b634e487b7160e01b5f52602160045260245ffd5b60021115612e0c57565b612dee565b90612e1b82612e02565b565b90612e2790612e11565b9052565b90612e3590610553565b9052565b612e4d612e48612e52926107e0565b6105d2565b6107cc565b90565b612e5f60c0610ea5565b90565b90612e6c90610433565b9052565b90612e7a90612069565b5f5260205260405f2090565b612e909051610433565b90565b90612e9f60ff9161162a565b9181191691161790565b90612ebe612eb9612ec592612c08565b612c14565b8254612e93565b9055565b90612ed55f199161162a565b9181191691161790565b612ef3612eee612ef8926107e0565b6105d2565b6107e0565b90565b90565b90612f13612f0e612f1a92612edf565b612efb565b8254612ec9565b9055565b612f2890516107cc565b90565b90612f3861ffff9161162a565b9181191691161790565b612f56612f51612f5b926107cc565b6105d2565b6107cc565b90565b90565b90612f76612f71612f7d92612f42565b612f5e565b8254612f2b565b9055565b9061301060a0600561301694612fa45f8201612f9e5f8801612e86565b90612ea9565b612fbd60018201612fb7602088016127d5565b90612efe565b612fd660028201612fd0604088016127d5565b90612efe565b612fef60038201612fe9606088016127d5565b90612efe565b61300860048201613002608088016127d5565b90612efe565b019201612f1e565b90612f61565b565b9061302291612f81565b565b60801b90565b9061303a61ffff60801b91613024565b9181191691161790565b9061305961305461306092612f42565b612f5e565b825461302a565b9055565b90565b61307b61307661308092613064565b6105d2565b6104e4565b90565b61308e615460613067565b90565b906130ac6fffffffffffffffff000000000000000091612be4565b9181191691161790565b906130cb6130c66130d29261061f565b612bc1565b8254613091565b9055565b90565b6130ed6130e86130f2926130d6565b6105d2565b6104e4565b90565b6130ff601c6130d9565b90565b60c01b90565b9061311e67ffffffffffffffff60c01b91613102565b9181191691161790565b9061313d6131386131449261061f565b612bc1565b8254613108565b9055565b90565b61315f61315a61316492613148565b6105d2565b6104e4565b90565b613171603861314b565b90565b91909161317f613d93565b613187613da7565b61318f613dcd565b613197613df3565b61319f61164b565b816131a991613719565b506131b26111ba565b816131bc91613719565b506131c56117ba565b906131cf91613719565b505f806131db90612dd5565b6131e3612de1565b915f8301906131f191612e1d565b60208201906131ff91612e2b565b61320890613e5d565b90600192905f8091613218611ed7565b61322190612e39565b9361322a612e55565b965f88019061323891612e62565b602087019061324691612697565b604086019061325491612697565b61325d9061208b565b606085019061326b91612697565b6132749061208b565b608084019061328291612697565b60a083019061329091612689565b60029061329c91612e70565b906132a691613018565b60016132b3906005612ea9565b6132be906001613044565b60016132c990612b7c565b6132d3905f612bc4565b6132db613083565b6132e5905f6130b6565b6132ed6130f5565b6132f7905f613128565b6132ff6130f5565b61330a906001612bc4565b613312613167565b61331d9060016130b6565b565b9061332b939291612c59565b565b906133489161334361333e826121b2565b613705565b61334a565b565b90613354916137dd565b50565b906133619161332d565b565b600161336f91016107e0565b90565b5090565b634e487b7160e01b5f52603260045260245ffd5b919081101561339a576020020190565b613376565b356133a9816103f2565b90565b6133b5906103e6565b90565b9190916133c3613532565b6133cc5f61208b565b5b806133ea6133e46133df858890613372565b6107e0565b916107e0565b101561346e576134699061341061340b6134068588859161338a565b61339f565b613f24565b61342461341f8487849161338a565b61339f565b61344e7fbeb27701828f515b03069d44da6519b6c491da13ef1ca7082e619959d1f48ddb916133ac565b906134576103d4565b8061346181610a64565b0390a2613363565b6133cd565b50509050565b9061348e916134896134846111ba565b613705565b613490565b565b6134a5826134a060238490610ded565b612bc4565b6134e46134d27f90b37e59a942c5413ce00a3a844a47c20094979897cc653606d925e909885f35926105fd565b926134db6103d4565b918291826104fe565b0390a2565b906134f391613474565b565b613f3a565b61350261200b565b5061351c6135166301ffc9a760e01b6103e6565b916103e6565b1490565b61353061352b6111ba565b613705565b565b61353a613520565b565b5190565b9061354a8261353c565b81101561355b576020809102010190565b613376565b61356a90516103e6565b90565b91908261358a61358461357f5f612dd5565b610553565b91610553565b146136dc57823b6135a361359d5f61208b565b916107e0565b146136d6576135b15f61208b565b5b806135cd6135c76135c28561353c565b6107e0565b916107e0565b10156136d0576135ee6135e96135e4848490613540565b613560565b613b42565b806136096136036135fe5f612dd5565b610553565b91610553565b1415806136b5575b61369e57506136999061363761363061362b858490613540565b613560565b8690614041565b61364a613645848390613540565b613560565b8561367e6136787f12557f25e458d9682d7c959b5a960bc9332e8b7af1120b54a333bfc1ff282b39936133ac565b916105fd565b916136876103d4565b8061369181610a64565b0390a3613363565b6135b2565b6136b06136ab8385613540565b613560565b613fe8565b50806136c96136c387610553565b91610553565b1415613611565b50509050565b82613f99565b613f7d565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b613717906137116137d0565b9061407a565b565b61372161200b565b5061372a6136e1565b61373e61373883859061261c565b15610433565b5f146137c957613768906137635f61375b8160019401869061219c565b018590612606565b612ea9565b906137716137d0565b906137ae6137a86137a27f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d95612069565b926105fd565b926105fd565b926137b76103d4565b806137c181610a64565b0390a4600190565b5050505f90565b6137d861258c565b503390565b6137e561200b565b506137ee6136e1565b6137f982849061261c565b5f14613883576138229061381d5f61381581809401869061219c565b018590612606565b612ea9565b9061382b6137d0565b9061386861386261385c7ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b95612069565b926105fd565b926105fd565b926138716103d4565b8061387b81610a64565b0390a4600190565b5050505f90565b613893906105f1565b90565b61389f3061388a565b6138d16138cb7f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b1480156138fb575b6138df57565b5f63703e46dd60e11b8152806138f760048201610a64565b0390fd5b506139046140b5565b6139366139307f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b14156138d9565b5061394e6139496111ba565b613705565b565b6139599061393d565b565b613964906105d5565b90565b6139709061395b565b90565b61397c906105f1565b90565b9050519061398c826108b6565b565b906020828203126139a7576139a4915f0161397f565b90565b6103de565b91906139da60206139c46139bf86613967565b613973565b6352d1902d906139d26103d4565b93849261227e565b825281806139ea60048201610a64565b03915afa80915f92613a7a575b50155f14613a2b575050906001613a0c57505b565b613a27905f918291634c9c8ce360e01b8352600483016113ba565b0390fd5b9283613a46613a40613a3b6124b7565b6107bc565b916107bc565b03613a5b57613a569293506140db565b613a0a565b613a76845f918291632a87526960e21b835260048301610abb565b0390fd5b613a9c91925060203d8111613aa3575b613a948183610e7c565b81019061398e565b905f6139f7565b503d613a8a565b613ab33061388a565b613ae5613adf7f0000000000000000000000000000000000000000000000000000000000000000610553565b91610553565b03613aec57565b5f63703e46dd60e11b815280613b0460048201610a64565b0390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b90613b36906133ac565b5f5260205260405f2090565b613b59613b5e91613b5161258c565b506021613b2c565b6125c5565b90565b90613b6b906105fd565b5f5260205260405f2090565b90565b5490565b5f5260205f2090565b613b9081613b7a565b821015613baa57613ba2600491613b7e565b910201905f90565b613376565b90565b60ff1690565b613bc4613bc991610651565b613bb2565b90565b613bd69054613bb8565b90565b60081c90565b613beb613bf091613bd9565b6125a6565b90565b613bfd9054613bdf565b90565b613c0a6040610ea5565b90565b90613c43613c3a5f613c1d613c00565b94613c34613c2c838301613bcc565b838801612e1d565b01613bf3565b60208401612e2b565b565b613c4e90613c0d565b90565b613c60613c66919392936107e0565b926107e0565b8201809211613c7157565b6127e2565b929192613c94613c8f613c8761204f565b926015613b61565b613b77565b93613c9e85613b7a565b93613ca85f61208b565b5b80613cbc613cb6886107e0565b916107e0565b1015613d5c57613cd6613cd0888390613b87565b50613baf565b613ce15f82016125c5565b613cf3613ced88610553565b91610553565b1480613d2f575b613d0e575b50613d0990613363565b613ca9565b613d099194613d226001613d289301610728565b90613c51565b9390613cff565b50613d44613d3f60028301613c45565b613e5d565b613d56613d50866107bc565b916107bc565b14613cfa565b50935050925050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613d91614164565b565b613d9b613d89565b565b613da5614164565b565b613daf613d9d565b565b613db9614164565b613dc1613dc3565b565b613dcb6141bf565b565b613dd5613db1565b565b613ddf614164565b613de7613de9565b565b613df1614205565b565b613dfb613dd7565b565b613e079051612e11565b90565b613e149051610553565b90565b613e2090612e11565b90565b613e2c90613e17565b9052565b916020613e51929493613e4a60408201965f830190613e23565b01906113ad565b565b60200190565b5190565b613e65612198565b50613ea7613e806020613e795f8501613dfd565b9301613e0a565b91613e98613e8c6103d4565b93849260208401613e30565b60208201810382520382610e7c565b613eb9613eb382613e59565b91613e53565b2090565b1b90565b91906008613ee1910291613edb60018060a01b0384613ebd565b92613ebd565b9181191691161790565b90565b9190613f04613eff613f0c936105fd565b613eeb565b908354613ec1565b9055565b613f2291613f1c61258c565b91613eee565b565b5f613f33613f38926021613b2c565b613f10565b565b613f4d63ffffffff60e01b5f3516613b42565b80613f68613f62613f5d5f612dd5565b610553565b91610553565b036142435763ffffffff60e01b5f3516614224565b5f63d92e233d60e01b815280613f9560048201610a64565b0390fd5b613fb4905f9182916322a2d07b60e21b8352600483016113ba565b0390fd5b613fc1906103e6565b9052565b916020613fe6929493613fdf60408201965f830190613fb8565b01906113ad565b565b6140025f9283926310ae11a960e31b845260048401613fc5565b0390fd5b9061401760018060a01b039161162a565b9181191691161790565b9061403661403161403d926105fd565b613eeb565b8254614006565b9055565b61405061405592916021613b2c565b614021565b565b91602061407892949361407160408201965f8301906113ad565b01906107bf565b565b9061408f61408983839061261c565b15610433565b614097575050565b6140b15f92839263e2517d3f60e01b845260048401614057565b0390fd5b6140bd61258c565b506140d85f6140d26140cd6124b7565b614261565b016125c5565b90565b906140e582614264565b816141107fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b916105fd565b906141196103d4565b8061412381610a64565b0390a261412f81613e59565b61414161413b5f61208b565b916107e0565b115f146141555761415191614334565b505b565b505061415f6142b9565b614153565b61417561416f614363565b15610433565b61417b57565b5f631afcd79f60e31b81528061419360048201610a64565b0390fd5b61419f614164565b6141a76141a9565b565b6141bd6141b4613b08565b5f809101612ea9565b565b6141c7614197565b565b6141d1614164565b6141d96141e8565b565b6141e56001611a76565b90565b6142036141f3614381565b5f6141fc6141db565b9101612efe565b565b61420d6141c9565b565b9190614222905f60208501940190613fb8565b565b61423f905f91829163c2a825f560e01b83526004830161420f565b0390fd5b5f8091368280378136915af43d5f803e5f1461425d573d5ff35b3d5ffd5b90565b803b6142786142725f61208b565b916107e0565b1461429a57614298905f61429261428d6124b7565b614261565b01614021565b565b6142b5905f918291634c9c8ce360e01b8352600483016113ba565b0390fd5b346142cc6142c65f61208b565b916107e0565b116142d357565b5f63b398979f60e01b8152806142eb60048201610a64565b0390fd5b606090565b9061430661430183610eba565b610ea5565b918252565b3d5f146143265761431b3d6142f4565b903d5f602084013e5b565b61432e6142ef565b90614324565b5f80614360936143426142ef565b508390602081019051915af49061435761430b565b909190916143a5565b90565b61436b61200b565b5061437e5f614378613d65565b01612b6f565b90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b906143b9906143b26142ef565b5015610433565b5f146143c55750614429565b6143ce82613e59565b6143e06143da5f61208b565b916107e0565b148061440e575b6143ef575090565b61440a905f918291639996b31560e01b8352600483016113ba565b0390fd5b50803b61442361441d5f61208b565b916107e0565b146143e7565b61443281613e59565b61444461443e5f61208b565b916107e0565b115f1461445357805190602001fd5b5f63d6bda27560e01b81528061446b60048201610a64565b0390fdfea164736f6c634300081a000a
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80`@R`\x046\x10\x15a\0\x15W[6a4\xF5W\0[a\0\x1F_5a\x03\xCEV[\x80c\x01\xFF\xC9\xA7\x14a\x03\xC9W\x80c\x05\xD6N8\x14a\x03\xC4W\x80c\n\xA8\xB1\x10\x14a\x03\xBFW\x80c\x12\xD9\x1C\x88\x14a\x03\xBAW\x80c\x18\x05m\xC2\x14a\x03\xB5W\x80c\x19\xE8.a\x14a\x03\xB0W\x80c$\x8A\x9C\xA3\x14a\x03\xABW\x80c//\xF1]\x14a\x03\xA6W\x80c2'?a\x14a\x03\xA1W\x80c6V\x8A\xBE\x14a\x03\x9CW\x80cE>\xCC\xEA\x14a\x03\x97W\x80cF\xD1c\xAA\x14a\x03\x92W\x80cI\x14t\x11\x14a\x03\x8DW\x80cIb\xF8\x8F\x14a\x03\x88W\x80cM\xE8\xAD\xDC\x14a\x03\x83W\x80cN\x9C\x92\x9A\x14a\x03~W\x80cO\x1E\xF2\x86\x14a\x03yW\x80cP\x95\xAFd\x14a\x03tW\x80cR\xD1\x90-\x14a\x03oW\x80cT\xDE# \x14a\x03jW\x80c\\\x97Z\xBB\x14a\x03eW\x80c`#V\xE3\x14a\x03`W\x80cf\xC3hu\x14a\x03[W\x80cr\xB5\x03-\x14a\x03VW\x80cu\xB28\xFC\x14a\x03QW\x80cw\xAB,\xF3\x14a\x03LW\x80c}\xF9*\xDA\x14a\x03GW\x80c\x88\xC4\x7Fh\x14a\x03BW\x80c\x8A\x19\xC8\xBC\x14a\x03=W\x80c\x8A\x7F\xE6\x0F\x14a\x038W\x80c\x90\x83\x7F\xF4\x14a\x033W\x80c\x91\xD1HT\x14a\x03.W\x80c\x94\x80\xE4\xDD\x14a\x03)W\x80c\x94\x94\xF4&\x14a\x03$W\x80c\x96\x08Vs\x14a\x03\x1FW\x80c\x97\"\xF4\xB9\x14a\x03\x1AW\x80c\x9E\x87\x05\x85\x14a\x03\x15W\x80c\xA2\x17\xFD\xDF\x14a\x03\x10W\x80c\xA4W\xAF=\x14a\x03\x0BW\x80c\xA4\xB3-\xE8\x14a\x03\x06W\x80c\xA7\xFAo\x98\x14a\x03\x01W\x80c\xAA\xF5\xEBh\x14a\x02\xFCW\x80c\xAD<\xB1\xCC\x14a\x02\xF7W\x80c\xB5K+\x9E\x14a\x02\xF2W\x80c\xB6`\x84\t\x14a\x02\xEDW\x80c\xBA\x05\xBB\xF5\x14a\x02\xE8W\x80c\xC0tI\xE2\x14a\x02\xE3W\x80c\xC5P\xD98\x14a\x02\xDEW\x80c\xCB\xB6\xD6\xBD\x14a\x02\xD9W\x80c\xD2zo\x06\x14a\x02\xD4W\x80c\xD4_\xF5\x82\x14a\x02\xCFW\x80c\xD5Gt\x1F\x14a\x02\xCAW\x80c\xDB\x8A\x17:\x14a\x02\xC5W\x80c\xDDvJ\xBF\x14a\x02\xC0W\x80c\xE0}\xEC)\x14a\x02\xBBW\x80c\xE1\xA4R\x18\x14a\x02\xB6W\x80c\xE2~\x05\xC1\x14a\x02\xB1W\x80c\xF3\xC9\xB3\x11\x14a\x02\xACWc\xF7\xCBx\x9A\x03a\0\x0EWa\x1F\xD6V[a\x1F\x92V[a\x1F%V[a\x1E\xF0V[a\x1E\x87V[a\x1E\x1CV[a\x1D\xAAV[a\x1DgV[a\x1D2V[a\x1C\xC4V[a\x1CTV[a\x1B\x92V[a\x1B\\V[a\x1A\xEEV[a\x1A\xAAV[a\x1A>V[a\x19\xFAV[a\x18\xC9V[a\x18VV[a\x17\xE9V[a\x17\x84V[a\x16bV[a\x15\xF2V[a\x15\x83V[a\x15-V[a\x14\xDEV[a\x14oV[a\x149V[a\x14\x04V[a\x13\xCFV[a\x13xV[a\x136V[a\x12\xC7V[a\x12YV[a\x11\xE9V[a\x11\x84V[a\x11OV[a\x11\x1AV[a\x10\xB6V[a\x10\x81V[a\x10\x14V[a\x0F\xDFV[a\x0F\x86V[a\x0E$V[a\ruV[a\r0V[a\x0C\xC3V[a\x0C\x90V[a\x0C=V[a\x0B\xD1V[a\x0B\x9CV[a\x0B2V[a\n\xD0V[a\niV[a\t\x9EV[a\t\x1BV[a\x08vV[a\x05\x13V[a\x04ZV[`\xE0\x1C\x90V[`@Q\x90V[_\x80\xFD[_\x80\xFD[_\x80\xFD[c\xFF\xFF\xFF\xFF`\xE0\x1B\x16\x90V[a\x03\xFB\x81a\x03\xE6V[\x03a\x04\x02WV[_\x80\xFD[\x90P5\x90a\x04\x13\x82a\x03\xF2V[V[\x90` \x82\x82\x03\x12a\x04.Wa\x04+\x91_\x01a\x04\x06V[\x90V[a\x03\xDEV[\x15\x15\x90V[a\x04A\x90a\x043V[\x90RV[\x91\x90a\x04X\x90_` \x85\x01\x94\x01\x90a\x048V[V[4a\x04\x8AWa\x04\x86a\x04ua\x04p6`\x04a\x04\x15V[a \x0FV[a\x04}a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[_\x91\x03\x12a\x04\x99WV[a\x03\xDEV[\x1C\x90V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[a\x04\xBF\x90`\x08a\x04\xC4\x93\x02a\x04\x9EV[a\x04\xA2V[\x90V[\x90a\x04\xD2\x91Ta\x04\xAFV[\x90V[a\x04\xE1_`\x10\x90a\x04\xC7V[\x90V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[a\x04\xFA\x90a\x04\xE4V[\x90RV[\x91\x90a\x05\x11\x90_` \x85\x01\x94\x01\x90a\x04\xF1V[V[4a\x05CWa\x05#6`\x04a\x04\x8FV[a\x05?a\x05.a\x04\xD5V[a\x056a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[`\x01\x80`\xA0\x1B\x03\x16\x90V[a\x05\\\x90a\x05HV[\x90V[a\x05h\x81a\x05SV[\x03a\x05oWV[_\x80\xFD[\x90P5\x90a\x05\x80\x82a\x05_V[V[a\x05\x8B\x81a\x04\xE4V[\x03a\x05\x92WV[_\x80\xFD[\x90P5\x90a\x05\xA3\x82a\x05\x82V[V[\x91\x90`@\x83\x82\x03\x12a\x05\xCDW\x80a\x05\xC1a\x05\xCA\x92_\x86\x01a\x05sV[\x93` \x01a\x05\x96V[\x90V[a\x03\xDEV[\x90V[a\x05\xE9a\x05\xE4a\x05\xEE\x92a\x05HV[a\x05\xD2V[a\x05HV[\x90V[a\x05\xFA\x90a\x05\xD5V[\x90V[a\x06\x06\x90a\x05\xF1V[\x90V[\x90a\x06\x13\x90a\x05\xFDV[_R` R`@_ \x90V[a\x063a\x06.a\x068\x92a\x04\xE4V[a\x05\xD2V[a\x04\xE4V[\x90V[\x90a\x06E\x90a\x06\x1FV[_R` R`@_ \x90V[_\x1C\x90V[a\x06ba\x06g\x91a\x06QV[a\x04\xA2V[\x90V[a\x06t\x90Ta\x06VV[\x90V[`@\x1C\x90V[a\x06\x89a\x06\x8E\x91a\x06wV[a\x04\xA2V[\x90V[a\x06\x9B\x90Ta\x06}V[\x90V[`\x80\x1C\x90V[a\x06\xB0a\x06\xB5\x91a\x06\x9EV[a\x04\xA2V[\x90V[a\x06\xC2\x90Ta\x06\xA4V[\x90V[\x90V[a\x06\xD4a\x06\xD9\x91a\x06QV[a\x06\xC5V[\x90V[a\x06\xE6\x90Ta\x06\xC8V[\x90V[a\xFF\xFF\x16\x90V[a\x06\xFCa\x07\x01\x91a\x06QV[a\x06\xE9V[\x90V[a\x07\x0E\x90Ta\x06\xF0V[\x90V[\x90V[a\x07 a\x07%\x91a\x06QV[a\x07\x11V[\x90V[a\x072\x90Ta\x07\x14V[\x90V[\x90a\x07Da\x07I\x92`Ua\x06\tV[a\x06;V[a\x07T_\x82\x01a\x06jV[\x91a\x07`_\x83\x01a\x06\x91V[\x91a\x07l_\x82\x01a\x06\xB8V[\x91a\x07y`\x01\x83\x01a\x06\xDCV[\x91a\x07\x86`\x02\x82\x01a\x07\x04V[\x91a\x07\x93`\x03\x83\x01a\x07(V[\x91a\x07\xA0`\x04\x82\x01a\x07(V[\x91a\x07\xB9`\x06a\x07\xB2`\x05\x85\x01a\x07(V[\x93\x01a\x06\xDCV[\x90V[\x90V[a\x07\xC8\x90a\x07\xBCV[\x90RV[a\xFF\xFF\x16\x90V[a\x07\xDC\x90a\x07\xCCV[\x90RV[\x90V[a\x07\xEC\x90a\x07\xE0V[\x90RV[\x96\x94\x92\x90\x99\x98\x97\x95\x93\x91a\x01 \x88\x01\x9A_\x89\x01a\x08\x0C\x91a\x04\xF1V[` \x88\x01a\x08\x19\x91a\x04\xF1V[`@\x87\x01a\x08&\x91a\x04\xF1V[``\x86\x01a\x083\x91a\x07\xBFV[`\x80\x85\x01a\x08@\x91a\x07\xD3V[`\xA0\x84\x01a\x08M\x91a\x07\xE3V[`\xC0\x83\x01a\x08Z\x91a\x07\xE3V[`\xE0\x82\x01a\x08g\x91a\x07\xE3V[a\x01\0\x01a\x08t\x91a\x07\xBFV[V[4a\x08\xB1Wa\x08\xADa\x08\x92a\x08\x8C6`\x04a\x05\xA5V[\x90a\x075V[\x95a\x08\xA4\x99\x97\x99\x95\x91\x95\x94\x92\x94a\x03\xD4V[\x99\x8A\x99\x8Aa\x07\xF0V[\x03\x90\xF3[a\x03\xDAV[a\x08\xBF\x81a\x07\xBCV[\x03a\x08\xC6WV[_\x80\xFD[\x90P5\x90a\x08\xD7\x82a\x08\xB6V[V[\x91\x90`@\x83\x82\x03\x12a\t\x01W\x80a\x08\xF5a\x08\xFE\x92_\x86\x01a\x05sV[\x93` \x01a\x08\xCAV[\x90V[a\x03\xDEV[\x91\x90a\t\x19\x90_` \x85\x01\x94\x01\x90a\x07\xE3V[V[4a\tLWa\tHa\t7a\t16`\x04a\x08\xD9V[\x90a \xA7V[a\t?a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\tha\tca\tm\x92a\tQV[a\x05\xD2V[a\x07\xCCV[\x90V[a\t{a*\xF8a\tTV[\x90V[a\t\x86a\tpV[\x90V[\x91\x90a\t\x9C\x90_` \x85\x01\x94\x01\x90a\x07\xD3V[V[4a\t\xCEWa\t\xAE6`\x04a\x04\x8FV[a\t\xCAa\t\xB9a\t~V[a\t\xC1a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[_\x80\xFD[_\x80\xFD[_\x80\xFD[\x90\x91\x82`\x1F\x83\x01\x12\x15a\n\x19W\x815\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\n\x14W` \x01\x92` \x83\x02\x84\x01\x11a\n\x0FWV[a\t\xDBV[a\t\xD7V[a\t\xD3V[\x91\x90\x91`@\x81\x84\x03\x12a\n_Wa\n7\x83_\x83\x01a\x05sV[\x92` \x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\nZWa\nV\x92\x01a\t\xDFV[\x90\x91V[a\x03\xE2V[a\x03\xDEV[_\x01\x90V[4a\n\x98Wa\n\x82a\n|6`\x04a\n\x1EV[\x91a!zV[a\n\x8Aa\x03\xD4V[\x80a\n\x94\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\n\xB6Wa\n\xB3\x91_\x01a\x08\xCAV[\x90V[a\x03\xDEV[\x91\x90a\n\xCE\x90_` \x85\x01\x94\x01\x90a\x07\xBFV[V[4a\x0B\0Wa\n\xFCa\n\xEBa\n\xE66`\x04a\n\x9DV[a!\xB2V[a\n\xF3a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x91\x90`@\x83\x82\x03\x12a\x0B-W\x80a\x0B!a\x0B*\x92_\x86\x01a\x08\xCAV[\x93` \x01a\x05sV[\x90V[a\x03\xDEV[4a\x0BaWa\x0BKa\x0BE6`\x04a\x0B\x05V[\x90a\"\x06V[a\x0BSa\x03\xD4V[\x80a\x0B]\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x0Bv\x90`\x08a\x0B{\x93\x02a\x04\x9EV[a\x06\xE9V[\x90V[\x90a\x0B\x89\x91Ta\x0BfV[\x90V[a\x0B\x99`\x01`\x10\x90a\x0B~V[\x90V[4a\x0B\xCCWa\x0B\xAC6`\x04a\x04\x8FV[a\x0B\xC8a\x0B\xB7a\x0B\x8CV[a\x0B\xBFa\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[4a\x0C\0Wa\x0B\xEAa\x0B\xE46`\x04a\x0B\x05V[\x90a\"\x12V[a\x0B\xF2a\x03\xD4V[\x80a\x0B\xFC\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x0C\x1Ca\x0C\x17a\x0C!\x92a\x0C\x05V[a\x05\xD2V[a\x07\xCCV[\x90V[a\x0C/a>\x80a\x0C\x08V[\x90V[a\x0C:a\x0C$V[\x90V[4a\x0CmWa\x0CM6`\x04a\x04\x8FV[a\x0Cia\x0CXa\x0C2V[a\x0C`a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\x0C\x8BWa\x0C\x88\x91_\x01a\x05sV[\x90V[a\x03\xDEV[4a\x0C\xBEWa\x0C\xA8a\x0C\xA36`\x04a\x0CrV[a#RV[a\x0C\xB0a\x03\xD4V[\x80a\x0C\xBA\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[4a\x0C\xF3Wa\x0C\xEFa\x0C\xDEa\x0C\xD96`\x04a\x0CrV[a$0V[a\x0C\xE6a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\r\x0Fa\r\na\r\x14\x92a\x0C\xF8V[a\x05\xD2V[a\x07\xCCV[\x90V[a\r\"a'\x10a\x0C\xFBV[\x90V[a\r-a\r\x17V[\x90V[4a\r`Wa\r@6`\x04a\x04\x8FV[a\r\\a\rKa\r%V[a\rSa\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[a\rr`\x01`\x08\x90a\x04\xC7V[\x90V[4a\r\xA5Wa\r\x856`\x04a\x04\x8FV[a\r\xA1a\r\x90a\reV[a\r\x98a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x91\x90`@\x83\x82\x03\x12a\r\xD2W\x80a\r\xC6a\r\xCF\x92_\x86\x01a\x05\x96V[\x93` \x01a\x05sV[\x90V[a\x03\xDEV[\x90a\r\xE1\x90a\x06\x1FV[_R` R`@_ \x90V[\x90a\r\xF7\x90a\x05\xFDV[_R` R`@_ \x90V[a\x0E\x1Ca\x0E!\x92a\x0E\x17`X\x93_\x94a\r\xD7V[a\r\xEDV[a\x04\xC7V[\x90V[4a\x0EUWa\x0EQa\x0E@a\x0E:6`\x04a\r\xAAV[\x90a\x0E\x03V[a\x0EHa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[_\x80\xFD[`\x1F\x80\x19\x91\x01\x16\x90V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90a\x0E\x86\x90a\x0E^V[\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x0E\xA0W`@RV[a\x0EhV[\x90a\x0E\xB8a\x0E\xB1a\x03\xD4V[\x92\x83a\x0E|V[V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0E\xD8Wa\x0E\xD4` \x91a\x0E^V[\x01\x90V[a\x0EhV[\x90\x82_\x93\x92\x827\x01RV[\x90\x92\x91\x92a\x0E\xFDa\x0E\xF8\x82a\x0E\xBAV[a\x0E\xA5V[\x93\x81\x85R` \x85\x01\x90\x82\x84\x01\x11a\x0F\x19Wa\x0F\x17\x92a\x0E\xDDV[V[a\x0EZV[\x90\x80`\x1F\x83\x01\x12\x15a\x0F<W\x81` a\x0F9\x935\x91\x01a\x0E\xE8V[\x90V[a\t\xD3V[\x91\x90\x91`@\x81\x84\x03\x12a\x0F\x81Wa\x0FZ\x83_\x83\x01a\x05sV[\x92` \x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0F|Wa\x0Fy\x92\x01a\x0F\x1EV[\x90V[a\x03\xE2V[a\x03\xDEV[a\x0F\x9Aa\x0F\x946`\x04a\x0FAV[\x90a$xV[a\x0F\xA2a\x03\xD4V[\x80a\x0F\xAC\x81a\ndV[\x03\x90\xF3[\x7F\x12\xB4.\x8A\x16\x0F`d\xDC\x95\x9Co%\x1E:\xF0u\n\xD2\x13\xDB\xEC\xF5s\xB4q\rg\xD6\xC2\x8E9\x90V[a\x0F\xDCa\x0F\xB0V[\x90V[4a\x10\x0FWa\x0F\xEF6`\x04a\x04\x8FV[a\x10\x0Ba\x0F\xFAa\x0F\xD4V[a\x10\x02a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[4a\x10DWa\x10$6`\x04a\x04\x8FV[a\x10@a\x10/a$\xEFV[a\x107a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x10`a\x10[a\x10e\x92a\x10IV[a\x05\xD2V[a\x07\xCCV[\x90V[a\x10sa.\xE0a\x10LV[\x90V[a\x10~a\x10hV[\x90V[4a\x10\xB1Wa\x10\x916`\x04a\x04\x8FV[a\x10\xADa\x10\x9Ca\x10vV[a\x10\xA4a\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[4a\x10\xE6Wa\x10\xC66`\x04a\x04\x8FV[a\x10\xE2a\x10\xD1a%#V[a\x10\xD9a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x7F\x19D\x9AJ\xD5~@\xA5\xAAw\xE7\x85\xB4S\x9ES\xBA\x9E\x7F\xED\xBFpv8\x8E\xE3\xFB\x1B\xC2\xDD\xEA\x1B\x90V[a\x11\x17a\x10\xEBV[\x90V[4a\x11JWa\x11*6`\x04a\x04\x8FV[a\x11Fa\x115a\x11\x0FV[a\x11=a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[4a\x11\x7FWa\x11{a\x11ja\x11e6`\x04a\x0CrV[a%EV[a\x11ra\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[4a\x11\xB5Wa\x11\xB1a\x11\xA0a\x11\x9A6`\x04a\r\xAAV[\x90a%dV[a\x11\xA8a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x7F\xA4\x98\x07 \\\xE4\xD3U\t.\xF5\xA8\xA1\x8FV\xE8\x91<\xF4\xA2\x01\xFB\xE2\x87\x82[\tV\x93\xC2\x17u\x90V[a\x11\xE6a\x11\xBAV[\x90V[4a\x12\x19Wa\x11\xF96`\x04a\x04\x8FV[a\x12\x15a\x12\x04a\x11\xDEV[a\x12\x0Ca\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[`\xFF\x16\x90V[a\x124\x90`\x08a\x129\x93\x02a\x04\x9EV[a\x12\x1EV[\x90V[\x90a\x12G\x91Ta\x12$V[\x90V[a\x12V`\x05_\x90a\x12<V[\x90V[4a\x12\x89Wa\x12i6`\x04a\x04\x8FV[a\x12\x85a\x12ta\x12JV[a\x12|a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x12\xA5a\x12\xA0a\x12\xAA\x92a\x12\x8EV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x12\xB9bO\x1A\0a\x12\x91V[\x90V[a\x12\xC4a\x12\xADV[\x90V[4a\x12\xF7Wa\x12\xD76`\x04a\x04\x8FV[a\x12\xF3a\x12\xE2a\x12\xBCV[a\x12\xEAa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x13\x13a\x13\x0Ea\x13\x18\x92a\x12\xFCV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x13(c\x05\xF5\xE1\0a\x12\xFFV[\x90V[a\x133a\x13\x1BV[\x90V[4a\x13fWa\x13F6`\x04a\x04\x8FV[a\x13ba\x13Qa\x13+V[a\x13Ya\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x13u_\x80a\x04\xC7V[\x90V[4a\x13\xA8Wa\x13\x886`\x04a\x04\x8FV[a\x13\xA4a\x13\x93a\x13kV[a\x13\x9Ba\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x13\xB6\x90a\x05SV[\x90RV[\x91\x90a\x13\xCD\x90_` \x85\x01\x94\x01\x90a\x13\xADV[V[4a\x13\xFFWa\x13\xFBa\x13\xEAa\x13\xE56`\x04a\x0CrV[a%\xD2V[a\x13\xF2a\x03\xD4V[\x91\x82\x91\x82a\x13\xBAV[\x03\x90\xF3[a\x03\xDAV[4a\x144Wa\x140a\x14\x1Fa\x14\x1A6`\x04a\x04\x15V[a%\xF1V[a\x14'a\x03\xD4V[\x91\x82\x91\x82a\x13\xBAV[\x03\x90\xF3[a\x03\xDAV[4a\x14jWa\x14fa\x14Ua\x14O6`\x04a\x0B\x05V[\x90a&\x1CV[a\x14]a\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[4a\x14\x9FWa\x14\x9Ba\x14\x8Aa\x14\x856`\x04a\x0CrV[a&NV[a\x14\x92a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90\x91``\x82\x84\x03\x12a\x14\xD9Wa\x14\xD6a\x14\xBF\x84_\x85\x01a\x05sV[\x93a\x14\xCD\x81` \x86\x01a\x05\x96V[\x93`@\x01a\x05sV[\x90V[a\x03\xDEV[4a\x15\x0FWa\x15\x0Ba\x14\xFAa\x14\xF46`\x04a\x14\xA4V[\x91a(\x86V[a\x15\x02a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x15*\x90a\x15%`V\x91_\x92a\r\xEDV[a\x04\xC7V[\x90V[4a\x15]Wa\x15Ya\x15Ha\x15C6`\x04a\x0CrV[a\x15\x14V[a\x15Pa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x15{a\x15\x80\x92a\x15v`W\x93_\x94a\r\xD7V[a\r\xEDV[a\x04\xC7V[\x90V[4a\x15\xB4Wa\x15\xB0a\x15\x9Fa\x15\x996`\x04a\r\xAAV[\x90a\x15bV[a\x15\xA7a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x15\xD0a\x15\xCBa\x15\xD5\x92a\x15\xB9V[a\x05\xD2V[a\x04\xE4V[\x90V[a\x15\xE4b'\x8D\0a\x15\xBCV[\x90V[a\x15\xEFa\x15\xD8V[\x90V[4a\x16\"Wa\x16\x026`\x04a\x04\x8FV[a\x16\x1Ea\x16\ra\x15\xE7V[a\x16\x15a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[_\x1B\x90V[a\x16Ca\x16>a\x16H\x92a\x16'V[a\x16*V[a\x07\xBCV[\x90V[a\x16T_a\x16/V[\x90V[a\x16_a\x16KV[\x90V[4a\x16\x92Wa\x16r6`\x04a\x04\x8FV[a\x16\x8Ea\x16}a\x16WV[a\x16\x85a\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[a\x16\xA0\x90a\x04\xE4V[\x90RV[a\x16\xAD\x90a\x07\xBCV[\x90RV[a\x16\xBA\x90a\x07\xCCV[\x90RV[a\x16\xC7\x90a\x07\xE0V[\x90RV[\x90a\x01\0\x80a\x17l\x93a\x16\xE4_\x82\x01Q_\x86\x01\x90a\x16\x97V[a\x16\xF6` \x82\x01Q` \x86\x01\x90a\x16\x97V[a\x17\x08`@\x82\x01Q`@\x86\x01\x90a\x16\x97V[a\x17\x1A``\x82\x01Q``\x86\x01\x90a\x16\xA4V[a\x17,`\x80\x82\x01Q`\x80\x86\x01\x90a\x16\xB1V[a\x17>`\xA0\x82\x01Q`\xA0\x86\x01\x90a\x16\xBEV[a\x17P`\xC0\x82\x01Q`\xC0\x86\x01\x90a\x16\xBEV[a\x17b`\xE0\x82\x01Q`\xE0\x86\x01\x90a\x16\xBEV[\x01Q\x91\x01\x90a\x16\xA4V[V[\x91\x90a\x17\x82\x90_a\x01 \x85\x01\x94\x01\x90a\x16\xCBV[V[4a\x17\xB5Wa\x17\xB1a\x17\xA0a\x17\x9A6`\x04a\x05\xA5V[\x90a*4V[a\x17\xA8a\x03\xD4V[\x91\x82\x91\x82a\x17nV[\x03\x90\xF3[a\x03\xDAV[\x7F\xB1\xFA\xDD1B\xAB*\xD7\xF13~\xA4\xD9q\x12\xBC\xC83\x7F\xC1\x1C\xE5\xB2\x0C\xB0J\xD08\xAD\xF9\x98\x19\x90V[a\x17\xE6a\x17\xBAV[\x90V[4a\x18\x19Wa\x17\xF96`\x04a\x04\x8FV[a\x18\x15a\x18\x04a\x17\xDEV[a\x18\x0Ca\x03\xD4V[\x91\x82\x91\x82a\n\xBBV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x185a\x180a\x18:\x92a\x18\x1EV[a\x05\xD2V[a\x07\xCCV[\x90V[a\x18Ha2\xC8a\x18!V[\x90V[a\x18Sa\x18=V[\x90V[4a\x18\x86Wa\x18f6`\x04a\x04\x8FV[a\x18\x82a\x18qa\x18KV[a\x18ya\x03\xD4V[\x91\x82\x91\x82a\t\x89V[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x18\xA2a\x18\x9Da\x18\xA7\x92a\x18\x8BV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x18\xBBg\r\xE0\xB6\xB3\xA7d\0\0a\x18\x8EV[\x90V[a\x18\xC6a\x18\xAAV[\x90V[4a\x18\xF9Wa\x18\xD96`\x04a\x04\x8FV[a\x18\xF5a\x18\xE4a\x18\xBEV[a\x18\xECa\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x19\x1CWa\x19\x18` \x91a\x0E^V[\x01\x90V[a\x0EhV[\x90a\x193a\x19.\x83a\x18\xFEV[a\x0E\xA5V[\x91\x82RV[_\x7F5.0.0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91\x01RV[a\x19i`\x05a\x19!V[\x90a\x19v` \x83\x01a\x198V[V[a\x19\x80a\x19_V[\x90V[a\x19\x8Ba\x19xV[\x90V[a\x19\x96a\x19\x83V[\x90V[Q\x90V[` \x91\x81R\x01\x90V[\x90\x82_\x93\x92\x82^\x01RV[a\x19\xD0a\x19\xD9` \x93a\x19\xDE\x93a\x19\xC7\x81a\x19\x99V[\x93\x84\x80\x93a\x19\x9DV[\x95\x86\x91\x01a\x19\xA6V[a\x0E^V[\x01\x90V[a\x19\xF7\x91` \x82\x01\x91_\x81\x84\x03\x91\x01Ra\x19\xB1V[\x90V[4a\x1A*Wa\x1A\n6`\x04a\x04\x8FV[a\x1A&a\x1A\x15a\x19\x8EV[a\x1A\x1Da\x03\xD4V[\x91\x82\x91\x82a\x19\xE2V[\x03\x90\xF3[a\x03\xDAV[a\x1A;`\x07_\x90a\x12<V[\x90V[4a\x1AnWa\x1AN6`\x04a\x04\x8FV[a\x1Aja\x1AYa\x1A/V[a\x1Aaa\x03\xD4V[\x91\x82\x91\x82a\x04EV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1A\x8Aa\x1A\x85a\x1A\x8F\x92a\x1AsV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1A\x9C`\x01a\x1AvV[\x90V[a\x1A\xA7a\x1A\x92V[\x90V[4a\x1A\xDAWa\x1A\xBA6`\x04a\x04\x8FV[a\x1A\xD6a\x1A\xC5a\x1A\x9FV[a\x1A\xCDa\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[a\x1A\xEB_`\x18\x90a\x04\xC7V[\x90V[4a\x1B\x1EWa\x1A\xFE6`\x04a\x04\x8FV[a\x1B\x1Aa\x1B\ta\x1A\xDFV[a\x1B\x11a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90` \x80a\x1BE\x93a\x1B;_\x82\x01Q_\x86\x01\x90a\x16\xBEV[\x01Q\x91\x01\x90a\x16\xBEV[V[\x91\x90a\x1BZ\x90_`@\x85\x01\x94\x01\x90a\x1B#V[V[4a\x1B\x8DWa\x1B\x89a\x1Bxa\x1Br6`\x04a\r\xAAV[\x90a+\x0BV[a\x1B\x80a\x03\xD4V[\x91\x82\x91\x82a\x1BGV[\x03\x90\xF3[a\x03\xDAV[4a\x1B\xC3Wa\x1B\xBFa\x1B\xAEa\x1B\xA86`\x04a\r\xAAV[\x90a+3V[a\x1B\xB6a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x1B\xD1\x81a\x07\xE0V[\x03a\x1B\xD8WV[_\x80\xFD[\x90P5\x90a\x1B\xE9\x82a\x1B\xC8V[V[a\x1B\xF4\x81a\x07\xCCV[\x03a\x1B\xFBWV[_\x80\xFD[\x90P5\x90a\x1C\x0C\x82a\x1B\xEBV[V[`\x80\x81\x83\x03\x12a\x1COWa\x1C$\x82_\x83\x01a\x05sV[\x92a\x1CLa\x1C5\x84` \x85\x01a\x1B\xDCV[\x93a\x1CC\x81`@\x86\x01a\x1B\xDCV[\x93``\x01a\x1B\xFFV[\x90V[a\x03\xDEV[4a\x1C\x86Wa\x1Cpa\x1Cg6`\x04a\x1C\x0EV[\x92\x91\x90\x91a3\x1FV[a\x1Cxa\x03\xD4V[\x80a\x1C\x82\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1C\xA2a\x1C\x9Da\x1C\xA7\x92a\x1C\x8BV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1C\xB6bv\xA7\0a\x1C\x8EV[\x90V[a\x1C\xC1a\x1C\xAAV[\x90V[4a\x1C\xF4Wa\x1C\xD46`\x04a\x04\x8FV[a\x1C\xF0a\x1C\xDFa\x1C\xB9V[a\x1C\xE7a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1D\x10a\x1D\x0Ba\x1D\x15\x92a\x1C\xF9V[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1D$b\t:\x80a\x1C\xFCV[\x90V[a\x1D/a\x1D\x18V[\x90V[4a\x1DbWa\x1DB6`\x04a\x04\x8FV[a\x1D^a\x1DMa\x1D'V[a\x1DUa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[4a\x1D\x96Wa\x1D\x80a\x1Dz6`\x04a\x0B\x05V[\x90a3WV[a\x1D\x88a\x03\xD4V[\x80a\x1D\x92\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x1D\xA7`\x01_\x90a\x04\xC7V[\x90V[4a\x1D\xDAWa\x1D\xBA6`\x04a\x04\x8FV[a\x1D\xD6a\x1D\xC5a\x1D\x9BV[a\x1D\xCDa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1D\xF6a\x1D\xF1a\x1D\xFB\x92a\x1D\xDFV[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1E\x0Ef#\x86\xF2o\xC1\0\0a\x1D\xE2V[\x90V[a\x1E\x19a\x1D\xFEV[\x90V[4a\x1ELWa\x1E,6`\x04a\x04\x8FV[a\x1EHa\x1E7a\x1E\x11V[a\x1E?a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[\x90` \x82\x82\x03\x12a\x1E\x82W_\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x1E}Wa\x1Ey\x92\x01a\t\xDFV[\x90\x91V[a\x03\xE2V[a\x03\xDEV[4a\x1E\xB6Wa\x1E\xA0a\x1E\x9A6`\x04a\x1EQV[\x90a3\xB8V[a\x1E\xA8a\x03\xD4V[\x80a\x1E\xB2\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[a\x1E\xCFa\x1E\xCAa\x1E\xD4\x92a\x0C\xF8V[a\x05\xD2V[a\x07\xE0V[\x90V[a\x1E\xE2a'\x10a\x1E\xBBV[\x90V[a\x1E\xEDa\x1E\xD7V[\x90V[4a\x1F Wa\x1F\x006`\x04a\x04\x8FV[a\x1F\x1Ca\x1F\x0Ba\x1E\xE5V[a\x1F\x13a\x03\xD4V[\x91\x82\x91\x82a\t\x06V[\x03\x90\xF3[a\x03\xDAV[4a\x1FTWa\x1F>a\x1F86`\x04a\x05\xA5V[\x90a4\xE9V[a\x1FFa\x03\xD4V[\x80a\x1FP\x81a\ndV[\x03\x90\xF3[a\x03\xDAV[\x90V[a\x1Fpa\x1Fka\x1Fu\x92a\x1FYV[a\x05\xD2V[a\x04\xE4V[\x90V[a\x1F\x84b\xEDN\0a\x1F\\V[\x90V[a\x1F\x8Fa\x1FxV[\x90V[4a\x1F\xC2Wa\x1F\xA26`\x04a\x04\x8FV[a\x1F\xBEa\x1F\xADa\x1F\x87V[a\x1F\xB5a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[a\x1F\xD3_`\x08\x90a\x04\xC7V[\x90V[4a \x06Wa\x1F\xE66`\x04a\x04\x8FV[a \x02a\x1F\xF1a\x1F\xC7V[a\x1F\xF9a\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xF3[a\x03\xDAV[_\x90V[a \x17a \x0BV[P\x80a 2a ,cye\xDB\x0B`\xE0\x1Ba\x03\xE6V[\x91a\x03\xE6V[\x14\x90\x81\x15a ?W[P\x90V[a I\x91Pa4\xFAV[_a ;V[_\x90V[\x90a ]\x90a\x05\xFDV[_R` R`@_ \x90V[a r\x90a\x07\xBCV[\x90V[\x90a \x7F\x90a iV[_R` R`@_ \x90V[a \x9Fa \x9Aa \xA4\x92a\x16'V[a\x05\xD2V[a\x07\xE0V[\x90V[a \xCC\x91a \xC2a \xC7\x92a \xBAa OV[P`\x11a SV[a uV[a\x07(V[\x80a \xDFa \xD9_a \x8BV[\x91a\x07\xE0V[\x14_\x14a \xF3WPa \xEFa\x18\xAAV[[\x90V[a \xF0V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a!\x10W` \x80\x91\x02\x01\x90V[a\x0EhV[\x90\x92\x91\x92a!*a!%\x82a \xF8V[a\x0E\xA5V[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a!gW\x91[\x83\x83\x10a!NWPPPPV[` \x80\x91a!\\\x84\x86a\x04\x06V[\x81R\x01\x92\x01\x91a!AV[a\t\xDBV[a!w\x916\x91a!\x15V[\x90V[a!\x96\x92a!\x90\x91a!\x8Aa52V[\x92a!lV[\x90a5mV[V[_\x90V[\x90a!\xA6\x90a iV[_R` R`@_ \x90V[`\x01a!\xD3a!\xD9\x92a!\xC3a!\x98V[P_a!\xCDa6\xE1V[\x01a!\x9CV[\x01a\x06\xDCV[\x90V[\x90a!\xF7\x91a!\xF2a!\xED\x82a!\xB2V[a7\x05V[a!\xF9V[V[\x90a\"\x03\x91a7\x19V[PV[\x90a\"\x10\x91a!\xDCV[V[\x90\x80a\"-a\"'a\"\"a7\xD0V[a\x05SV[\x91a\x05SV[\x03a\">Wa\";\x91a7\xDDV[PV[_c3K\xD9\x19`\xE1\x1B\x81R\x80a\"V`\x04\x82\x01a\ndV[\x03\x90\xFD[a\"c\x90a\x05\xD5V[\x90V[a\"o\x90a\"ZV[\x90V[a\"{\x90a\x05\xF1V[\x90V[`\xE0\x1B\x90V[\x90PQ\x90a\"\x91\x82a\x03\xF2V[V[\x90\x92\x91\x92a\"\xA8a\"\xA3\x82a \xF8V[a\x0E\xA5V[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a\"\xE5W\x91[\x83\x83\x10a\"\xCCWPPPPV[` \x80\x91a\"\xDA\x84\x86a\"\x84V[\x81R\x01\x92\x01\x91a\"\xBFV[a\t\xDBV[\x90\x80`\x1F\x83\x01\x12\x15a#\x08W\x81` a#\x05\x93Q\x91\x01a\"\x93V[\x90V[a\t\xD3V[\x90` \x82\x82\x03\x12a#=W_\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a#8Wa#5\x92\x01a\"\xEAV[\x90V[a\x03\xE2V[a\x03\xDEV[a#Ja\x03\xD4V[=_\x82>=\x90\xFD[a#Za52V[a#\x85_a#oa#j\x84a\"fV[a\"rV[cn%\xB9x\x90a#}a\x03\xD4V[\x93\x84\x92a\"~V[\x82R\x81\x80a#\x95`\x04\x82\x01a\ndV[\x03\x91Z\xFA\x80\x15a$\x15Wa#\xB1\x91_\x91a#\xF3W[P\x82a5mV[a#\xDB\x7FM<0\xF5\x99?\x19\"\xA7y4Z\x0F~\xC1\xA1p\xF1\xE5.\x9D#\x08$\xF9\xC1~cYl\x90m\x91a\x05\xFDV[\x90a#\xE4a\x03\xD4V[\x80a#\xEE\x81a\ndV[\x03\x90\xA2V[a$\x0F\x91P=\x80_\x83>a$\x07\x81\x83a\x0E|V[\x81\x01\x90a#\rV[_a#\xAAV[a#BV[\x90a$$\x90a\x05\xFDV[_R` R`@_ \x90V[a$Ga$L\x91a$?a OV[P`\x1Ba$\x1AV[a\x07(V[\x90V[\x90a$a\x91a$\\a8\x96V[a$cV[V[\x90a$v\x91a$q\x81a9PV[a9\xACV[V[\x90a$\x82\x91a$OV[V[a$\x95\x90a$\x90a:\xAAV[a$\xE3V[\x90V[\x90V[a$\xAFa$\xAAa$\xB4\x92a$\x98V[a\x16*V[a\x07\xBCV[\x90V[a$\xE0\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCa$\x9BV[\x90V[Pa$\xECa$\xB7V[\x90V[a$\xFFa$\xFAa!\x98V[a$\x84V[\x90V[a%\x0Ea%\x13\x91a\x06QV[a\x12\x1EV[\x90V[a% \x90Ta%\x02V[\x90V[a%+a \x0BV[Pa%>_a%8a;\x08V[\x01a%\x16V[\x90V[_\x90V[a%\\a%a\x91a%Ta%AV[P`Va\r\xEDV[a\x06jV[\x90V[a%\x89\x91a%\x7Fa%\x84\x92a%wa%AV[P`Wa\r\xD7V[a\r\xEDV[a\x06jV[\x90V[_\x90V[\x90a%\x9A\x90a\x05\xFDV[_R` R`@_ \x90V[`\x01\x80`\xA0\x1B\x03\x16\x90V[a%\xBDa%\xC2\x91a\x06QV[a%\xA6V[\x90V[a%\xCF\x90Ta%\xB1V[\x90V[a%\xE9a%\xEE\x91a%\xE1a%\x8CV[P`\x06a%\x90V[a%\xC5V[\x90V[a&\x03\x90a%\xFDa%\x8CV[Pa;BV[\x90V[\x90a&\x10\x90a\x05\xFDV[_R` R`@_ \x90V[a&K\x91_a&@a&F\x93a&0a \x0BV[P\x82a&:a6\xE1V[\x01a!\x9CV[\x01a&\x06V[a%\x16V[\x90V[a&ea&j\x91a&]a%AV[P`#a\r\xEDV[a\x06jV[\x90V[\x90a&w\x90a\x04\xE4V[\x90RV[\x90a&\x85\x90a\x07\xBCV[\x90RV[\x90a&\x93\x90a\x07\xCCV[\x90RV[\x90a&\xA1\x90a\x07\xE0V[\x90RV[a&\xB0a\x01 a\x0E\xA5V[\x90V[\x90a'\x91a'\x87`\x06a&\xC4a&\xA5V[\x94a&\xDBa&\xD3_\x83\x01a\x06jV[_\x88\x01a&mV[a&\xF2a&\xE9_\x83\x01a\x06\x91V[` \x88\x01a&mV[a'\ta'\0_\x83\x01a\x06\xB8V[`@\x88\x01a&mV[a'!a'\x18`\x01\x83\x01a\x06\xDCV[``\x88\x01a&{V[a'9a'0`\x02\x83\x01a\x07\x04V[`\x80\x88\x01a&\x89V[a'Qa'H`\x03\x83\x01a\x07(V[`\xA0\x88\x01a&\x97V[a'ia'``\x04\x83\x01a\x07(V[`\xC0\x88\x01a&\x97V[a'\x81a'x`\x05\x83\x01a\x07(V[`\xE0\x88\x01a&\x97V[\x01a\x06\xDCV[a\x01\0\x84\x01a&{V[V[a'\x9C\x90a&\xB3V[\x90V[a'\xA9\x90Qa\x04\xE4V[\x90V[a'\xC0a'\xBBa'\xC5\x92a\x16'V[a\x05\xD2V[a\x04\xE4V[\x90V[a'\xD2\x90Qa\x07\xBCV[\x90V[a'\xDF\x90Qa\x07\xE0V[\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[a(\x05a(\x0B\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x82\x03\x91\x82\x11a(\x16WV[a'\xE2V[a(*a(0\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x91a(<\x83\x82\x02a\x07\xE0V[\x92\x81\x84\x04\x14\x90\x15\x17\x15a(KWV[a'\xE2V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[a(pa(v\x91a\x07\xE0V[\x91a\x07\xE0V[\x90\x81\x15a(\x81W\x04\x90V[a(PV[\x92\x91\x90\x92a(\xAFa(\xAAa(\x98a OV[\x95a(\xA5`U\x85\x90a\x06\tV[a\x06;V[a'\x93V[\x91a(\xBB_\x84\x01a'\x9FV[a(\xCDa(\xC7_a'\xACV[\x91a\x04\xE4V[\x14a)\x8EW\x90a(\xEA\x91\x90a(\xE4``\x85\x01a'\xC8V[\x91a<vV[\x90\x81a(\xFEa(\xF8_a \x8BV[\x91a\x07\xE0V[\x14a)~Wa)\x0F`\xC0\x82\x01a'\xD5V[a),a)&a)!`\xE0\x85\x01a'\xD5V[a\x07\xE0V[\x91a\x07\xE0V[\x11a)6W[PPV[a)v\x92\x93P\x90a)b\x82a)\\`\xE0a)U`\xC0a)h\x97\x01a'\xD5V[\x92\x01a'\xD5V[\x90a'\xF6V[\x90a(\x1BV[a)pa\x18\xAAV[\x90a(dV[\x90_\x80a)2V[PP\x90Pa)\x8B_a \x8BV[\x90V[PPP\x90Pa)\x9C_a \x8BV[\x90V[_\x90V[_\x90V[_\x90V[_\x90V[a)\xB7a&\xA5V[\x90` \x80\x80\x80\x80\x80\x80\x80\x80\x8Aa)\xCBa)\x9FV[\x81R\x01a)\xD6a)\x9FV[\x81R\x01a)\xE1a)\x9FV[\x81R\x01a)\xECa)\xA3V[\x81R\x01a)\xF7a)\xA7V[\x81R\x01a*\x02a)\xABV[\x81R\x01a*\ra)\xABV[\x81R\x01a*\x18a)\xABV[\x81R\x01a*#a)\xA3V[\x81RPPV[a*1a)\xAFV[\x90V[a*Y\x91a*Oa*T\x92a*Ga*)V[P`Ua\x06\tV[a\x06;V[a'\x93V[\x90V[a*f`@a\x0E\xA5V[\x90V[a*qa*\\V[\x90` \x80\x83a*~a)\xABV[\x81R\x01a*\x89a)\xABV[\x81RPPV[a*\x97a*iV[\x90V[\x90a*\xA4\x90a\x06\x1FV[_R` R`@_ \x90V[\x90a*\xBA\x90a\x05\xFDV[_R` R`@_ \x90V[\x90a*\xFDa*\xF4`\x01a*\xD7a*\\V[\x94a*\xEEa*\xE6_\x83\x01a\x07(V[_\x88\x01a&\x97V[\x01a\x07(V[` \x84\x01a&\x97V[V[a+\x08\x90a*\xC6V[\x90V[a+0\x91a+&a++\x92a+\x1Ea*\x8FV[P`\x10a*\x9AV[a*\xB0V[a*\xFFV[\x90V[a+X\x91a+Na+S\x92a+Fa%AV[P`Xa\r\xD7V[a\r\xEDV[a\x06jV[\x90V[a+ga+l\x91a\x06wV[a\x12\x1EV[\x90V[a+y\x90Ta+[V[\x90V[a+\x90a+\x8Ba+\x95\x92a\x1AsV[a\x05\xD2V[a\x04\xE4V[\x90V[a+\xA1\x90a\x05\xF1V[\x90V[\x90a+\xB7g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x90a+\xD9a+\xD4a+\xE0\x92a\x06\x1FV[a+\xC1V[\x82Ta+\xA4V[\x90UV[`@\x1B\x90V[\x90a+\xFEh\xFF\0\0\0\0\0\0\0\0\x91a+\xE4V[\x91\x81\x19\x16\x91\x16\x17\x90V[a,\x11\x90a\x043V[\x90V[\x90V[\x90a,,a,'a,3\x92a,\x08V[a,\x14V[\x82Ta+\xEAV[\x90UV[a,@\x90a+|V[\x90RV[\x91\x90a,W\x90_` \x85\x01\x94\x01\x90a,7V[V[\x90\x91\x92a,da=eV[\x93a,ya,s_\x87\x01a+oV[\x15a\x043V[\x93a,\x85_\x87\x01a\x06jV[\x80a,\x98a,\x92_a'\xACV[\x91a\x04\xE4V[\x14\x80a-\xB2W[\x90a,\xB3a,\xAD`\x01a+|V[\x91a\x04\xE4V[\x14\x80a-\x8AW[a,\xC5\x90\x91\x15a\x043V[\x90\x81a-yW[Pa-]Wa,\xF5\x93a,\xEAa,\xE2`\x01a+|V[_\x89\x01a+\xC4V[\x85a-KW[a1tV[a,\xFDW[PV[a-\n\x90_\x80\x91\x01a,\x17V[`\x01a-B\x7F\xC7\xF5\x05\xB2\xF3q\xAE!u\xEEI\x13\xF4I\x9E\x1F&3\xA7\xB5\x93c!\xEE\xD1\xCD\xAE\xB6\x11Q\x81\xD2\x91a-9a\x03\xD4V[\x91\x82\x91\x82a,DV[\x03\x90\xA1_a,\xFAV[a-X`\x01_\x89\x01a,\x17V[a,\xF0V[_c\xF9.\xE8\xA9`\xE0\x1B\x81R\x80a-u`\x04\x82\x01a\ndV[\x03\x90\xFD[a-\x84\x91P\x15a\x043V[_a,\xCCV[Pa,\xC5a-\x970a+\x98V[;a-\xAAa-\xA4_a \x8BV[\x91a\x07\xE0V[\x14\x90Pa,\xBAV[P\x85a,\x9FV[a-\xCDa-\xC8a-\xD2\x92a\x16'V[a\x05\xD2V[a\x05HV[\x90V[a-\xDE\x90a-\xB9V[\x90V[a-\xEB`@a\x0E\xA5V[\x90V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x02\x11\x15a.\x0CWV[a-\xEEV[\x90a.\x1B\x82a.\x02V[V[\x90a.'\x90a.\x11V[\x90RV[\x90a.5\x90a\x05SV[\x90RV[a.Ma.Ha.R\x92a\x07\xE0V[a\x05\xD2V[a\x07\xCCV[\x90V[a._`\xC0a\x0E\xA5V[\x90V[\x90a.l\x90a\x043V[\x90RV[\x90a.z\x90a iV[_R` R`@_ \x90V[a.\x90\x90Qa\x043V[\x90V[\x90a.\x9F`\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a.\xBEa.\xB9a.\xC5\x92a,\x08V[a,\x14V[\x82Ta.\x93V[\x90UV[\x90a.\xD5_\x19\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[a.\xF3a.\xEEa.\xF8\x92a\x07\xE0V[a\x05\xD2V[a\x07\xE0V[\x90V[\x90V[\x90a/\x13a/\x0Ea/\x1A\x92a.\xDFV[a.\xFBV[\x82Ta.\xC9V[\x90UV[a/(\x90Qa\x07\xCCV[\x90V[\x90a/8a\xFF\xFF\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/Va/Qa/[\x92a\x07\xCCV[a\x05\xD2V[a\x07\xCCV[\x90V[\x90V[\x90a/va/qa/}\x92a/BV[a/^V[\x82Ta/+V[\x90UV[\x90a0\x10`\xA0`\x05a0\x16\x94a/\xA4_\x82\x01a/\x9E_\x88\x01a.\x86V[\x90a.\xA9V[a/\xBD`\x01\x82\x01a/\xB7` \x88\x01a'\xD5V[\x90a.\xFEV[a/\xD6`\x02\x82\x01a/\xD0`@\x88\x01a'\xD5V[\x90a.\xFEV[a/\xEF`\x03\x82\x01a/\xE9``\x88\x01a'\xD5V[\x90a.\xFEV[a0\x08`\x04\x82\x01a0\x02`\x80\x88\x01a'\xD5V[\x90a.\xFEV[\x01\x92\x01a/\x1EV[\x90a/aV[V[\x90a0\"\x91a/\x81V[V[`\x80\x1B\x90V[\x90a0:a\xFF\xFF`\x80\x1B\x91a0$V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0Ya0Ta0`\x92a/BV[a/^V[\x82Ta0*V[\x90UV[\x90V[a0{a0va0\x80\x92a0dV[a\x05\xD2V[a\x04\xE4V[\x90V[a0\x8EaT`a0gV[\x90V[\x90a0\xACo\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\x91a+\xE4V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0\xCBa0\xC6a0\xD2\x92a\x06\x1FV[a+\xC1V[\x82Ta0\x91V[\x90UV[\x90V[a0\xEDa0\xE8a0\xF2\x92a0\xD6V[a\x05\xD2V[a\x04\xE4V[\x90V[a0\xFF`\x1Ca0\xD9V[\x90V[`\xC0\x1B\x90V[\x90a1\x1Eg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\xC0\x1B\x91a1\x02V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1=a18a1D\x92a\x06\x1FV[a+\xC1V[\x82Ta1\x08V[\x90UV[\x90V[a1_a1Za1d\x92a1HV[a\x05\xD2V[a\x04\xE4V[\x90V[a1q`8a1KV[\x90V[\x91\x90\x91a1\x7Fa=\x93V[a1\x87a=\xA7V[a1\x8Fa=\xCDV[a1\x97a=\xF3V[a1\x9Fa\x16KV[\x81a1\xA9\x91a7\x19V[Pa1\xB2a\x11\xBAV[\x81a1\xBC\x91a7\x19V[Pa1\xC5a\x17\xBAV[\x90a1\xCF\x91a7\x19V[P_\x80a1\xDB\x90a-\xD5V[a1\xE3a-\xE1V[\x91_\x83\x01\x90a1\xF1\x91a.\x1DV[` \x82\x01\x90a1\xFF\x91a.+V[a2\x08\x90a>]V[\x90`\x01\x92\x90_\x80\x91a2\x18a\x1E\xD7V[a2!\x90a.9V[\x93a2*a.UV[\x96_\x88\x01\x90a28\x91a.bV[` \x87\x01\x90a2F\x91a&\x97V[`@\x86\x01\x90a2T\x91a&\x97V[a2]\x90a \x8BV[``\x85\x01\x90a2k\x91a&\x97V[a2t\x90a \x8BV[`\x80\x84\x01\x90a2\x82\x91a&\x97V[`\xA0\x83\x01\x90a2\x90\x91a&\x89V[`\x02\x90a2\x9C\x91a.pV[\x90a2\xA6\x91a0\x18V[`\x01a2\xB3\x90`\x05a.\xA9V[a2\xBE\x90`\x01a0DV[`\x01a2\xC9\x90a+|V[a2\xD3\x90_a+\xC4V[a2\xDBa0\x83V[a2\xE5\x90_a0\xB6V[a2\xEDa0\xF5V[a2\xF7\x90_a1(V[a2\xFFa0\xF5V[a3\n\x90`\x01a+\xC4V[a3\x12a1gV[a3\x1D\x90`\x01a0\xB6V[V[\x90a3+\x93\x92\x91a,YV[V[\x90a3H\x91a3Ca3>\x82a!\xB2V[a7\x05V[a3JV[V[\x90a3T\x91a7\xDDV[PV[\x90a3a\x91a3-V[V[`\x01a3o\x91\x01a\x07\xE0V[\x90V[P\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x91\x90\x81\x10\x15a3\x9AW` \x02\x01\x90V[a3vV[5a3\xA9\x81a\x03\xF2V[\x90V[a3\xB5\x90a\x03\xE6V[\x90V[\x91\x90\x91a3\xC3a52V[a3\xCC_a \x8BV[[\x80a3\xEAa3\xE4a3\xDF\x85\x88\x90a3rV[a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a4nWa4i\x90a4\x10a4\x0Ba4\x06\x85\x88\x85\x91a3\x8AV[a3\x9FV[a?$V[a4$a4\x1F\x84\x87\x84\x91a3\x8AV[a3\x9FV[a4N\x7F\xBE\xB2w\x01\x82\x8FQ[\x03\x06\x9DD\xDAe\x19\xB6\xC4\x91\xDA\x13\xEF\x1C\xA7\x08.a\x99Y\xD1\xF4\x8D\xDB\x91a3\xACV[\x90a4Wa\x03\xD4V[\x80a4a\x81a\ndV[\x03\x90\xA2a3cV[a3\xCDV[PP\x90PV[\x90a4\x8E\x91a4\x89a4\x84a\x11\xBAV[a7\x05V[a4\x90V[V[a4\xA5\x82a4\xA0`#\x84\x90a\r\xEDV[a+\xC4V[a4\xE4a4\xD2\x7F\x90\xB3~Y\xA9B\xC5A<\xE0\n:\x84JG\xC2\0\x94\x97\x98\x97\xCCe6\x06\xD9%\xE9\t\x88_5\x92a\x05\xFDV[\x92a4\xDBa\x03\xD4V[\x91\x82\x91\x82a\x04\xFEV[\x03\x90\xA2V[\x90a4\xF3\x91a4tV[V[a?:V[a5\x02a \x0BV[Pa5\x1Ca5\x16c\x01\xFF\xC9\xA7`\xE0\x1Ba\x03\xE6V[\x91a\x03\xE6V[\x14\x90V[a50a5+a\x11\xBAV[a7\x05V[V[a5:a5 V[V[Q\x90V[\x90a5J\x82a5<V[\x81\x10\x15a5[W` \x80\x91\x02\x01\x01\x90V[a3vV[a5j\x90Qa\x03\xE6V[\x90V[\x91\x90\x82a5\x8Aa5\x84a5\x7F_a-\xD5V[a\x05SV[\x91a\x05SV[\x14a6\xDCW\x82;a5\xA3a5\x9D_a \x8BV[\x91a\x07\xE0V[\x14a6\xD6Wa5\xB1_a \x8BV[[\x80a5\xCDa5\xC7a5\xC2\x85a5<V[a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a6\xD0Wa5\xEEa5\xE9a5\xE4\x84\x84\x90a5@V[a5`V[a;BV[\x80a6\ta6\x03a5\xFE_a-\xD5V[a\x05SV[\x91a\x05SV[\x14\x15\x80a6\xB5W[a6\x9EWPa6\x99\x90a67a60a6+\x85\x84\x90a5@V[a5`V[\x86\x90a@AV[a6Ja6E\x84\x83\x90a5@V[a5`V[\x85a6~a6x\x7F\x12U\x7F%\xE4X\xD9h-|\x95\x9BZ\x96\x0B\xC93.\x8Bz\xF1\x12\x0BT\xA33\xBF\xC1\xFF(+9\x93a3\xACV[\x91a\x05\xFDV[\x91a6\x87a\x03\xD4V[\x80a6\x91\x81a\ndV[\x03\x90\xA3a3cV[a5\xB2V[a6\xB0a6\xAB\x83\x85a5@V[a5`V[a?\xE8V[P\x80a6\xC9a6\xC3\x87a\x05SV[\x91a\x05SV[\x14\x15a6\x11V[PP\x90PV[\x82a?\x99V[a?}V[\x7F\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x90V[a7\x17\x90a7\x11a7\xD0V[\x90a@zV[V[a7!a \x0BV[Pa7*a6\xE1V[a7>a78\x83\x85\x90a&\x1CV[\x15a\x043V[_\x14a7\xC9Wa7h\x90a7c_a7[\x81`\x01\x94\x01\x86\x90a!\x9CV[\x01\x85\x90a&\x06V[a.\xA9V[\x90a7qa7\xD0V[\x90a7\xAEa7\xA8a7\xA2\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r\x95a iV[\x92a\x05\xFDV[\x92a\x05\xFDV[\x92a7\xB7a\x03\xD4V[\x80a7\xC1\x81a\ndV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a7\xD8a%\x8CV[P3\x90V[a7\xE5a \x0BV[Pa7\xEEa6\xE1V[a7\xF9\x82\x84\x90a&\x1CV[_\x14a8\x83Wa8\"\x90a8\x1D_a8\x15\x81\x80\x94\x01\x86\x90a!\x9CV[\x01\x85\x90a&\x06V[a.\xA9V[\x90a8+a7\xD0V[\x90a8ha8ba8\\\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x95a iV[\x92a\x05\xFDV[\x92a\x05\xFDV[\x92a8qa\x03\xD4V[\x80a8{\x81a\ndV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a8\x93\x90a\x05\xF1V[\x90V[a8\x9F0a8\x8AV[a8\xD1a8\xCB\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\x05SV[\x91a\x05SV[\x14\x80\x15a8\xFBW[a8\xDFWV[_cp>F\xDD`\xE1\x1B\x81R\x80a8\xF7`\x04\x82\x01a\ndV[\x03\x90\xFD[Pa9\x04a@\xB5V[a96a90\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\x05SV[\x91a\x05SV[\x14\x15a8\xD9V[Pa9Na9Ia\x11\xBAV[a7\x05V[V[a9Y\x90a9=V[V[a9d\x90a\x05\xD5V[\x90V[a9p\x90a9[V[\x90V[a9|\x90a\x05\xF1V[\x90V[\x90PQ\x90a9\x8C\x82a\x08\xB6V[V[\x90` \x82\x82\x03\x12a9\xA7Wa9\xA4\x91_\x01a9\x7FV[\x90V[a\x03\xDEV[\x91\x90a9\xDA` a9\xC4a9\xBF\x86a9gV[a9sV[cR\xD1\x90-\x90a9\xD2a\x03\xD4V[\x93\x84\x92a\"~V[\x82R\x81\x80a9\xEA`\x04\x82\x01a\ndV[\x03\x91Z\xFA\x80\x91_\x92a:zW[P\x15_\x14a:+WPP\x90`\x01a:\x0CWP[V[a:'\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[\x92\x83a:Fa:@a:;a$\xB7V[a\x07\xBCV[\x91a\x07\xBCV[\x03a:[Wa:V\x92\x93Pa@\xDBV[a:\nV[a:v\x84_\x91\x82\x91c*\x87Ri`\xE2\x1B\x83R`\x04\x83\x01a\n\xBBV[\x03\x90\xFD[a:\x9C\x91\x92P` =\x81\x11a:\xA3W[a:\x94\x81\x83a\x0E|V[\x81\x01\x90a9\x8EV[\x90_a9\xF7V[P=a:\x8AV[a:\xB30a8\x8AV[a:\xE5a:\xDF\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\x05SV[\x91a\x05SV[\x03a:\xECWV[_cp>F\xDD`\xE1\x1B\x81R\x80a;\x04`\x04\x82\x01a\ndV[\x03\x90\xFD[\x7F\xCD^\xD1\\n\x18~w\xE9\xAE\xE8\x81\x84\xC2\x1FO!\x82\xABX'\xCB;~\x07\xFB\xED\xCDc\xF03\0\x90V[\x90a;6\x90a3\xACV[_R` R`@_ \x90V[a;Ya;^\x91a;Qa%\x8CV[P`!a;,V[a%\xC5V[\x90V[\x90a;k\x90a\x05\xFDV[_R` R`@_ \x90V[\x90V[T\x90V[_R` _ \x90V[a;\x90\x81a;zV[\x82\x10\x15a;\xAAWa;\xA2`\x04\x91a;~V[\x91\x02\x01\x90_\x90V[a3vV[\x90V[`\xFF\x16\x90V[a;\xC4a;\xC9\x91a\x06QV[a;\xB2V[\x90V[a;\xD6\x90Ta;\xB8V[\x90V[`\x08\x1C\x90V[a;\xEBa;\xF0\x91a;\xD9V[a%\xA6V[\x90V[a;\xFD\x90Ta;\xDFV[\x90V[a<\n`@a\x0E\xA5V[\x90V[\x90a<Ca<:_a<\x1Da<\0V[\x94a<4a<,\x83\x83\x01a;\xCCV[\x83\x88\x01a.\x1DV[\x01a;\xF3V[` \x84\x01a.+V[V[a<N\x90a<\rV[\x90V[a<`a<f\x91\x93\x92\x93a\x07\xE0V[\x92a\x07\xE0V[\x82\x01\x80\x92\x11a<qWV[a'\xE2V[\x92\x91\x92a<\x94a<\x8Fa<\x87a OV[\x92`\x15a;aV[a;wV[\x93a<\x9E\x85a;zV[\x93a<\xA8_a \x8BV[[\x80a<\xBCa<\xB6\x88a\x07\xE0V[\x91a\x07\xE0V[\x10\x15a=\\Wa<\xD6a<\xD0\x88\x83\x90a;\x87V[Pa;\xAFV[a<\xE1_\x82\x01a%\xC5V[a<\xF3a<\xED\x88a\x05SV[\x91a\x05SV[\x14\x80a=/W[a=\x0EW[Pa=\t\x90a3cV[a<\xA9V[a=\t\x91\x94a=\"`\x01a=(\x93\x01a\x07(V[\x90a<QV[\x93\x90a<\xFFV[Pa=Da=?`\x02\x83\x01a<EV[a>]V[a=Va=P\x86a\x07\xBCV[\x91a\x07\xBCV[\x14a<\xFAV[P\x93PP\x92PPV[\x7F\xF0\xC5~\x16\x84\r\xF0@\xF1P\x88\xDC/\x81\xFE9\x1C9#\xBE\xC7>#\xA9f.\xFC\x9C\"\x9Cj\0\x90V[a=\x91aAdV[V[a=\x9Ba=\x89V[V[a=\xA5aAdV[V[a=\xAFa=\x9DV[V[a=\xB9aAdV[a=\xC1a=\xC3V[V[a=\xCBaA\xBFV[V[a=\xD5a=\xB1V[V[a=\xDFaAdV[a=\xE7a=\xE9V[V[a=\xF1aB\x05V[V[a=\xFBa=\xD7V[V[a>\x07\x90Qa.\x11V[\x90V[a>\x14\x90Qa\x05SV[\x90V[a> \x90a.\x11V[\x90V[a>,\x90a>\x17V[\x90RV[\x91` a>Q\x92\x94\x93a>J`@\x82\x01\x96_\x83\x01\x90a>#V[\x01\x90a\x13\xADV[V[` \x01\x90V[Q\x90V[a>ea!\x98V[Pa>\xA7a>\x80` a>y_\x85\x01a=\xFDV[\x93\x01a>\nV[\x91a>\x98a>\x8Ca\x03\xD4V[\x93\x84\x92` \x84\x01a>0V[` \x82\x01\x81\x03\x82R\x03\x82a\x0E|V[a>\xB9a>\xB3\x82a>YV[\x91a>SV[ \x90V[\x1B\x90V[\x91\x90`\x08a>\xE1\x91\x02\x91a>\xDB`\x01\x80`\xA0\x1B\x03\x84a>\xBDV[\x92a>\xBDV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x91\x90a?\x04a>\xFFa?\x0C\x93a\x05\xFDV[a>\xEBV[\x90\x83Ta>\xC1V[\x90UV[a?\"\x91a?\x1Ca%\x8CV[\x91a>\xEEV[V[_a?3a?8\x92`!a;,V[a?\x10V[V[a?Mc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16a;BV[\x80a?ha?ba?]_a-\xD5V[a\x05SV[\x91a\x05SV[\x03aBCWc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16aB$V[_c\xD9.#=`\xE0\x1B\x81R\x80a?\x95`\x04\x82\x01a\ndV[\x03\x90\xFD[a?\xB4\x90_\x91\x82\x91c\"\xA2\xD0{`\xE2\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[a?\xC1\x90a\x03\xE6V[\x90RV[\x91` a?\xE6\x92\x94\x93a?\xDF`@\x82\x01\x96_\x83\x01\x90a?\xB8V[\x01\x90a\x13\xADV[V[a@\x02_\x92\x83\x92c\x10\xAE\x11\xA9`\xE3\x1B\x84R`\x04\x84\x01a?\xC5V[\x03\x90\xFD[\x90a@\x17`\x01\x80`\xA0\x1B\x03\x91a\x16*V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a@6a@1a@=\x92a\x05\xFDV[a>\xEBV[\x82Ta@\x06V[\x90UV[a@Pa@U\x92\x91`!a;,V[a@!V[V[\x91` a@x\x92\x94\x93a@q`@\x82\x01\x96_\x83\x01\x90a\x13\xADV[\x01\x90a\x07\xBFV[V[\x90a@\x8Fa@\x89\x83\x83\x90a&\x1CV[\x15a\x043V[a@\x97WPPV[a@\xB1_\x92\x83\x92c\xE2Q}?`\xE0\x1B\x84R`\x04\x84\x01a@WV[\x03\x90\xFD[a@\xBDa%\x8CV[Pa@\xD8_a@\xD2a@\xCDa$\xB7V[aBaV[\x01a%\xC5V[\x90V[\x90a@\xE5\x82aBdV[\x81aA\x10\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x91a\x05\xFDV[\x90aA\x19a\x03\xD4V[\x80aA#\x81a\ndV[\x03\x90\xA2aA/\x81a>YV[aAAaA;_a \x8BV[\x91a\x07\xE0V[\x11_\x14aAUWaAQ\x91aC4V[P[V[PPaA_aB\xB9V[aASV[aAuaAoaCcV[\x15a\x043V[aA{WV[_c\x1A\xFC\xD7\x9F`\xE3\x1B\x81R\x80aA\x93`\x04\x82\x01a\ndV[\x03\x90\xFD[aA\x9FaAdV[aA\xA7aA\xA9V[V[aA\xBDaA\xB4a;\x08V[_\x80\x91\x01a.\xA9V[V[aA\xC7aA\x97V[V[aA\xD1aAdV[aA\xD9aA\xE8V[V[aA\xE5`\x01a\x1AvV[\x90V[aB\x03aA\xF3aC\x81V[_aA\xFCaA\xDBV[\x91\x01a.\xFEV[V[aB\raA\xC9V[V[\x91\x90aB\"\x90_` \x85\x01\x94\x01\x90a?\xB8V[V[aB?\x90_\x91\x82\x91c\xC2\xA8%\xF5`\xE0\x1B\x83R`\x04\x83\x01aB\x0FV[\x03\x90\xFD[_\x80\x916\x82\x807\x816\x91Z\xF4=_\x80>_\x14aB]W=_\xF3[=_\xFD[\x90V[\x80;aBxaBr_a \x8BV[\x91a\x07\xE0V[\x14aB\x9AWaB\x98\x90_aB\x92aB\x8Da$\xB7V[aBaV[\x01a@!V[V[aB\xB5\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[4aB\xCCaB\xC6_a \x8BV[\x91a\x07\xE0V[\x11aB\xD3WV[_c\xB3\x98\x97\x9F`\xE0\x1B\x81R\x80aB\xEB`\x04\x82\x01a\ndV[\x03\x90\xFD[``\x90V[\x90aC\x06aC\x01\x83a\x0E\xBAV[a\x0E\xA5V[\x91\x82RV[=_\x14aC&WaC\x1B=aB\xF4V[\x90=_` \x84\x01>[V[aC.aB\xEFV[\x90aC$V[_\x80aC`\x93aCBaB\xEFV[P\x83\x90` \x81\x01\x90Q\x91Z\xF4\x90aCWaC\x0BV[\x90\x91\x90\x91aC\xA5V[\x90V[aCka \x0BV[PaC~_aCxa=eV[\x01a+oV[\x90V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x90V[\x90aC\xB9\x90aC\xB2aB\xEFV[P\x15a\x043V[_\x14aC\xC5WPaD)V[aC\xCE\x82a>YV[aC\xE0aC\xDA_a \x8BV[\x91a\x07\xE0V[\x14\x80aD\x0EW[aC\xEFWP\x90V[aD\n\x90_\x91\x82\x91c\x99\x96\xB3\x15`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBAV[\x03\x90\xFD[P\x80;aD#aD\x1D_a \x8BV[\x91a\x07\xE0V[\x14aC\xE7V[aD2\x81a>YV[aDDaD>_a \x8BV[\x91a\x07\xE0V[\x11_\x14aDSW\x80Q\x90` \x01\xFD[_c\xD6\xBD\xA2u`\xE0\x1B\x81R\x80aDk`\x04\x82\x01a\ndV[\x03\x90\xFD\xFE\xA1dsolcC\0\x08\x1A\0\n",
);
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `AccessControlBadConfirmation()` and selector `0x6697b232`.
```solidity
error AccessControlBadConfirmation();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct AccessControlBadConfirmation;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<AccessControlBadConfirmation>
for UnderlyingRustTuple<'_> {
fn from(value: AccessControlBadConfirmation) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for AccessControlBadConfirmation {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for AccessControlBadConfirmation {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "AccessControlBadConfirmation()";
const SELECTOR: [u8; 4] = [102u8, 151u8, 178u8, 50u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `AccessControlUnauthorizedAccount(address,bytes32)` and selector `0xe2517d3f`.
```solidity
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct AccessControlUnauthorizedAccount {
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub neededRole: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::FixedBytes<32>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::FixedBytes<32>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<AccessControlUnauthorizedAccount>
for UnderlyingRustTuple<'_> {
fn from(value: AccessControlUnauthorizedAccount) -> Self {
(value.account, value.neededRole)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for AccessControlUnauthorizedAccount {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
account: tuple.0,
neededRole: tuple.1,
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for AccessControlUnauthorizedAccount {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "AccessControlUnauthorizedAccount(address,bytes32)";
const SELECTOR: [u8; 4] = [226u8, 81u8, 125u8, 63u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.neededRole),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `AddressEmptyCode(address)` and selector `0x9996b315`.
```solidity
error AddressEmptyCode(address target);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct AddressEmptyCode {
#[allow(missing_docs)]
pub target: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<AddressEmptyCode> for UnderlyingRustTuple<'_> {
fn from(value: AddressEmptyCode) -> Self {
(value.target,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for AddressEmptyCode {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { target: tuple.0 }
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for AddressEmptyCode {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "AddressEmptyCode(address)";
const SELECTOR: [u8; 4] = [153u8, 150u8, 179u8, 21u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.target,
),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `ERC1967InvalidImplementation(address)` and selector `0x4c9c8ce3`.
```solidity
error ERC1967InvalidImplementation(address implementation);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ERC1967InvalidImplementation {
#[allow(missing_docs)]
pub implementation: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ERC1967InvalidImplementation>
for UnderlyingRustTuple<'_> {
fn from(value: ERC1967InvalidImplementation) -> Self {
(value.implementation,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for ERC1967InvalidImplementation {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { implementation: tuple.0 }
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for ERC1967InvalidImplementation {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ERC1967InvalidImplementation(address)";
const SELECTOR: [u8; 4] = [76u8, 156u8, 140u8, 227u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.implementation,
),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `ERC1967NonPayable()` and selector `0xb398979f`.
```solidity
error ERC1967NonPayable();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ERC1967NonPayable;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ERC1967NonPayable> for UnderlyingRustTuple<'_> {
fn from(value: ERC1967NonPayable) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for ERC1967NonPayable {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for ERC1967NonPayable {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ERC1967NonPayable()";
const SELECTOR: [u8; 4] = [179u8, 152u8, 151u8, 159u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `EnforcedPause()` and selector `0xd93c0665`.
```solidity
error EnforcedPause();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct EnforcedPause;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<EnforcedPause> for UnderlyingRustTuple<'_> {
fn from(value: EnforcedPause) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for EnforcedPause {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for EnforcedPause {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "EnforcedPause()";
const SELECTOR: [u8; 4] = [217u8, 60u8, 6u8, 101u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `ExpectedPause()` and selector `0x8dfc202b`.
```solidity
error ExpectedPause();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ExpectedPause;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ExpectedPause> for UnderlyingRustTuple<'_> {
fn from(value: ExpectedPause) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for ExpectedPause {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for ExpectedPause {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ExpectedPause()";
const SELECTOR: [u8; 4] = [141u8, 252u8, 32u8, 43u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `FailedCall()` and selector `0xd6bda275`.
```solidity
error FailedCall();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct FailedCall;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<FailedCall> for UnderlyingRustTuple<'_> {
fn from(value: FailedCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for FailedCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for FailedCall {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "FailedCall()";
const SELECTOR: [u8; 4] = [214u8, 189u8, 162u8, 117u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `InvalidInitialization()` and selector `0xf92ee8a9`.
```solidity
error InvalidInitialization();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct InvalidInitialization;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<InvalidInitialization> for UnderlyingRustTuple<'_> {
fn from(value: InvalidInitialization) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidInitialization {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for InvalidInitialization {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "InvalidInitialization()";
const SELECTOR: [u8; 4] = [249u8, 46u8, 232u8, 169u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `NotAContract(address)` and selector `0x8a8b41ec`.
```solidity
error NotAContract(address account);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct NotAContract {
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<NotAContract> for UnderlyingRustTuple<'_> {
fn from(value: NotAContract) -> Self {
(value.account,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for NotAContract {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { account: tuple.0 }
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for NotAContract {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "NotAContract(address)";
const SELECTOR: [u8; 4] = [138u8, 139u8, 65u8, 236u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `NotInitializing()` and selector `0xd7e6bcf8`.
```solidity
error NotInitializing();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct NotInitializing;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<NotInitializing> for UnderlyingRustTuple<'_> {
fn from(value: NotInitializing) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for NotInitializing {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for NotInitializing {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "NotInitializing()";
const SELECTOR: [u8; 4] = [215u8, 230u8, 188u8, 248u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `ReentrancyGuardReentrantCall()` and selector `0x3ee5aeb5`.
```solidity
error ReentrancyGuardReentrantCall();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ReentrancyGuardReentrantCall;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ReentrancyGuardReentrantCall>
for UnderlyingRustTuple<'_> {
fn from(value: ReentrancyGuardReentrantCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for ReentrancyGuardReentrantCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for ReentrancyGuardReentrantCall {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ReentrancyGuardReentrantCall()";
const SELECTOR: [u8; 4] = [62u8, 229u8, 174u8, 181u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `SelectorAlreadyRegistered(bytes4,address)` and selector `0x85708d48`.
```solidity
error SelectorAlreadyRegistered(bytes4 selector, address existingFacet);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct SelectorAlreadyRegistered {
#[allow(missing_docs)]
pub selector: alloy::sol_types::private::FixedBytes<4>,
#[allow(missing_docs)]
pub existingFacet: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<4>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::FixedBytes<4>,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<SelectorAlreadyRegistered>
for UnderlyingRustTuple<'_> {
fn from(value: SelectorAlreadyRegistered) -> Self {
(value.selector, value.existingFacet)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for SelectorAlreadyRegistered {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
selector: tuple.0,
existingFacet: tuple.1,
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for SelectorAlreadyRegistered {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "SelectorAlreadyRegistered(bytes4,address)";
const SELECTOR: [u8; 4] = [133u8, 112u8, 141u8, 72u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::SolType>::tokenize(&self.selector),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.existingFacet,
),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `UUPSUnauthorizedCallContext()` and selector `0xe07c8dba`.
```solidity
error UUPSUnauthorizedCallContext();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UUPSUnauthorizedCallContext;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UUPSUnauthorizedCallContext>
for UnderlyingRustTuple<'_> {
fn from(value: UUPSUnauthorizedCallContext) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for UUPSUnauthorizedCallContext {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for UUPSUnauthorizedCallContext {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "UUPSUnauthorizedCallContext()";
const SELECTOR: [u8; 4] = [224u8, 124u8, 141u8, 186u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `UUPSUnsupportedProxiableUUID(bytes32)` and selector `0xaa1d49a4`.
```solidity
error UUPSUnsupportedProxiableUUID(bytes32 slot);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UUPSUnsupportedProxiableUUID {
#[allow(missing_docs)]
pub slot: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UUPSUnsupportedProxiableUUID>
for UnderlyingRustTuple<'_> {
fn from(value: UUPSUnsupportedProxiableUUID) -> Self {
(value.slot,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for UUPSUnsupportedProxiableUUID {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { slot: tuple.0 }
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for UUPSUnsupportedProxiableUUID {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "UUPSUnsupportedProxiableUUID(bytes32)";
const SELECTOR: [u8; 4] = [170u8, 29u8, 73u8, 164u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.slot),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `UnknownSelector(bytes4)` and selector `0xc2a825f5`.
```solidity
error UnknownSelector(bytes4 selector);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UnknownSelector {
#[allow(missing_docs)]
pub selector: alloy::sol_types::private::FixedBytes<4>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<4>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnknownSelector> for UnderlyingRustTuple<'_> {
fn from(value: UnknownSelector) -> Self {
(value.selector,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for UnknownSelector {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { selector: tuple.0 }
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for UnknownSelector {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "UnknownSelector(bytes4)";
const SELECTOR: [u8; 4] = [194u8, 168u8, 37u8, 245u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::SolType>::tokenize(&self.selector),
)
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Custom error with signature `ZeroAddress()` and selector `0xd92e233d`.
```solidity
error ZeroAddress();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ZeroAddress;
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ZeroAddress> for UnderlyingRustTuple<'_> {
fn from(value: ZeroAddress) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAddress {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
#[automatically_derived]
impl alloy_sol_types::SolError for ZeroAddress {
type Parameters<'a> = UnderlyingSolTuple<'a>;
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ZeroAddress()";
const SELECTOR: [u8; 4] = [217u8, 46u8, 35u8, 61u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
<Self::Parameters<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Self::new)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `BlueprintAddedToDelegation(address,uint256,uint64)` and selector `0xa7b81e017abeb50ecf2c121cb0db7087dfc4b3cc85cd8d857f9a5f1e81f64845`.
```solidity
event BlueprintAddedToDelegation(address indexed delegator, uint256 indexed delegationIndex, uint64 blueprintId);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct BlueprintAddedToDelegation {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub delegationIndex: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub blueprintId: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for BlueprintAddedToDelegation {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<256>,
);
const SIGNATURE: &'static str = "BlueprintAddedToDelegation(address,uint256,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
167u8, 184u8, 30u8, 1u8, 122u8, 190u8, 181u8, 14u8, 207u8, 44u8, 18u8,
28u8, 176u8, 219u8, 112u8, 135u8, 223u8, 196u8, 179u8, 204u8, 133u8,
205u8, 141u8, 133u8, 127u8, 154u8, 95u8, 30u8, 129u8, 246u8, 72u8, 69u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
delegationIndex: topics.2,
blueprintId: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.blueprintId),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.delegator.clone(),
self.delegationIndex.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic(&self.delegationIndex);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for BlueprintAddedToDelegation {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&BlueprintAddedToDelegation> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &BlueprintAddedToDelegation,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `BlueprintRemovedFromDelegation(address,uint256,uint64)` and selector `0xc38cef0d003bc8a9982db0d994b2ea048946028e9255cc061a56abcbb7d548a1`.
```solidity
event BlueprintRemovedFromDelegation(address indexed delegator, uint256 indexed delegationIndex, uint64 blueprintId);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct BlueprintRemovedFromDelegation {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub delegationIndex: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub blueprintId: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for BlueprintRemovedFromDelegation {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<256>,
);
const SIGNATURE: &'static str = "BlueprintRemovedFromDelegation(address,uint256,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
195u8, 140u8, 239u8, 13u8, 0u8, 59u8, 200u8, 169u8, 152u8, 45u8, 176u8,
217u8, 148u8, 178u8, 234u8, 4u8, 137u8, 70u8, 2u8, 142u8, 146u8, 85u8,
204u8, 6u8, 26u8, 86u8, 171u8, 203u8, 183u8, 213u8, 72u8, 161u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
delegationIndex: topics.2,
blueprintId: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.blueprintId),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.delegator.clone(),
self.delegationIndex.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::EventTopic>::encode_topic(&self.delegationIndex);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for BlueprintRemovedFromDelegation {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&BlueprintRemovedFromDelegation>
for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &BlueprintRemovedFromDelegation,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Delegated(address,address,address,uint256,uint256,uint8)` and selector `0x4fe2fde631e986ee26283901b9cc8d6d4a311b750f9fa0d659520deba2995f1f`.
```solidity
event Delegated(address indexed delegator, address indexed operator, address indexed token, uint256 amount, uint256 shares, Types.BlueprintSelectionMode selectionMode);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Delegated {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub shares: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub selectionMode: <Types::BlueprintSelectionMode as alloy::sol_types::SolType>::RustType,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Delegated {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
Types::BlueprintSelectionMode,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "Delegated(address,address,address,uint256,uint256,uint8)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
79u8, 226u8, 253u8, 230u8, 49u8, 233u8, 134u8, 238u8, 38u8, 40u8, 57u8,
1u8, 185u8, 204u8, 141u8, 109u8, 74u8, 49u8, 27u8, 117u8, 15u8, 159u8,
160u8, 214u8, 89u8, 82u8, 13u8, 235u8, 162u8, 153u8, 95u8, 31u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
operator: topics.2,
token: topics.3,
amount: data.0,
shares: data.1,
selectionMode: data.2,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.shares),
<Types::BlueprintSelectionMode as alloy_sol_types::SolType>::tokenize(
&self.selectionMode,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.delegator.clone(),
self.operator.clone(),
self.token.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Delegated {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Delegated> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Delegated) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `DelegatorUnstakeExecuted(address,address,address,uint256,uint256)` and selector `0xe4183514c7483039538cd1f9ca20e489b3c411f3af1211cf6b5ad0a00ca4e228`.
```solidity
event DelegatorUnstakeExecuted(address indexed delegator, address indexed operator, address indexed token, uint256 shares, uint256 amount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct DelegatorUnstakeExecuted {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub shares: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for DelegatorUnstakeExecuted {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "DelegatorUnstakeExecuted(address,address,address,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
228u8, 24u8, 53u8, 20u8, 199u8, 72u8, 48u8, 57u8, 83u8, 140u8, 209u8,
249u8, 202u8, 32u8, 228u8, 137u8, 179u8, 196u8, 17u8, 243u8, 175u8, 18u8,
17u8, 207u8, 107u8, 90u8, 208u8, 160u8, 12u8, 164u8, 226u8, 40u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
operator: topics.2,
token: topics.3,
shares: data.0,
amount: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.shares),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.delegator.clone(),
self.operator.clone(),
self.token.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for DelegatorUnstakeExecuted {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&DelegatorUnstakeExecuted> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &DelegatorUnstakeExecuted,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `DelegatorUnstakeScheduled(address,address,address,uint256,uint256,uint64)` and selector `0x06325d83435da87657b063c6142a5b91a66a7e811827d082d624287a9953c4ba`.
```solidity
event DelegatorUnstakeScheduled(address indexed delegator, address indexed operator, address indexed token, uint256 shares, uint256 estimatedAmount, uint64 readyRound);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct DelegatorUnstakeScheduled {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub shares: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub estimatedAmount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub readyRound: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for DelegatorUnstakeScheduled {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<64>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "DelegatorUnstakeScheduled(address,address,address,uint256,uint256,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6u8, 50u8, 93u8, 131u8, 67u8, 93u8, 168u8, 118u8, 87u8, 176u8, 99u8,
198u8, 20u8, 42u8, 91u8, 145u8, 166u8, 106u8, 126u8, 129u8, 24u8, 39u8,
208u8, 130u8, 214u8, 36u8, 40u8, 122u8, 153u8, 83u8, 196u8, 186u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
operator: topics.2,
token: topics.3,
shares: data.0,
estimatedAmount: data.1,
readyRound: data.2,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.shares),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.estimatedAmount),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.readyRound),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.delegator.clone(),
self.operator.clone(),
self.token.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for DelegatorUnstakeScheduled {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&DelegatorUnstakeScheduled> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &DelegatorUnstakeScheduled,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Deposited(address,address,uint256,uint8)` and selector `0x754fff2205ca9f1a08ae1f38f487839ba7e18895f0238908ea8b8842d7424fbb`.
```solidity
event Deposited(address indexed delegator, address indexed token, uint256 amount, Types.LockMultiplier lock);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Deposited {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub lock: <Types::LockMultiplier as alloy::sol_types::SolType>::RustType,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Deposited {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
Types::LockMultiplier,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "Deposited(address,address,uint256,uint8)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
117u8, 79u8, 255u8, 34u8, 5u8, 202u8, 159u8, 26u8, 8u8, 174u8, 31u8,
56u8, 244u8, 135u8, 131u8, 155u8, 167u8, 225u8, 136u8, 149u8, 240u8,
35u8, 137u8, 8u8, 234u8, 139u8, 136u8, 66u8, 215u8, 66u8, 79u8, 187u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
token: topics.2,
amount: data.0,
lock: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
<Types::LockMultiplier as alloy_sol_types::SolType>::tokenize(
&self.lock,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.delegator.clone(), self.token.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Deposited {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Deposited> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Deposited) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `DustAccumulated(address,uint256,uint256)` and selector `0x310e4cde0ffb89e86f38377af52d4c5e5d5f4db7eae26c67bf00816ed32f2c4b`.
```solidity
event DustAccumulated(address indexed token, uint256 amount, uint256 totalDust);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct DustAccumulated {
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub totalDust: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for DustAccumulated {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "DustAccumulated(address,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
49u8, 14u8, 76u8, 222u8, 15u8, 251u8, 137u8, 232u8, 111u8, 56u8, 55u8,
122u8, 245u8, 45u8, 76u8, 94u8, 93u8, 95u8, 77u8, 183u8, 234u8, 226u8,
108u8, 103u8, 191u8, 0u8, 129u8, 110u8, 211u8, 47u8, 44u8, 75u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
token: topics.1,
amount: data.0,
totalDust: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalDust),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.token.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for DustAccumulated {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&DustAccumulated> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &DustAccumulated) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `DustSwept(address,address,uint256)` and selector `0x3981c3c93633524805c93b00b61aa75cc59cd423c30c502354a7c347b0b22524`.
```solidity
event DustSwept(address indexed token, address indexed recipient, uint256 amount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct DustSwept {
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub recipient: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for DustSwept {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "DustSwept(address,address,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
57u8, 129u8, 195u8, 201u8, 54u8, 51u8, 82u8, 72u8, 5u8, 201u8, 59u8, 0u8,
182u8, 26u8, 167u8, 92u8, 197u8, 156u8, 212u8, 35u8, 195u8, 12u8, 80u8,
35u8, 84u8, 167u8, 195u8, 71u8, 176u8, 178u8, 37u8, 36u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
token: topics.1,
recipient: topics.2,
amount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.token.clone(), self.recipient.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.recipient,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for DustSwept {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&DustSwept> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &DustSwept) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `ExpiredLocksHarvested(address,address,uint256,uint256)` and selector `0x33348a72e308c92b447540f079c5f5895cc70cd83b15c264f330073c841770fc`.
```solidity
event ExpiredLocksHarvested(address indexed delegator, address indexed token, uint256 count, uint256 totalAmount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct ExpiredLocksHarvested {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub count: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub totalAmount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for ExpiredLocksHarvested {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "ExpiredLocksHarvested(address,address,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
51u8, 52u8, 138u8, 114u8, 227u8, 8u8, 201u8, 43u8, 68u8, 117u8, 64u8,
240u8, 121u8, 197u8, 245u8, 137u8, 92u8, 199u8, 12u8, 216u8, 59u8, 21u8,
194u8, 100u8, 243u8, 48u8, 7u8, 60u8, 132u8, 23u8, 112u8, 252u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
token: topics.2,
count: data.0,
totalAmount: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.count),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalAmount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.delegator.clone(), self.token.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for ExpiredLocksHarvested {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&ExpiredLocksHarvested> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &ExpiredLocksHarvested) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `FacetRegistered(address)` and selector `0x4d3c30f5993f1922a779345a0f7ec1a170f1e52e9d230824f9c17e63596c906d`.
```solidity
event FacetRegistered(address indexed facet);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct FacetRegistered {
#[allow(missing_docs)]
pub facet: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for FacetRegistered {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "FacetRegistered(address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
77u8, 60u8, 48u8, 245u8, 153u8, 63u8, 25u8, 34u8, 167u8, 121u8, 52u8,
90u8, 15u8, 126u8, 193u8, 161u8, 112u8, 241u8, 229u8, 46u8, 157u8, 35u8,
8u8, 36u8, 249u8, 193u8, 126u8, 99u8, 89u8, 108u8, 144u8, 109u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { facet: topics.1 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.facet.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.facet,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for FacetRegistered {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&FacetRegistered> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &FacetRegistered) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `FacetSelectorCleared(bytes4)` and selector `0xbeb27701828f515b03069d44da6519b6c491da13ef1ca7082e619959d1f48ddb`.
```solidity
event FacetSelectorCleared(bytes4 indexed selector);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct FacetSelectorCleared {
#[allow(missing_docs)]
pub selector: alloy::sol_types::private::FixedBytes<4>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for FacetSelectorCleared {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<4>,
);
const SIGNATURE: &'static str = "FacetSelectorCleared(bytes4)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
190u8, 178u8, 119u8, 1u8, 130u8, 143u8, 81u8, 91u8, 3u8, 6u8, 157u8,
68u8, 218u8, 101u8, 25u8, 182u8, 196u8, 145u8, 218u8, 19u8, 239u8, 28u8,
167u8, 8u8, 46u8, 97u8, 153u8, 89u8, 209u8, 244u8, 141u8, 219u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { selector: topics.1 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.selector.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::EventTopic>::encode_topic(&self.selector);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for FacetSelectorCleared {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&FacetSelectorCleared> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &FacetSelectorCleared) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `FacetSelectorSet(bytes4,address)` and selector `0x12557f25e458d9682d7c959b5a960bc9332e8b7af1120b54a333bfc1ff282b39`.
```solidity
event FacetSelectorSet(bytes4 indexed selector, address indexed facet);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct FacetSelectorSet {
#[allow(missing_docs)]
pub selector: alloy::sol_types::private::FixedBytes<4>,
#[allow(missing_docs)]
pub facet: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for FacetSelectorSet {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<4>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "FacetSelectorSet(bytes4,address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
18u8, 85u8, 127u8, 37u8, 228u8, 88u8, 217u8, 104u8, 45u8, 124u8, 149u8,
155u8, 90u8, 150u8, 11u8, 201u8, 51u8, 46u8, 139u8, 122u8, 241u8, 18u8,
11u8, 84u8, 163u8, 51u8, 191u8, 193u8, 255u8, 40u8, 43u8, 57u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
selector: topics.1,
facet: topics.2,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.selector.clone(), self.facet.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::EventTopic>::encode_topic(&self.selector);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.facet,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for FacetSelectorSet {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&FacetSelectorSet> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &FacetSelectorSet) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Initialized(uint64)` and selector `0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2`.
```solidity
event Initialized(uint64 version);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Initialized {
#[allow(missing_docs)]
pub version: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Initialized {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
const SIGNATURE: &'static str = "Initialized(uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { version: data.0 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.version),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(),)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Initialized {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Initialized> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Initialized) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorBlueprintAdded(address,uint64)` and selector `0xb6d5e45d77b8967cff525b375be6e07f99ca5af91d88724ac1237aafe295d50e`.
```solidity
event OperatorBlueprintAdded(address indexed operator, uint64 indexed blueprintId);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorBlueprintAdded {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub blueprintId: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorBlueprintAdded {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
const SIGNATURE: &'static str = "OperatorBlueprintAdded(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
182u8, 213u8, 228u8, 93u8, 119u8, 184u8, 150u8, 124u8, 255u8, 82u8, 91u8,
55u8, 91u8, 230u8, 224u8, 127u8, 153u8, 202u8, 90u8, 249u8, 29u8, 136u8,
114u8, 74u8, 193u8, 35u8, 122u8, 175u8, 226u8, 149u8, 213u8, 14u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
blueprintId: topics.2,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.blueprintId.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.blueprintId);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorBlueprintAdded {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorBlueprintAdded> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &OperatorBlueprintAdded) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorBlueprintRemoved(address,uint64)` and selector `0x4b9bbf2ebc79e9fb39a64920934b3f458a486552d3df95395aa750ece9e97093`.
```solidity
event OperatorBlueprintRemoved(address indexed operator, uint64 indexed blueprintId);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorBlueprintRemoved {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub blueprintId: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorBlueprintRemoved {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
const SIGNATURE: &'static str = "OperatorBlueprintRemoved(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
75u8, 155u8, 191u8, 46u8, 188u8, 121u8, 233u8, 251u8, 57u8, 166u8, 73u8,
32u8, 147u8, 75u8, 63u8, 69u8, 138u8, 72u8, 101u8, 82u8, 211u8, 223u8,
149u8, 57u8, 90u8, 167u8, 80u8, 236u8, 233u8, 233u8, 112u8, 147u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
blueprintId: topics.2,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.blueprintId.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.blueprintId);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorBlueprintRemoved {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorBlueprintRemoved> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorBlueprintRemoved,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorDelegationModeSet(address,uint8)` and selector `0x2caf79ac93ee4b3e93143f18702f2ffef06f964e98ff115c6783e4bd46b3c433`.
```solidity
event OperatorDelegationModeSet(address indexed operator, Types.DelegationMode mode);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorDelegationModeSet {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub mode: <Types::DelegationMode as alloy::sol_types::SolType>::RustType,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorDelegationModeSet {
type DataTuple<'a> = (Types::DelegationMode,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorDelegationModeSet(address,uint8)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
44u8, 175u8, 121u8, 172u8, 147u8, 238u8, 75u8, 62u8, 147u8, 20u8, 63u8,
24u8, 112u8, 47u8, 47u8, 254u8, 240u8, 111u8, 150u8, 78u8, 152u8, 255u8,
17u8, 92u8, 103u8, 131u8, 228u8, 189u8, 70u8, 179u8, 196u8, 51u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
mode: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<Types::DelegationMode as alloy_sol_types::SolType>::tokenize(
&self.mode,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorDelegationModeSet {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorDelegationModeSet> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorDelegationModeSet,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorLeavingScheduled(address,uint64)` and selector `0xfd47ed8e653fba5e6e9fcaa947419ca2334b3972ce196132ec69708574d6d35a`.
```solidity
event OperatorLeavingScheduled(address indexed operator, uint64 readyRound);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorLeavingScheduled {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub readyRound: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorLeavingScheduled {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorLeavingScheduled(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
253u8, 71u8, 237u8, 142u8, 101u8, 63u8, 186u8, 94u8, 110u8, 159u8, 202u8,
169u8, 71u8, 65u8, 156u8, 162u8, 51u8, 75u8, 57u8, 114u8, 206u8, 25u8,
97u8, 50u8, 236u8, 105u8, 112u8, 133u8, 116u8, 214u8, 211u8, 90u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
readyRound: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.readyRound),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorLeavingScheduled {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorLeavingScheduled> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorLeavingScheduled,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorLeft(address)` and selector `0x120599f8830115ed973189f8f4947cc793fcd90a15d47c4d6ad8d1a3f15af734`.
```solidity
event OperatorLeft(address indexed operator);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorLeft {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorLeft {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorLeft(address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
18u8, 5u8, 153u8, 248u8, 131u8, 1u8, 21u8, 237u8, 151u8, 49u8, 137u8,
248u8, 244u8, 148u8, 124u8, 199u8, 147u8, 252u8, 217u8, 10u8, 21u8,
212u8, 124u8, 77u8, 106u8, 216u8, 209u8, 163u8, 241u8, 90u8, 247u8, 52u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { operator: topics.1 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorLeft {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorLeft> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &OperatorLeft) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorRegistered(address,uint256)` and selector `0xbc11617e575d658c74e921c8df22f8e48566072fa78145a6cfe18420bf8d0c4e`.
```solidity
event OperatorRegistered(address indexed operator, uint256 stake);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorRegistered {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub stake: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorRegistered {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorRegistered(address,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
188u8, 17u8, 97u8, 126u8, 87u8, 93u8, 101u8, 140u8, 116u8, 233u8, 33u8,
200u8, 223u8, 34u8, 248u8, 228u8, 133u8, 102u8, 7u8, 47u8, 167u8, 129u8,
69u8, 166u8, 207u8, 225u8, 132u8, 32u8, 191u8, 141u8, 12u8, 78u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
stake: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.stake),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorRegistered {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorRegistered> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &OperatorRegistered) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorStakeIncreased(address,uint256)` and selector `0x614a3fa8467eb54cb60af3aab440279837c9fcd75c5a2617fe0af9c6e5e60e83`.
```solidity
event OperatorStakeIncreased(address indexed operator, uint256 amount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorStakeIncreased {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorStakeIncreased {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorStakeIncreased(address,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
97u8, 74u8, 63u8, 168u8, 70u8, 126u8, 181u8, 76u8, 182u8, 10u8, 243u8,
170u8, 180u8, 64u8, 39u8, 152u8, 55u8, 201u8, 252u8, 215u8, 92u8, 90u8,
38u8, 23u8, 254u8, 10u8, 249u8, 198u8, 229u8, 230u8, 14u8, 131u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
amount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorStakeIncreased {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorStakeIncreased> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &OperatorStakeIncreased) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorUnstakeExecuted(address,uint256)` and selector `0xda2b51341079f3dd8e6763a50f329bbc3dc6ca6a51b920fe99fbf89a54ec0e27`.
```solidity
event OperatorUnstakeExecuted(address indexed operator, uint256 amount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorUnstakeExecuted {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorUnstakeExecuted {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorUnstakeExecuted(address,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
218u8, 43u8, 81u8, 52u8, 16u8, 121u8, 243u8, 221u8, 142u8, 103u8, 99u8,
165u8, 15u8, 50u8, 155u8, 188u8, 61u8, 198u8, 202u8, 106u8, 81u8, 185u8,
32u8, 254u8, 153u8, 251u8, 248u8, 154u8, 84u8, 236u8, 14u8, 39u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
amount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorUnstakeExecuted {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorUnstakeExecuted> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorUnstakeExecuted,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorUnstakeScheduled(address,uint256,uint64)` and selector `0xf7e874d9fd42838b0f06a44c7bbe45417b991e6b000e8ca4c5c1f086084a9cd3`.
```solidity
event OperatorUnstakeScheduled(address indexed operator, uint256 amount, uint64 readyRound);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorUnstakeScheduled {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub readyRound: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorUnstakeScheduled {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<64>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorUnstakeScheduled(address,uint256,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
247u8, 232u8, 116u8, 217u8, 253u8, 66u8, 131u8, 139u8, 15u8, 6u8, 164u8,
76u8, 123u8, 190u8, 69u8, 65u8, 123u8, 153u8, 30u8, 107u8, 0u8, 14u8,
140u8, 164u8, 197u8, 193u8, 240u8, 134u8, 8u8, 74u8, 156u8, 211u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
amount: data.0,
readyRound: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.readyRound),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorUnstakeScheduled {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorUnstakeScheduled> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorUnstakeScheduled,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `OperatorWhitelistUpdated(address,address,bool)` and selector `0x250e4672877b0d4f552e7abf31973d960221449eeb97ef9d5c304295e7b32e94`.
```solidity
event OperatorWhitelistUpdated(address indexed operator, address indexed delegator, bool approved);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct OperatorWhitelistUpdated {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub approved: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for OperatorWhitelistUpdated {
type DataTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "OperatorWhitelistUpdated(address,address,bool)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
37u8, 14u8, 70u8, 114u8, 135u8, 123u8, 13u8, 79u8, 85u8, 46u8, 122u8,
191u8, 49u8, 151u8, 61u8, 150u8, 2u8, 33u8, 68u8, 158u8, 235u8, 151u8,
239u8, 157u8, 92u8, 48u8, 66u8, 149u8, 231u8, 179u8, 46u8, 148u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
delegator: topics.2,
approved: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
&self.approved,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.delegator.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for OperatorWhitelistUpdated {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&OperatorWhitelistUpdated> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &OperatorWhitelistUpdated,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Paused(address)` and selector `0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258`.
```solidity
event Paused(address account);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Paused {
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Paused {
type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
const SIGNATURE: &'static str = "Paused(address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
98u8, 231u8, 140u8, 234u8, 1u8, 190u8, 227u8, 32u8, 205u8, 78u8, 66u8,
2u8, 112u8, 181u8, 234u8, 116u8, 0u8, 13u8, 17u8, 176u8, 201u8, 247u8,
71u8, 84u8, 235u8, 219u8, 252u8, 84u8, 75u8, 5u8, 162u8, 88u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { account: data.0 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(),)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Paused {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Paused> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Paused) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `PendingSlashCountReset(address,uint64)` and selector `0x90b37e59a942c5413ce00a3a844a47c20094979897cc653606d925e909885f35`.
```solidity
event PendingSlashCountReset(address indexed operator, uint64 newCount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct PendingSlashCountReset {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub newCount: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for PendingSlashCountReset {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "PendingSlashCountReset(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
144u8, 179u8, 126u8, 89u8, 169u8, 66u8, 197u8, 65u8, 60u8, 224u8, 10u8,
58u8, 132u8, 74u8, 71u8, 194u8, 0u8, 148u8, 151u8, 152u8, 151u8, 204u8,
101u8, 54u8, 6u8, 217u8, 37u8, 233u8, 9u8, 136u8, 95u8, 53u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
newCount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.newCount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for PendingSlashCountReset {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&PendingSlashCountReset> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &PendingSlashCountReset) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `PendingSlashDecremented(address,uint64)` and selector `0xdadff829c9ac2b3e13808e2d9b9ca9d42abd481d8afe02dd4f354c2fbf9cdef3`.
```solidity
event PendingSlashDecremented(address indexed operator, uint64 newCount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct PendingSlashDecremented {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub newCount: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for PendingSlashDecremented {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "PendingSlashDecremented(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
218u8, 223u8, 248u8, 41u8, 201u8, 172u8, 43u8, 62u8, 19u8, 128u8, 142u8,
45u8, 155u8, 156u8, 169u8, 212u8, 42u8, 189u8, 72u8, 29u8, 138u8, 254u8,
2u8, 221u8, 79u8, 53u8, 76u8, 47u8, 191u8, 156u8, 222u8, 243u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
newCount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.newCount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for PendingSlashDecremented {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&PendingSlashDecremented> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &PendingSlashDecremented,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `PendingSlashIncremented(address,uint64)` and selector `0x203894072994ba6494aa73454a0408e11c339140427c6009a0256e1f35953f42`.
```solidity
event PendingSlashIncremented(address indexed operator, uint64 newCount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct PendingSlashIncremented {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub newCount: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for PendingSlashIncremented {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "PendingSlashIncremented(address,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
32u8, 56u8, 148u8, 7u8, 41u8, 148u8, 186u8, 100u8, 148u8, 170u8, 115u8,
69u8, 74u8, 4u8, 8u8, 225u8, 28u8, 51u8, 145u8, 64u8, 66u8, 124u8, 96u8,
9u8, 160u8, 37u8, 110u8, 31u8, 53u8, 149u8, 63u8, 66u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
newCount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.newCount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.operator.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for PendingSlashIncremented {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&PendingSlashIncremented> for alloy_sol_types::private::LogData {
#[inline]
fn from(
this: &PendingSlashIncremented,
) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `RoleAdminChanged(bytes32,bytes32,bytes32)` and selector `0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff`.
```solidity
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct RoleAdminChanged {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub previousAdminRole: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub newAdminRole: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for RoleAdminChanged {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<32>,
);
const SIGNATURE: &'static str = "RoleAdminChanged(bytes32,bytes32,bytes32)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
189u8, 121u8, 184u8, 111u8, 254u8, 10u8, 184u8, 232u8, 119u8, 97u8, 81u8,
81u8, 66u8, 23u8, 205u8, 124u8, 172u8, 213u8, 44u8, 144u8, 159u8, 102u8,
71u8, 92u8, 58u8, 244u8, 78u8, 18u8, 159u8, 11u8, 0u8, 255u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
role: topics.1,
previousAdminRole: topics.2,
newAdminRole: topics.3,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.role.clone(),
self.previousAdminRole.clone(),
self.newAdminRole.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic(&self.role);
out[2usize] = <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic(&self.previousAdminRole);
out[3usize] = <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic(&self.newAdminRole);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for RoleAdminChanged {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&RoleAdminChanged> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &RoleAdminChanged) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `RoleGranted(bytes32,address,address)` and selector `0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d`.
```solidity
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct RoleGranted {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub sender: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for RoleGranted {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "RoleGranted(bytes32,address,address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
47u8, 135u8, 136u8, 17u8, 126u8, 126u8, 255u8, 29u8, 130u8, 233u8, 38u8,
236u8, 121u8, 73u8, 1u8, 209u8, 124u8, 120u8, 2u8, 74u8, 80u8, 39u8, 9u8,
64u8, 48u8, 69u8, 64u8, 167u8, 51u8, 101u8, 111u8, 13u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
role: topics.1,
account: topics.2,
sender: topics.3,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.role.clone(),
self.account.clone(),
self.sender.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic(&self.role);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.account,
);
out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.sender,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for RoleGranted {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&RoleGranted> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &RoleGranted) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `RoleRevoked(bytes32,address,address)` and selector `0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b`.
```solidity
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct RoleRevoked {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub sender: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for RoleRevoked {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "RoleRevoked(bytes32,address,address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
246u8, 57u8, 31u8, 92u8, 50u8, 217u8, 198u8, 157u8, 42u8, 71u8, 234u8,
103u8, 11u8, 68u8, 41u8, 116u8, 181u8, 57u8, 53u8, 209u8, 237u8, 199u8,
253u8, 100u8, 235u8, 33u8, 224u8, 71u8, 168u8, 57u8, 23u8, 27u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
role: topics.1,
account: topics.2,
sender: topics.3,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.role.clone(),
self.account.clone(),
self.sender.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::EventTopic>::encode_topic(&self.role);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.account,
);
out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.sender,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for RoleRevoked {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&RoleRevoked> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &RoleRevoked) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `SlashRecorded(address,uint64,bytes32,uint16,uint256,uint256,uint256)` and selector `0x983077b9b339d83d83ba0acb16fafe11cf53f1f16a50eee02e4c7d467350f6ca`.
```solidity
event SlashRecorded(address indexed operator, uint64 indexed slashId, bytes32 assetHash, uint16 slashBps, uint256 totalSlashed, uint256 exchangeRateBefore, uint256 exchangeRateAfter);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct SlashRecorded {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub slashId: u64,
#[allow(missing_docs)]
pub assetHash: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub slashBps: u16,
#[allow(missing_docs)]
pub totalSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateBefore: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateAfter: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for SlashRecorded {
type DataTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Uint<16>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
const SIGNATURE: &'static str = "SlashRecorded(address,uint64,bytes32,uint16,uint256,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
152u8, 48u8, 119u8, 185u8, 179u8, 57u8, 216u8, 61u8, 131u8, 186u8, 10u8,
203u8, 22u8, 250u8, 254u8, 17u8, 207u8, 83u8, 241u8, 241u8, 106u8, 80u8,
238u8, 224u8, 46u8, 76u8, 125u8, 70u8, 115u8, 80u8, 246u8, 202u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
slashId: topics.2,
assetHash: data.0,
slashBps: data.1,
totalSlashed: data.2,
exchangeRateBefore: data.3,
exchangeRateAfter: data.4,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.assetHash),
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(&self.slashBps),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateBefore),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateAfter),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.slashId.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.slashId);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for SlashRecorded {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&SlashRecorded> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &SlashRecorded) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Slashed(address,uint64,uint64,bytes32,uint16,uint256,uint256,uint256)` and selector `0x2f5da1efb3a68ece960caa5f9c275a9f476d45f1cfc50b92d01bc9a34b38a8f6`.
```solidity
event Slashed(address indexed operator, uint64 indexed serviceId, uint64 indexed blueprintId, bytes32 assetHash, uint16 slashBps, uint256 operatorSlashed, uint256 delegatorsSlashed, uint256 exchangeRateAfter);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Slashed {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub serviceId: u64,
#[allow(missing_docs)]
pub blueprintId: u64,
#[allow(missing_docs)]
pub assetHash: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub slashBps: u16,
#[allow(missing_docs)]
pub operatorSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub delegatorsSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateAfter: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Slashed {
type DataTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Uint<16>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
);
const SIGNATURE: &'static str = "Slashed(address,uint64,uint64,bytes32,uint16,uint256,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
47u8, 93u8, 161u8, 239u8, 179u8, 166u8, 142u8, 206u8, 150u8, 12u8, 170u8,
95u8, 156u8, 39u8, 90u8, 159u8, 71u8, 109u8, 69u8, 241u8, 207u8, 197u8,
11u8, 146u8, 208u8, 27u8, 201u8, 163u8, 75u8, 56u8, 168u8, 246u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
serviceId: topics.2,
blueprintId: topics.3,
assetHash: data.0,
slashBps: data.1,
operatorSlashed: data.2,
delegatorsSlashed: data.3,
exchangeRateAfter: data.4,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.assetHash),
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(&self.slashBps),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.operatorSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.delegatorsSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateAfter),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.serviceId.clone(),
self.blueprintId.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.serviceId);
out[3usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.blueprintId);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Slashed {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Slashed> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Slashed) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `SlashedForService(address,uint64,uint64,uint256,uint256)` and selector `0xeb0d9b34ef071b87da8591ddd82cc67f90c6806201b5c9ddc91f0624677dc815`.
```solidity
event SlashedForService(address indexed operator, uint64 indexed serviceId, uint64 indexed blueprintId, uint256 totalSlashed, uint256 commitmentCount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct SlashedForService {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub serviceId: u64,
#[allow(missing_docs)]
pub blueprintId: u64,
#[allow(missing_docs)]
pub totalSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub commitmentCount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for SlashedForService {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
);
const SIGNATURE: &'static str = "SlashedForService(address,uint64,uint64,uint256,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
235u8, 13u8, 155u8, 52u8, 239u8, 7u8, 27u8, 135u8, 218u8, 133u8, 145u8,
221u8, 216u8, 44u8, 198u8, 127u8, 144u8, 198u8, 128u8, 98u8, 1u8, 181u8,
201u8, 221u8, 201u8, 31u8, 6u8, 36u8, 103u8, 125u8, 200u8, 21u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
operator: topics.1,
serviceId: topics.2,
blueprintId: topics.3,
totalSlashed: data.0,
commitmentCount: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.commitmentCount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(
Self::SIGNATURE_HASH.into(),
self.operator.clone(),
self.serviceId.clone(),
self.blueprintId.clone(),
)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.operator,
);
out[2usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.serviceId);
out[3usize] = <alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::EventTopic>::encode_topic(&self.blueprintId);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for SlashedForService {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&SlashedForService> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &SlashedForService) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Unpaused(address)` and selector `0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa`.
```solidity
event Unpaused(address account);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Unpaused {
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Unpaused {
type DataTuple<'a> = (alloy::sol_types::sol_data::Address,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,);
const SIGNATURE: &'static str = "Unpaused(address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
93u8, 185u8, 238u8, 10u8, 73u8, 91u8, 242u8, 230u8, 255u8, 156u8, 145u8,
167u8, 131u8, 76u8, 27u8, 164u8, 253u8, 210u8, 68u8, 165u8, 232u8, 170u8,
78u8, 83u8, 123u8, 211u8, 138u8, 234u8, 228u8, 176u8, 115u8, 170u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { account: data.0 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(),)
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Unpaused {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Unpaused> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Unpaused) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Upgraded(address)` and selector `0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b`.
```solidity
event Upgraded(address indexed implementation);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Upgraded {
#[allow(missing_docs)]
pub implementation: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Upgraded {
type DataTuple<'a> = ();
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "Upgraded(address)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self { implementation: topics.1 }
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
()
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.implementation.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.implementation,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Upgraded {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Upgraded> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Upgraded) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `WithdrawScheduled(address,address,uint256,uint64)` and selector `0x91eff7d39d2499d76ac21a1903a95a88f31589cb07b1ffdfb61db9f7cd8a3978`.
```solidity
event WithdrawScheduled(address indexed delegator, address indexed token, uint256 amount, uint64 readyRound);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct WithdrawScheduled {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub readyRound: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for WithdrawScheduled {
type DataTuple<'a> = (
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<64>,
);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "WithdrawScheduled(address,address,uint256,uint64)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
145u8, 239u8, 247u8, 211u8, 157u8, 36u8, 153u8, 215u8, 106u8, 194u8,
26u8, 25u8, 3u8, 169u8, 90u8, 136u8, 243u8, 21u8, 137u8, 203u8, 7u8,
177u8, 255u8, 223u8, 182u8, 29u8, 185u8, 247u8, 205u8, 138u8, 57u8, 120u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
token: topics.2,
amount: data.0,
readyRound: data.1,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.readyRound),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.delegator.clone(), self.token.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for WithdrawScheduled {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&WithdrawScheduled> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &WithdrawScheduled) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Event with signature `Withdrawn(address,address,uint256)` and selector `0xd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb`.
```solidity
event Withdrawn(address indexed delegator, address indexed token, uint256 amount);
```*/
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
#[derive(Clone)]
pub struct Withdrawn {
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub amount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
#[automatically_derived]
impl alloy_sol_types::SolEvent for Withdrawn {
type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type DataToken<'a> = <Self::DataTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type TopicList = (
alloy_sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
const SIGNATURE: &'static str = "Withdrawn(address,address,uint256)";
const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
209u8, 193u8, 159u8, 188u8, 212u8, 85u8, 26u8, 94u8, 223u8, 182u8, 109u8,
67u8, 210u8, 227u8, 55u8, 192u8, 72u8, 55u8, 175u8, 218u8, 52u8, 130u8,
180u8, 43u8, 223u8, 86u8, 154u8, 143u8, 204u8, 218u8, 229u8, 251u8,
]);
const ANONYMOUS: bool = false;
#[allow(unused_variables)]
#[inline]
fn new(
topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
) -> Self {
Self {
delegator: topics.1,
token: topics.2,
amount: data.0,
}
}
#[inline]
fn check_signature(
topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
) -> alloy_sol_types::Result<()> {
if topics.0 != Self::SIGNATURE_HASH {
return Err(
alloy_sol_types::Error::invalid_event_signature_hash(
Self::SIGNATURE,
topics.0,
Self::SIGNATURE_HASH,
),
);
}
Ok(())
}
#[inline]
fn tokenize_body(&self) -> Self::DataToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.amount),
)
}
#[inline]
fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
(Self::SIGNATURE_HASH.into(), self.delegator.clone(), self.token.clone())
}
#[inline]
fn encode_topics_raw(
&self,
out: &mut [alloy_sol_types::abi::token::WordToken],
) -> alloy_sol_types::Result<()> {
if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
return Err(alloy_sol_types::Error::Overrun);
}
out[0usize] = alloy_sol_types::abi::token::WordToken(
Self::SIGNATURE_HASH,
);
out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.delegator,
);
out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
&self.token,
);
Ok(())
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for Withdrawn {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
From::from(self)
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
From::from(&self)
}
}
#[automatically_derived]
impl From<&Withdrawn> for alloy_sol_types::private::LogData {
#[inline]
fn from(this: &Withdrawn) -> alloy_sol_types::private::LogData {
alloy_sol_types::SolEvent::encode_log_data(this)
}
}
};
/**Constructor`.
```solidity
constructor();
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct constructorCall {}
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
fn from(value: constructorCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolConstructor for constructorCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `ADMIN_ROLE()` and selector `0x75b238fc`.
```solidity
function ADMIN_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ADMIN_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`ADMIN_ROLE()`](ADMIN_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ADMIN_ROLEReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ADMIN_ROLECall> for UnderlyingRustTuple<'_> {
fn from(value: ADMIN_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for ADMIN_ROLECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ADMIN_ROLEReturn> for UnderlyingRustTuple<'_> {
fn from(value: ADMIN_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for ADMIN_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for ADMIN_ROLECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ADMIN_ROLE()";
const SELECTOR: [u8; 4] = [117u8, 178u8, 56u8, 252u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: ADMIN_ROLEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: ADMIN_ROLEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `ASSET_MANAGER_ROLE()` and selector `0xa4b32de8`.
```solidity
function ASSET_MANAGER_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ASSET_MANAGER_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`ASSET_MANAGER_ROLE()`](ASSET_MANAGER_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct ASSET_MANAGER_ROLEReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ASSET_MANAGER_ROLECall>
for UnderlyingRustTuple<'_> {
fn from(value: ASSET_MANAGER_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for ASSET_MANAGER_ROLECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<ASSET_MANAGER_ROLEReturn>
for UnderlyingRustTuple<'_> {
fn from(value: ASSET_MANAGER_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for ASSET_MANAGER_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for ASSET_MANAGER_ROLECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "ASSET_MANAGER_ROLE()";
const SELECTOR: [u8; 4] = [164u8, 179u8, 45u8, 232u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: ASSET_MANAGER_ROLEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: ASSET_MANAGER_ROLEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `BPS_DENOMINATOR()` and selector `0xe1a45218`.
```solidity
function BPS_DENOMINATOR() external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct BPS_DENOMINATORCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`BPS_DENOMINATOR()`](BPS_DENOMINATORCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct BPS_DENOMINATORReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<BPS_DENOMINATORCall> for UnderlyingRustTuple<'_> {
fn from(value: BPS_DENOMINATORCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for BPS_DENOMINATORCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<BPS_DENOMINATORReturn>
for UnderlyingRustTuple<'_> {
fn from(value: BPS_DENOMINATORReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for BPS_DENOMINATORReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for BPS_DENOMINATORCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "BPS_DENOMINATOR()";
const SELECTOR: [u8; 4] = [225u8, 164u8, 82u8, 24u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: BPS_DENOMINATORReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: BPS_DENOMINATORReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `COMMISSION_CHANGE_DELAY()` and selector `0xd45ff582`.
```solidity
function COMMISSION_CHANGE_DELAY() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct COMMISSION_CHANGE_DELAYCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`COMMISSION_CHANGE_DELAY()`](COMMISSION_CHANGE_DELAYCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct COMMISSION_CHANGE_DELAYReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<COMMISSION_CHANGE_DELAYCall>
for UnderlyingRustTuple<'_> {
fn from(value: COMMISSION_CHANGE_DELAYCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for COMMISSION_CHANGE_DELAYCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<COMMISSION_CHANGE_DELAYReturn>
for UnderlyingRustTuple<'_> {
fn from(value: COMMISSION_CHANGE_DELAYReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for COMMISSION_CHANGE_DELAYReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for COMMISSION_CHANGE_DELAYCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "COMMISSION_CHANGE_DELAY()";
const SELECTOR: [u8; 4] = [212u8, 95u8, 245u8, 130u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: COMMISSION_CHANGE_DELAYReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: COMMISSION_CHANGE_DELAYReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `DEFAULT_ADMIN_ROLE()` and selector `0xa217fddf`.
```solidity
function DEFAULT_ADMIN_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct DEFAULT_ADMIN_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`DEFAULT_ADMIN_ROLE()`](DEFAULT_ADMIN_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct DEFAULT_ADMIN_ROLEReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<DEFAULT_ADMIN_ROLECall>
for UnderlyingRustTuple<'_> {
fn from(value: DEFAULT_ADMIN_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for DEFAULT_ADMIN_ROLECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<DEFAULT_ADMIN_ROLEReturn>
for UnderlyingRustTuple<'_> {
fn from(value: DEFAULT_ADMIN_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for DEFAULT_ADMIN_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for DEFAULT_ADMIN_ROLECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "DEFAULT_ADMIN_ROLE()";
const SELECTOR: [u8; 4] = [162u8, 23u8, 253u8, 223u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: DEFAULT_ADMIN_ROLEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: DEFAULT_ADMIN_ROLEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `LOCK_ONE_MONTH()` and selector `0x9e870585`.
```solidity
function LOCK_ONE_MONTH() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_ONE_MONTHCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`LOCK_ONE_MONTH()`](LOCK_ONE_MONTHCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_ONE_MONTHReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_ONE_MONTHCall> for UnderlyingRustTuple<'_> {
fn from(value: LOCK_ONE_MONTHCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for LOCK_ONE_MONTHCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_ONE_MONTHReturn>
for UnderlyingRustTuple<'_> {
fn from(value: LOCK_ONE_MONTHReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for LOCK_ONE_MONTHReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for LOCK_ONE_MONTHCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "LOCK_ONE_MONTH()";
const SELECTOR: [u8; 4] = [158u8, 135u8, 5u8, 133u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: LOCK_ONE_MONTHReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: LOCK_ONE_MONTHReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `LOCK_SIX_MONTHS()` and selector `0xf3c9b311`.
```solidity
function LOCK_SIX_MONTHS() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_SIX_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`LOCK_SIX_MONTHS()`](LOCK_SIX_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_SIX_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_SIX_MONTHSCall> for UnderlyingRustTuple<'_> {
fn from(value: LOCK_SIX_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for LOCK_SIX_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_SIX_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: LOCK_SIX_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for LOCK_SIX_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for LOCK_SIX_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "LOCK_SIX_MONTHS()";
const SELECTOR: [u8; 4] = [243u8, 201u8, 179u8, 17u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: LOCK_SIX_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: LOCK_SIX_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `LOCK_THREE_MONTHS()` and selector `0xd27a6f06`.
```solidity
function LOCK_THREE_MONTHS() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_THREE_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`LOCK_THREE_MONTHS()`](LOCK_THREE_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_THREE_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_THREE_MONTHSCall>
for UnderlyingRustTuple<'_> {
fn from(value: LOCK_THREE_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for LOCK_THREE_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_THREE_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: LOCK_THREE_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for LOCK_THREE_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for LOCK_THREE_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "LOCK_THREE_MONTHS()";
const SELECTOR: [u8; 4] = [210u8, 122u8, 111u8, 6u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: LOCK_THREE_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: LOCK_THREE_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `LOCK_TWO_MONTHS()` and selector `0x7df92ada`.
```solidity
function LOCK_TWO_MONTHS() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_TWO_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`LOCK_TWO_MONTHS()`](LOCK_TWO_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct LOCK_TWO_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_TWO_MONTHSCall> for UnderlyingRustTuple<'_> {
fn from(value: LOCK_TWO_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for LOCK_TWO_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<LOCK_TWO_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: LOCK_TWO_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for LOCK_TWO_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for LOCK_TWO_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "LOCK_TWO_MONTHS()";
const SELECTOR: [u8; 4] = [125u8, 249u8, 42u8, 218u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: LOCK_TWO_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: LOCK_TWO_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MIN_LOCK_AMOUNT()` and selector `0xdd764abf`.
```solidity
function MIN_LOCK_AMOUNT() external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MIN_LOCK_AMOUNTCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MIN_LOCK_AMOUNT()`](MIN_LOCK_AMOUNTCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MIN_LOCK_AMOUNTReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MIN_LOCK_AMOUNTCall> for UnderlyingRustTuple<'_> {
fn from(value: MIN_LOCK_AMOUNTCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for MIN_LOCK_AMOUNTCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MIN_LOCK_AMOUNTReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MIN_LOCK_AMOUNTReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MIN_LOCK_AMOUNTReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MIN_LOCK_AMOUNTCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MIN_LOCK_AMOUNT()";
const SELECTOR: [u8; 4] = [221u8, 118u8, 74u8, 191u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MIN_LOCK_AMOUNTReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MIN_LOCK_AMOUNTReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MULTIPLIER_NONE()` and selector `0x4962f88f`.
```solidity
function MULTIPLIER_NONE() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_NONECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MULTIPLIER_NONE()`](MULTIPLIER_NONECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_NONEReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_NONECall> for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_NONECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for MULTIPLIER_NONECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_NONEReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_NONEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_NONEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MULTIPLIER_NONECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MULTIPLIER_NONE()";
const SELECTOR: [u8; 4] = [73u8, 98u8, 248u8, 143u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MULTIPLIER_NONEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MULTIPLIER_NONEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MULTIPLIER_ONE_MONTH()` and selector `0x18056dc2`.
```solidity
function MULTIPLIER_ONE_MONTH() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_ONE_MONTHCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MULTIPLIER_ONE_MONTH()`](MULTIPLIER_ONE_MONTHCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_ONE_MONTHReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_ONE_MONTHCall>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_ONE_MONTHCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_ONE_MONTHCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_ONE_MONTHReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_ONE_MONTHReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_ONE_MONTHReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MULTIPLIER_ONE_MONTHCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MULTIPLIER_ONE_MONTH()";
const SELECTOR: [u8; 4] = [24u8, 5u8, 109u8, 194u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MULTIPLIER_ONE_MONTHReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MULTIPLIER_ONE_MONTHReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MULTIPLIER_SIX_MONTHS()` and selector `0x453eccea`.
```solidity
function MULTIPLIER_SIX_MONTHS() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_SIX_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MULTIPLIER_SIX_MONTHS()`](MULTIPLIER_SIX_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_SIX_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_SIX_MONTHSCall>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_SIX_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_SIX_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_SIX_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_SIX_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_SIX_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MULTIPLIER_SIX_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MULTIPLIER_SIX_MONTHS()";
const SELECTOR: [u8; 4] = [69u8, 62u8, 204u8, 234u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MULTIPLIER_SIX_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MULTIPLIER_SIX_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MULTIPLIER_THREE_MONTHS()` and selector `0xa7fa6f98`.
```solidity
function MULTIPLIER_THREE_MONTHS() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_THREE_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MULTIPLIER_THREE_MONTHS()`](MULTIPLIER_THREE_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_THREE_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_THREE_MONTHSCall>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_THREE_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_THREE_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_THREE_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_THREE_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_THREE_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MULTIPLIER_THREE_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MULTIPLIER_THREE_MONTHS()";
const SELECTOR: [u8; 4] = [167u8, 250u8, 111u8, 152u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MULTIPLIER_THREE_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MULTIPLIER_THREE_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `MULTIPLIER_TWO_MONTHS()` and selector `0x54de2320`.
```solidity
function MULTIPLIER_TWO_MONTHS() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_TWO_MONTHSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`MULTIPLIER_TWO_MONTHS()`](MULTIPLIER_TWO_MONTHSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct MULTIPLIER_TWO_MONTHSReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_TWO_MONTHSCall>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_TWO_MONTHSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_TWO_MONTHSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<MULTIPLIER_TWO_MONTHSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: MULTIPLIER_TWO_MONTHSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for MULTIPLIER_TWO_MONTHSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for MULTIPLIER_TWO_MONTHSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "MULTIPLIER_TWO_MONTHS()";
const SELECTOR: [u8; 4] = [84u8, 222u8, 35u8, 32u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: MULTIPLIER_TWO_MONTHSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: MULTIPLIER_TWO_MONTHSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `PRECISION()` and selector `0xaaf5eb68`.
```solidity
function PRECISION() external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct PRECISIONCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`PRECISION()`](PRECISIONCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct PRECISIONReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<PRECISIONCall> for UnderlyingRustTuple<'_> {
fn from(value: PRECISIONCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for PRECISIONCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<PRECISIONReturn> for UnderlyingRustTuple<'_> {
fn from(value: PRECISIONReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for PRECISIONReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for PRECISIONCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "PRECISION()";
const SELECTOR: [u8; 4] = [170u8, 245u8, 235u8, 104u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: PRECISIONReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: PRECISIONReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `SLASHER_ROLE()` and selector `0x5095af64`.
```solidity
function SLASHER_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct SLASHER_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`SLASHER_ROLE()`](SLASHER_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct SLASHER_ROLEReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<SLASHER_ROLECall> for UnderlyingRustTuple<'_> {
fn from(value: SLASHER_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for SLASHER_ROLECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<SLASHER_ROLEReturn> for UnderlyingRustTuple<'_> {
fn from(value: SLASHER_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for SLASHER_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for SLASHER_ROLECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "SLASHER_ROLE()";
const SELECTOR: [u8; 4] = [80u8, 149u8, 175u8, 100u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: SLASHER_ROLEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: SLASHER_ROLEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `TANGLE_ROLE()` and selector `0x602356e3`.
```solidity
function TANGLE_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct TANGLE_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`TANGLE_ROLE()`](TANGLE_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct TANGLE_ROLEReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<TANGLE_ROLECall> for UnderlyingRustTuple<'_> {
fn from(value: TANGLE_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for TANGLE_ROLECall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<TANGLE_ROLEReturn> for UnderlyingRustTuple<'_> {
fn from(value: TANGLE_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for TANGLE_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for TANGLE_ROLECall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "TANGLE_ROLE()";
const SELECTOR: [u8; 4] = [96u8, 35u8, 86u8, 227u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: TANGLE_ROLEReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: TANGLE_ROLEReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `UPGRADE_INTERFACE_VERSION()` and selector `0xad3cb1cc`.
```solidity
function UPGRADE_INTERFACE_VERSION() external view returns (string memory);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UPGRADE_INTERFACE_VERSIONCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`UPGRADE_INTERFACE_VERSION()`](UPGRADE_INTERFACE_VERSIONCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UPGRADE_INTERFACE_VERSIONReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::String,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONCall>
for UnderlyingRustTuple<'_> {
fn from(value: UPGRADE_INTERFACE_VERSIONCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for UPGRADE_INTERFACE_VERSIONCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UPGRADE_INTERFACE_VERSIONReturn>
for UnderlyingRustTuple<'_> {
fn from(value: UPGRADE_INTERFACE_VERSIONReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for UPGRADE_INTERFACE_VERSIONReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for UPGRADE_INTERFACE_VERSIONCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::String;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "UPGRADE_INTERFACE_VERSION()";
const SELECTOR: [u8; 4] = [173u8, 60u8, 177u8, 204u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: UPGRADE_INTERFACE_VERSIONReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: UPGRADE_INTERFACE_VERSIONReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `VIRTUAL_ASSETS()` and selector `0xb6608409`.
```solidity
function VIRTUAL_ASSETS() external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct VIRTUAL_ASSETSCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`VIRTUAL_ASSETS()`](VIRTUAL_ASSETSCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct VIRTUAL_ASSETSReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<VIRTUAL_ASSETSCall> for UnderlyingRustTuple<'_> {
fn from(value: VIRTUAL_ASSETSCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for VIRTUAL_ASSETSCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<VIRTUAL_ASSETSReturn>
for UnderlyingRustTuple<'_> {
fn from(value: VIRTUAL_ASSETSReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for VIRTUAL_ASSETSReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for VIRTUAL_ASSETSCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "VIRTUAL_ASSETS()";
const SELECTOR: [u8; 4] = [182u8, 96u8, 132u8, 9u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: VIRTUAL_ASSETSReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: VIRTUAL_ASSETSReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `VIRTUAL_SHARES()` and selector `0x88c47f68`.
```solidity
function VIRTUAL_SHARES() external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct VIRTUAL_SHARESCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`VIRTUAL_SHARES()`](VIRTUAL_SHARESCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct VIRTUAL_SHARESReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<VIRTUAL_SHARESCall> for UnderlyingRustTuple<'_> {
fn from(value: VIRTUAL_SHARESCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for VIRTUAL_SHARESCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<VIRTUAL_SHARESReturn>
for UnderlyingRustTuple<'_> {
fn from(value: VIRTUAL_SHARESReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for VIRTUAL_SHARESReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for VIRTUAL_SHARESCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "VIRTUAL_SHARES()";
const SELECTOR: [u8; 4] = [136u8, 196u8, 127u8, 104u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: VIRTUAL_SHARESReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: VIRTUAL_SHARESReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `blueprintSlashCount(uint64,address)` and selector `0x4e9c929a`.
```solidity
function blueprintSlashCount(uint64, address) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct blueprintSlashCountCall {
#[allow(missing_docs)]
pub _0: u64,
#[allow(missing_docs)]
pub _1: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`blueprintSlashCount(uint64,address)`](blueprintSlashCountCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct blueprintSlashCountReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64, alloy::sol_types::private::Address);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<blueprintSlashCountCall>
for UnderlyingRustTuple<'_> {
fn from(value: blueprintSlashCountCall) -> Self {
(value._0, value._1)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for blueprintSlashCountCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0, _1: tuple.1 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<blueprintSlashCountReturn>
for UnderlyingRustTuple<'_> {
fn from(value: blueprintSlashCountReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for blueprintSlashCountReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for blueprintSlashCountCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "blueprintSlashCount(uint64,address)";
const SELECTOR: [u8; 4] = [78u8, 156u8, 146u8, 154u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self._0),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self._1,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: blueprintSlashCountReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: blueprintSlashCountReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `clearFacetSelectors(bytes4[])` and selector `0xe07dec29`.
```solidity
function clearFacetSelectors(bytes4[] memory selectors) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct clearFacetSelectorsCall {
#[allow(missing_docs)]
pub selectors: alloy::sol_types::private::Vec<
alloy::sol_types::private::FixedBytes<4>,
>,
}
///Container type for the return parameters of the [`clearFacetSelectors(bytes4[])`](clearFacetSelectorsCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct clearFacetSelectorsReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<4>>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<clearFacetSelectorsCall>
for UnderlyingRustTuple<'_> {
fn from(value: clearFacetSelectorsCall) -> Self {
(value.selectors,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for clearFacetSelectorsCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { selectors: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<clearFacetSelectorsReturn>
for UnderlyingRustTuple<'_> {
fn from(value: clearFacetSelectorsReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for clearFacetSelectorsReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl clearFacetSelectorsReturn {
fn _tokenize(
&self,
) -> <clearFacetSelectorsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for clearFacetSelectorsCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = clearFacetSelectorsReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "clearFacetSelectors(bytes4[])";
const SELECTOR: [u8; 4] = [224u8, 125u8, 236u8, 41u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
> as alloy_sol_types::SolType>::tokenize(&self.selectors),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
clearFacetSelectorsReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `currentRound()` and selector `0x8a19c8bc`.
```solidity
function currentRound() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct currentRoundCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`currentRound()`](currentRoundCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct currentRoundReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<currentRoundCall> for UnderlyingRustTuple<'_> {
fn from(value: currentRoundCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for currentRoundCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<currentRoundReturn> for UnderlyingRustTuple<'_> {
fn from(value: currentRoundReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for currentRoundReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for currentRoundCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "currentRound()";
const SELECTOR: [u8; 4] = [138u8, 25u8, 200u8, 188u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: currentRoundReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: currentRoundReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `delegationBondLessDelay()` and selector `0xba05bbf5`.
```solidity
function delegationBondLessDelay() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct delegationBondLessDelayCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`delegationBondLessDelay()`](delegationBondLessDelayCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct delegationBondLessDelayReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<delegationBondLessDelayCall>
for UnderlyingRustTuple<'_> {
fn from(value: delegationBondLessDelayCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for delegationBondLessDelayCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<delegationBondLessDelayReturn>
for UnderlyingRustTuple<'_> {
fn from(value: delegationBondLessDelayReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for delegationBondLessDelayReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for delegationBondLessDelayCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "delegationBondLessDelay()";
const SELECTOR: [u8; 4] = [186u8, 5u8, 187u8, 245u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: delegationBondLessDelayReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: delegationBondLessDelayReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `facetForSelector(bytes4)` and selector `0x90837ff4`.
```solidity
function facetForSelector(bytes4 selector) external view returns (address);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct facetForSelectorCall {
#[allow(missing_docs)]
pub selector: alloy::sol_types::private::FixedBytes<4>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`facetForSelector(bytes4)`](facetForSelectorCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct facetForSelectorReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<4>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<facetForSelectorCall>
for UnderlyingRustTuple<'_> {
fn from(value: facetForSelectorCall) -> Self {
(value.selector,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for facetForSelectorCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { selector: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<facetForSelectorReturn>
for UnderlyingRustTuple<'_> {
fn from(value: facetForSelectorReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for facetForSelectorReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for facetForSelectorCall {
type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::Address;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "facetForSelector(bytes4)";
const SELECTOR: [u8; 4] = [144u8, 131u8, 127u8, 244u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::SolType>::tokenize(&self.selector),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: facetForSelectorReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: facetForSelectorReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getAccumulatedDust(address)` and selector `0x49147411`.
```solidity
function getAccumulatedDust(address token) external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getAccumulatedDustCall {
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getAccumulatedDust(address)`](getAccumulatedDustCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getAccumulatedDustReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getAccumulatedDustCall>
for UnderlyingRustTuple<'_> {
fn from(value: getAccumulatedDustCall) -> Self {
(value.token,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getAccumulatedDustCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { token: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getAccumulatedDustReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getAccumulatedDustReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getAccumulatedDustReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getAccumulatedDustCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getAccumulatedDust(address)";
const SELECTOR: [u8; 4] = [73u8, 20u8, 116u8, 17u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.token,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getAccumulatedDustReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getAccumulatedDustReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getAssetAdapter(address)` and selector `0x8a7fe60f`.
```solidity
function getAssetAdapter(address token) external view returns (address);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getAssetAdapterCall {
#[allow(missing_docs)]
pub token: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getAssetAdapter(address)`](getAssetAdapterCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getAssetAdapterReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::Address,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getAssetAdapterCall> for UnderlyingRustTuple<'_> {
fn from(value: getAssetAdapterCall) -> Self {
(value.token,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getAssetAdapterCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { token: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getAssetAdapterReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getAssetAdapterReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getAssetAdapterReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getAssetAdapterCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::Address;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getAssetAdapter(address)";
const SELECTOR: [u8; 4] = [138u8, 127u8, 230u8, 15u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.token,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getAssetAdapterReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getAssetAdapterReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getOperatorSlashFactor(address,bytes32)` and selector `0x12d91c88`.
```solidity
function getOperatorSlashFactor(address operator, bytes32 assetHash) external view returns (uint256);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getOperatorSlashFactorCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub assetHash: alloy::sol_types::private::FixedBytes<32>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getOperatorSlashFactor(address,bytes32)`](getOperatorSlashFactorCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getOperatorSlashFactorReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::FixedBytes<32>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::FixedBytes<32>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getOperatorSlashFactorCall>
for UnderlyingRustTuple<'_> {
fn from(value: getOperatorSlashFactorCall) -> Self {
(value.operator, value.assetHash)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getOperatorSlashFactorCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
operator: tuple.0,
assetHash: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getOperatorSlashFactorReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getOperatorSlashFactorReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getOperatorSlashFactorReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getOperatorSlashFactorCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::FixedBytes<32>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getOperatorSlashFactor(address,bytes32)";
const SELECTOR: [u8; 4] = [18u8, 217u8, 28u8, 136u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.assetHash),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getOperatorSlashFactorReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getOperatorSlashFactorReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getPendingSlashCount(address)` and selector `0x9480e4dd`.
```solidity
function getPendingSlashCount(address operator) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getPendingSlashCountCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getPendingSlashCount(address)`](getPendingSlashCountCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getPendingSlashCountReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getPendingSlashCountCall>
for UnderlyingRustTuple<'_> {
fn from(value: getPendingSlashCountCall) -> Self {
(value.operator,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getPendingSlashCountCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { operator: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getPendingSlashCountReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getPendingSlashCountReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getPendingSlashCountReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getPendingSlashCountCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getPendingSlashCount(address)";
const SELECTOR: [u8; 4] = [148u8, 128u8, 228u8, 221u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getPendingSlashCountReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getPendingSlashCountReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getRoleAdmin(bytes32)` and selector `0x248a9ca3`.
```solidity
function getRoleAdmin(bytes32 role) external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getRoleAdminCall {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getRoleAdmin(bytes32)`](getRoleAdminCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getRoleAdminReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getRoleAdminCall> for UnderlyingRustTuple<'_> {
fn from(value: getRoleAdminCall) -> Self {
(value.role,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleAdminCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { role: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getRoleAdminReturn> for UnderlyingRustTuple<'_> {
fn from(value: getRoleAdminReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleAdminReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getRoleAdminCall {
type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getRoleAdmin(bytes32)";
const SELECTOR: [u8; 4] = [36u8, 138u8, 156u8, 163u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.role),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getRoleAdminReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getRoleAdminReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSlashCount(address)` and selector `0x66c36875`.
```solidity
function getSlashCount(address operator) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSlashCount(address)`](getSlashCountCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountCall> for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountCall) -> Self {
(value.operator,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSlashCountCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { operator: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountReturn> for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSlashCountReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSlashCountCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSlashCount(address)";
const SELECTOR: [u8; 4] = [102u8, 195u8, 104u8, 117u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSlashCountReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSlashCountReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSlashCountForBlueprint(uint64,address)` and selector `0xc550d938`.
```solidity
function getSlashCountForBlueprint(uint64 blueprintId, address operator) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountForBlueprintCall {
#[allow(missing_docs)]
pub blueprintId: u64,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSlashCountForBlueprint(uint64,address)`](getSlashCountForBlueprintCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountForBlueprintReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64, alloy::sol_types::private::Address);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountForBlueprintCall>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountForBlueprintCall) -> Self {
(value.blueprintId, value.operator)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashCountForBlueprintCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
blueprintId: tuple.0,
operator: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountForBlueprintReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountForBlueprintReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashCountForBlueprintReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSlashCountForBlueprintCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSlashCountForBlueprint(uint64,address)";
const SELECTOR: [u8; 4] = [197u8, 80u8, 217u8, 56u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.blueprintId),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSlashCountForBlueprintReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSlashCountForBlueprintReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSlashCountForService(uint64,address)` and selector `0x72b5032d`.
```solidity
function getSlashCountForService(uint64 serviceId, address operator) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountForServiceCall {
#[allow(missing_docs)]
pub serviceId: u64,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSlashCountForService(uint64,address)`](getSlashCountForServiceCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashCountForServiceReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64, alloy::sol_types::private::Address);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountForServiceCall>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountForServiceCall) -> Self {
(value.serviceId, value.operator)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashCountForServiceCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
serviceId: tuple.0,
operator: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashCountForServiceReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashCountForServiceReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashCountForServiceReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSlashCountForServiceCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSlashCountForService(uint64,address)";
const SELECTOR: [u8; 4] = [114u8, 181u8, 3u8, 45u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.serviceId),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSlashCountForServiceReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSlashCountForServiceReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSlashImpact(address,uint64,address)` and selector `0x9494f426`.
```solidity
function getSlashImpact(address operator, uint64 slashId, address delegator) external view returns (uint256 lostAmount);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashImpactCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub slashId: u64,
#[allow(missing_docs)]
pub delegator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSlashImpact(address,uint64,address)`](getSlashImpactCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashImpactReturn {
#[allow(missing_docs)]
pub lostAmount: alloy::sol_types::private::primitives::aliases::U256,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
u64,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashImpactCall> for UnderlyingRustTuple<'_> {
fn from(value: getSlashImpactCall) -> Self {
(value.operator, value.slashId, value.delegator)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSlashImpactCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
operator: tuple.0,
slashId: tuple.1,
delegator: tuple.2,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::primitives::aliases::U256,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashImpactReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashImpactReturn) -> Self {
(value.lostAmount,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashImpactReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { lostAmount: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSlashImpactCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::primitives::aliases::U256;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSlashImpact(address,uint64,address)";
const SELECTOR: [u8; 4] = [148u8, 148u8, 244u8, 38u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.slashId),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.delegator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSlashImpactReturn = r.into();
r.lostAmount
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSlashImpactReturn = r.into();
r.lostAmount
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSlashRecord(address,uint64)` and selector `0xa457af3d`.
```solidity
function getSlashRecord(address operator, uint64 slashId) external view returns (SlashingManager.SlashRecord memory);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashRecordCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub slashId: u64,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSlashRecord(address,uint64)`](getSlashRecordCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSlashRecordReturn {
#[allow(missing_docs)]
pub _0: <SlashingManager::SlashRecord as alloy::sol_types::SolType>::RustType,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u64);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashRecordCall> for UnderlyingRustTuple<'_> {
fn from(value: getSlashRecordCall) -> Self {
(value.operator, value.slashId)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSlashRecordCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
operator: tuple.0,
slashId: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (SlashingManager::SlashRecord,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
<SlashingManager::SlashRecord as alloy::sol_types::SolType>::RustType,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSlashRecordReturn>
for UnderlyingRustTuple<'_> {
fn from(value: getSlashRecordReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for getSlashRecordReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSlashRecordCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = <SlashingManager::SlashRecord as alloy::sol_types::SolType>::RustType;
type ReturnTuple<'a> = (SlashingManager::SlashRecord,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSlashRecord(address,uint64)";
const SELECTOR: [u8; 4] = [164u8, 87u8, 175u8, 61u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.slashId),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<SlashingManager::SlashRecord as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSlashRecordReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSlashRecordReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `getSnapshot(uint64,address)` and selector `0xc07449e2`.
```solidity
function getSnapshot(uint64 round, address operator) external view returns (Types.OperatorSnapshot memory);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSnapshotCall {
#[allow(missing_docs)]
pub round: u64,
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`getSnapshot(uint64,address)`](getSnapshotCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct getSnapshotReturn {
#[allow(missing_docs)]
pub _0: <Types::OperatorSnapshot as alloy::sol_types::SolType>::RustType,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64, alloy::sol_types::private::Address);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSnapshotCall> for UnderlyingRustTuple<'_> {
fn from(value: getSnapshotCall) -> Self {
(value.round, value.operator)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSnapshotCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
round: tuple.0,
operator: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (Types::OperatorSnapshot,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
<Types::OperatorSnapshot as alloy::sol_types::SolType>::RustType,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<getSnapshotReturn> for UnderlyingRustTuple<'_> {
fn from(value: getSnapshotReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for getSnapshotReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for getSnapshotCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = <Types::OperatorSnapshot as alloy::sol_types::SolType>::RustType;
type ReturnTuple<'a> = (Types::OperatorSnapshot,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "getSnapshot(uint64,address)";
const SELECTOR: [u8; 4] = [192u8, 116u8, 73u8, 226u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.round),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(<Types::OperatorSnapshot as alloy_sol_types::SolType>::tokenize(ret),)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: getSnapshotReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: getSnapshotReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `grantRole(bytes32,address)` and selector `0x2f2ff15d`.
```solidity
function grantRole(bytes32 role, address account) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct grantRoleCall {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
///Container type for the return parameters of the [`grantRole(bytes32,address)`](grantRoleCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct grantRoleReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::FixedBytes<32>,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<grantRoleCall> for UnderlyingRustTuple<'_> {
fn from(value: grantRoleCall) -> Self {
(value.role, value.account)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for grantRoleCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
role: tuple.0,
account: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<grantRoleReturn> for UnderlyingRustTuple<'_> {
fn from(value: grantRoleReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for grantRoleReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl grantRoleReturn {
fn _tokenize(
&self,
) -> <grantRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for grantRoleCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = grantRoleReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "grantRole(bytes32,address)";
const SELECTOR: [u8; 4] = [47u8, 47u8, 241u8, 93u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.role),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
grantRoleReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `hasRole(bytes32,address)` and selector `0x91d14854`.
```solidity
function hasRole(bytes32 role, address account) external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct hasRoleCall {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`hasRole(bytes32,address)`](hasRoleCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct hasRoleReturn {
#[allow(missing_docs)]
pub _0: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::FixedBytes<32>,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<hasRoleCall> for UnderlyingRustTuple<'_> {
fn from(value: hasRoleCall) -> Self {
(value.role, value.account)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for hasRoleCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
role: tuple.0,
account: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<hasRoleReturn> for UnderlyingRustTuple<'_> {
fn from(value: hasRoleReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for hasRoleReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for hasRoleCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = bool;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "hasRole(bytes32,address)";
const SELECTOR: [u8; 4] = [145u8, 209u8, 72u8, 84u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.role),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: hasRoleReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: hasRoleReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `initialize(address,uint256,uint256,uint16)` and selector `0xcbb6d6bd`.
```solidity
function initialize(address admin, uint256 nativeMinOperatorStake, uint256 nativeMinDelegation, uint16 _operatorCommissionBps) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct initializeCall {
#[allow(missing_docs)]
pub admin: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub nativeMinOperatorStake: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub nativeMinDelegation: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub _operatorCommissionBps: u16,
}
///Container type for the return parameters of the [`initialize(address,uint256,uint256,uint16)`](initializeCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct initializeReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<16>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
u16,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<initializeCall> for UnderlyingRustTuple<'_> {
fn from(value: initializeCall) -> Self {
(
value.admin,
value.nativeMinOperatorStake,
value.nativeMinDelegation,
value._operatorCommissionBps,
)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
admin: tuple.0,
nativeMinOperatorStake: tuple.1,
nativeMinDelegation: tuple.2,
_operatorCommissionBps: tuple.3,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<initializeReturn> for UnderlyingRustTuple<'_> {
fn from(value: initializeReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for initializeReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl initializeReturn {
fn _tokenize(
&self,
) -> <initializeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for initializeCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<16>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = initializeReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "initialize(address,uint256,uint256,uint16)";
const SELECTOR: [u8; 4] = [203u8, 182u8, 214u8, 189u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.admin,
),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(
&self.nativeMinOperatorStake,
),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.nativeMinDelegation),
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(
&self._operatorCommissionBps,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
initializeReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `lastRoundAdvance()` and selector `0x05d64e38`.
```solidity
function lastRoundAdvance() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct lastRoundAdvanceCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`lastRoundAdvance()`](lastRoundAdvanceCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct lastRoundAdvanceReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<lastRoundAdvanceCall>
for UnderlyingRustTuple<'_> {
fn from(value: lastRoundAdvanceCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for lastRoundAdvanceCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<lastRoundAdvanceReturn>
for UnderlyingRustTuple<'_> {
fn from(value: lastRoundAdvanceReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for lastRoundAdvanceReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for lastRoundAdvanceCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "lastRoundAdvance()";
const SELECTOR: [u8; 4] = [5u8, 214u8, 78u8, 56u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: lastRoundAdvanceReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: lastRoundAdvanceReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `leaveDelegatorsDelay()` and selector `0xdb8a173a`.
```solidity
function leaveDelegatorsDelay() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct leaveDelegatorsDelayCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`leaveDelegatorsDelay()`](leaveDelegatorsDelayCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct leaveDelegatorsDelayReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<leaveDelegatorsDelayCall>
for UnderlyingRustTuple<'_> {
fn from(value: leaveDelegatorsDelayCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for leaveDelegatorsDelayCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<leaveDelegatorsDelayReturn>
for UnderlyingRustTuple<'_> {
fn from(value: leaveDelegatorsDelayReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for leaveDelegatorsDelayReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for leaveDelegatorsDelayCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "leaveDelegatorsDelay()";
const SELECTOR: [u8; 4] = [219u8, 138u8, 23u8, 58u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: leaveDelegatorsDelayReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: leaveDelegatorsDelayReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `leaveOperatorsDelay()` and selector `0x4de8addc`.
```solidity
function leaveOperatorsDelay() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct leaveOperatorsDelayCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`leaveOperatorsDelay()`](leaveOperatorsDelayCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct leaveOperatorsDelayReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<leaveOperatorsDelayCall>
for UnderlyingRustTuple<'_> {
fn from(value: leaveOperatorsDelayCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for leaveOperatorsDelayCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<leaveOperatorsDelayReturn>
for UnderlyingRustTuple<'_> {
fn from(value: leaveOperatorsDelayReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for leaveOperatorsDelayReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for leaveOperatorsDelayCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "leaveOperatorsDelay()";
const SELECTOR: [u8; 4] = [77u8, 232u8, 173u8, 220u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: leaveOperatorsDelayReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: leaveOperatorsDelayReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `nativeEnabled()` and selector `0x77ab2cf3`.
```solidity
function nativeEnabled() external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct nativeEnabledCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`nativeEnabled()`](nativeEnabledCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct nativeEnabledReturn {
#[allow(missing_docs)]
pub _0: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<nativeEnabledCall> for UnderlyingRustTuple<'_> {
fn from(value: nativeEnabledCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for nativeEnabledCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<nativeEnabledReturn> for UnderlyingRustTuple<'_> {
fn from(value: nativeEnabledReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for nativeEnabledReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for nativeEnabledCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = bool;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "nativeEnabled()";
const SELECTOR: [u8; 4] = [119u8, 171u8, 44u8, 243u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: nativeEnabledReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: nativeEnabledReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `nextSlashId(address)` and selector `0x96085673`.
```solidity
function nextSlashId(address) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct nextSlashIdCall(pub alloy::sol_types::private::Address);
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`nextSlashId(address)`](nextSlashIdCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct nextSlashIdReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<nextSlashIdCall> for UnderlyingRustTuple<'_> {
fn from(value: nextSlashIdCall) -> Self {
(value.0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for nextSlashIdCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self(tuple.0)
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<nextSlashIdReturn> for UnderlyingRustTuple<'_> {
fn from(value: nextSlashIdReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for nextSlashIdReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for nextSlashIdCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "nextSlashId(address)";
const SELECTOR: [u8; 4] = [150u8, 8u8, 86u8, 115u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.0,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: nextSlashIdReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: nextSlashIdReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `operatorCommissionBps()` and selector `0x32273f61`.
```solidity
function operatorCommissionBps() external view returns (uint16);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct operatorCommissionBpsCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`operatorCommissionBps()`](operatorCommissionBpsCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct operatorCommissionBpsReturn {
#[allow(missing_docs)]
pub _0: u16,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<operatorCommissionBpsCall>
for UnderlyingRustTuple<'_> {
fn from(value: operatorCommissionBpsCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for operatorCommissionBpsCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u16,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<operatorCommissionBpsReturn>
for UnderlyingRustTuple<'_> {
fn from(value: operatorCommissionBpsReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for operatorCommissionBpsReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for operatorCommissionBpsCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u16;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<16>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "operatorCommissionBps()";
const SELECTOR: [u8; 4] = [50u8, 39u8, 63u8, 97u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: operatorCommissionBpsReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: operatorCommissionBpsReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `paused()` and selector `0x5c975abb`.
```solidity
function paused() external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct pausedCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`paused()`](pausedCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct pausedReturn {
#[allow(missing_docs)]
pub _0: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<pausedCall> for UnderlyingRustTuple<'_> {
fn from(value: pausedCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for pausedCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<pausedReturn> for UnderlyingRustTuple<'_> {
fn from(value: pausedReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for pausedReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for pausedCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = bool;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "paused()";
const SELECTOR: [u8; 4] = [92u8, 151u8, 90u8, 187u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: pausedReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: pausedReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `proxiableUUID()` and selector `0x52d1902d`.
```solidity
function proxiableUUID() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct proxiableUUIDCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`proxiableUUID()`](proxiableUUIDCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct proxiableUUIDReturn {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<proxiableUUIDCall> for UnderlyingRustTuple<'_> {
fn from(value: proxiableUUIDCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<proxiableUUIDReturn> for UnderlyingRustTuple<'_> {
fn from(value: proxiableUUIDReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for proxiableUUIDReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for proxiableUUIDCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = alloy::sol_types::private::FixedBytes<32>;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "proxiableUUID()";
const SELECTOR: [u8; 4] = [82u8, 209u8, 144u8, 45u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: proxiableUUIDReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: proxiableUUIDReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `registerFacet(address)` and selector `0x46d163aa`.
```solidity
function registerFacet(address facet) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct registerFacetCall {
#[allow(missing_docs)]
pub facet: alloy::sol_types::private::Address,
}
///Container type for the return parameters of the [`registerFacet(address)`](registerFacetCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct registerFacetReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<registerFacetCall> for UnderlyingRustTuple<'_> {
fn from(value: registerFacetCall) -> Self {
(value.facet,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerFacetCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { facet: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<registerFacetReturn> for UnderlyingRustTuple<'_> {
fn from(value: registerFacetReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for registerFacetReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl registerFacetReturn {
fn _tokenize(
&self,
) -> <registerFacetCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for registerFacetCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = registerFacetReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "registerFacet(address)";
const SELECTOR: [u8; 4] = [70u8, 209u8, 99u8, 170u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.facet,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
registerFacetReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `registerFacetSelectors(address,bytes4[])` and selector `0x19e82e61`.
```solidity
function registerFacetSelectors(address facet, bytes4[] memory selectors) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct registerFacetSelectorsCall {
#[allow(missing_docs)]
pub facet: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub selectors: alloy::sol_types::private::Vec<
alloy::sol_types::private::FixedBytes<4>,
>,
}
///Container type for the return parameters of the [`registerFacetSelectors(address,bytes4[])`](registerFacetSelectorsCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct registerFacetSelectorsReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::Vec<alloy::sol_types::private::FixedBytes<4>>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<registerFacetSelectorsCall>
for UnderlyingRustTuple<'_> {
fn from(value: registerFacetSelectorsCall) -> Self {
(value.facet, value.selectors)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for registerFacetSelectorsCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
facet: tuple.0,
selectors: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<registerFacetSelectorsReturn>
for UnderlyingRustTuple<'_> {
fn from(value: registerFacetSelectorsReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for registerFacetSelectorsReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl registerFacetSelectorsReturn {
fn _tokenize(
&self,
) -> <registerFacetSelectorsCall as alloy_sol_types::SolCall>::ReturnToken<
'_,
> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for registerFacetSelectorsCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = registerFacetSelectorsReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "registerFacetSelectors(address,bytes4[])";
const SELECTOR: [u8; 4] = [25u8, 232u8, 46u8, 97u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.facet,
),
<alloy::sol_types::sol_data::Array<
alloy::sol_types::sol_data::FixedBytes<4>,
> as alloy_sol_types::SolType>::tokenize(&self.selectors),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
registerFacetSelectorsReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `renounceRole(bytes32,address)` and selector `0x36568abe`.
```solidity
function renounceRole(bytes32 role, address callerConfirmation) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct renounceRoleCall {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub callerConfirmation: alloy::sol_types::private::Address,
}
///Container type for the return parameters of the [`renounceRole(bytes32,address)`](renounceRoleCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct renounceRoleReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::FixedBytes<32>,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<renounceRoleCall> for UnderlyingRustTuple<'_> {
fn from(value: renounceRoleCall) -> Self {
(value.role, value.callerConfirmation)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for renounceRoleCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
role: tuple.0,
callerConfirmation: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<renounceRoleReturn> for UnderlyingRustTuple<'_> {
fn from(value: renounceRoleReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for renounceRoleReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl renounceRoleReturn {
fn _tokenize(
&self,
) -> <renounceRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for renounceRoleCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = renounceRoleReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "renounceRole(bytes32,address)";
const SELECTOR: [u8; 4] = [54u8, 86u8, 138u8, 190u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.role),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.callerConfirmation,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
renounceRoleReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `requireAdapters()` and selector `0xb54b2b9e`.
```solidity
function requireAdapters() external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct requireAdaptersCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`requireAdapters()`](requireAdaptersCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct requireAdaptersReturn {
#[allow(missing_docs)]
pub _0: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<requireAdaptersCall> for UnderlyingRustTuple<'_> {
fn from(value: requireAdaptersCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for requireAdaptersCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<requireAdaptersReturn>
for UnderlyingRustTuple<'_> {
fn from(value: requireAdaptersReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for requireAdaptersReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for requireAdaptersCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = bool;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "requireAdapters()";
const SELECTOR: [u8; 4] = [181u8, 75u8, 43u8, 158u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: requireAdaptersReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: requireAdaptersReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `resetPendingSlashCount(address,uint64)` and selector `0xe27e05c1`.
```solidity
function resetPendingSlashCount(address operator, uint64 count) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct resetPendingSlashCountCall {
#[allow(missing_docs)]
pub operator: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub count: u64,
}
///Container type for the return parameters of the [`resetPendingSlashCount(address,uint64)`](resetPendingSlashCountCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct resetPendingSlashCountReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u64);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<resetPendingSlashCountCall>
for UnderlyingRustTuple<'_> {
fn from(value: resetPendingSlashCountCall) -> Self {
(value.operator, value.count)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for resetPendingSlashCountCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
operator: tuple.0,
count: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<resetPendingSlashCountReturn>
for UnderlyingRustTuple<'_> {
fn from(value: resetPendingSlashCountReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for resetPendingSlashCountReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl resetPendingSlashCountReturn {
fn _tokenize(
&self,
) -> <resetPendingSlashCountCall as alloy_sol_types::SolCall>::ReturnToken<
'_,
> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for resetPendingSlashCountCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = resetPendingSlashCountReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "resetPendingSlashCount(address,uint64)";
const SELECTOR: [u8; 4] = [226u8, 126u8, 5u8, 193u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.operator,
),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.count),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
resetPendingSlashCountReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `revokeRole(bytes32,address)` and selector `0xd547741f`.
```solidity
function revokeRole(bytes32 role, address account) external;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct revokeRoleCall {
#[allow(missing_docs)]
pub role: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub account: alloy::sol_types::private::Address,
}
///Container type for the return parameters of the [`revokeRole(bytes32,address)`](revokeRoleCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct revokeRoleReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::FixedBytes<32>,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<revokeRoleCall> for UnderlyingRustTuple<'_> {
fn from(value: revokeRoleCall) -> Self {
(value.role, value.account)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeRoleCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
role: tuple.0,
account: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<revokeRoleReturn> for UnderlyingRustTuple<'_> {
fn from(value: revokeRoleReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeRoleReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl revokeRoleReturn {
fn _tokenize(
&self,
) -> <revokeRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for revokeRoleCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = revokeRoleReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "revokeRole(bytes32,address)";
const SELECTOR: [u8; 4] = [213u8, 71u8, 116u8, 31u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.role),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.account,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
revokeRoleReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `roundDuration()` and selector `0xf7cb789a`.
```solidity
function roundDuration() external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct roundDurationCall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`roundDuration()`](roundDurationCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct roundDurationReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<roundDurationCall> for UnderlyingRustTuple<'_> {
fn from(value: roundDurationCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for roundDurationCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<roundDurationReturn> for UnderlyingRustTuple<'_> {
fn from(value: roundDurationReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for roundDurationReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for roundDurationCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "roundDuration()";
const SELECTOR: [u8; 4] = [247u8, 203u8, 120u8, 154u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: roundDurationReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: roundDurationReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `serviceSlashCount(uint64,address)` and selector `0x9722f4b9`.
```solidity
function serviceSlashCount(uint64, address) external view returns (uint64);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct serviceSlashCountCall {
#[allow(missing_docs)]
pub _0: u64,
#[allow(missing_docs)]
pub _1: alloy::sol_types::private::Address,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`serviceSlashCount(uint64,address)`](serviceSlashCountCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct serviceSlashCountReturn {
#[allow(missing_docs)]
pub _0: u64,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64, alloy::sol_types::private::Address);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<serviceSlashCountCall>
for UnderlyingRustTuple<'_> {
fn from(value: serviceSlashCountCall) -> Self {
(value._0, value._1)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for serviceSlashCountCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0, _1: tuple.1 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (u64,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<serviceSlashCountReturn>
for UnderlyingRustTuple<'_> {
fn from(value: serviceSlashCountReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for serviceSlashCountReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for serviceSlashCountCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Address,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = u64;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<64>,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "serviceSlashCount(uint64,address)";
const SELECTOR: [u8; 4] = [151u8, 34u8, 244u8, 185u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self._0),
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self._1,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(ret),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: serviceSlashCountReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: serviceSlashCountReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `slashHistory(address,uint64)` and selector `0x0aa8b110`.
```solidity
function slashHistory(address, uint64) external view returns (uint64 round, uint64 serviceId, uint64 blueprintId, bytes32 assetHash, uint16 slashBps, uint256 totalSlashed, uint256 exchangeRateBefore, uint256 exchangeRateAfter, bytes32 evidence);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct slashHistoryCall {
#[allow(missing_docs)]
pub _0: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub _1: u64,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`slashHistory(address,uint64)`](slashHistoryCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct slashHistoryReturn {
#[allow(missing_docs)]
pub round: u64,
#[allow(missing_docs)]
pub serviceId: u64,
#[allow(missing_docs)]
pub blueprintId: u64,
#[allow(missing_docs)]
pub assetHash: alloy::sol_types::private::FixedBytes<32>,
#[allow(missing_docs)]
pub slashBps: u16,
#[allow(missing_docs)]
pub totalSlashed: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateBefore: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub exchangeRateAfter: alloy::sol_types::private::primitives::aliases::U256,
#[allow(missing_docs)]
pub evidence: alloy::sol_types::private::FixedBytes<32>,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u64);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<slashHistoryCall> for UnderlyingRustTuple<'_> {
fn from(value: slashHistoryCall) -> Self {
(value._0, value._1)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashHistoryCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0, _1: tuple.1 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Uint<16>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::FixedBytes<32>,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
u64,
u64,
u64,
alloy::sol_types::private::FixedBytes<32>,
u16,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::primitives::aliases::U256,
alloy::sol_types::private::FixedBytes<32>,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<slashHistoryReturn> for UnderlyingRustTuple<'_> {
fn from(value: slashHistoryReturn) -> Self {
(
value.round,
value.serviceId,
value.blueprintId,
value.assetHash,
value.slashBps,
value.totalSlashed,
value.exchangeRateBefore,
value.exchangeRateAfter,
value.evidence,
)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for slashHistoryReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
round: tuple.0,
serviceId: tuple.1,
blueprintId: tuple.2,
assetHash: tuple.3,
slashBps: tuple.4,
totalSlashed: tuple.5,
exchangeRateBefore: tuple.6,
exchangeRateAfter: tuple.7,
evidence: tuple.8,
}
}
}
}
impl slashHistoryReturn {
fn _tokenize(
&self,
) -> <slashHistoryCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.round),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.serviceId),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self.blueprintId),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.assetHash),
<alloy::sol_types::sol_data::Uint<
16,
> as alloy_sol_types::SolType>::tokenize(&self.slashBps),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.totalSlashed),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateBefore),
<alloy::sol_types::sol_data::Uint<
256,
> as alloy_sol_types::SolType>::tokenize(&self.exchangeRateAfter),
<alloy::sol_types::sol_data::FixedBytes<
32,
> as alloy_sol_types::SolType>::tokenize(&self.evidence),
)
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for slashHistoryCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Uint<64>,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = slashHistoryReturn;
type ReturnTuple<'a> = (
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::Uint<64>,
alloy::sol_types::sol_data::FixedBytes<32>,
alloy::sol_types::sol_data::Uint<16>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::Uint<256>,
alloy::sol_types::sol_data::FixedBytes<32>,
);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "slashHistory(address,uint64)";
const SELECTOR: [u8; 4] = [10u8, 168u8, 177u8, 16u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self._0,
),
<alloy::sol_types::sol_data::Uint<
64,
> as alloy_sol_types::SolType>::tokenize(&self._1),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
slashHistoryReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`.
```solidity
function supportsInterface(bytes4 interfaceId) external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct supportsInterfaceCall {
#[allow(missing_docs)]
pub interfaceId: alloy::sol_types::private::FixedBytes<4>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`supportsInterface(bytes4)`](supportsInterfaceCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct supportsInterfaceReturn {
#[allow(missing_docs)]
pub _0: bool,
}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<4>,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<supportsInterfaceCall>
for UnderlyingRustTuple<'_> {
fn from(value: supportsInterfaceCall) -> Self {
(value.interfaceId,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for supportsInterfaceCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { interfaceId: tuple.0 }
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<supportsInterfaceReturn>
for UnderlyingRustTuple<'_> {
fn from(value: supportsInterfaceReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for supportsInterfaceReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for supportsInterfaceCall {
type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = bool;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "supportsInterface(bytes4)";
const SELECTOR: [u8; 4] = [1u8, 255u8, 201u8, 167u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::FixedBytes<
4,
> as alloy_sol_types::SolType>::tokenize(&self.interfaceId),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
(
<alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
ret,
),
)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(|r| {
let r: supportsInterfaceReturn = r.into();
r._0
})
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(|r| {
let r: supportsInterfaceReturn = r.into();
r._0
})
}
}
};
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
/**Function with signature `upgradeToAndCall(address,bytes)` and selector `0x4f1ef286`.
```solidity
function upgradeToAndCall(address newImplementation, bytes memory data) external payable;
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct upgradeToAndCallCall {
#[allow(missing_docs)]
pub newImplementation: alloy::sol_types::private::Address,
#[allow(missing_docs)]
pub data: alloy::sol_types::private::Bytes,
}
///Container type for the return parameters of the [`upgradeToAndCall(address,bytes)`](upgradeToAndCallCall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct upgradeToAndCallReturn {}
#[allow(
non_camel_case_types,
non_snake_case,
clippy::pub_underscore_fields,
clippy::style
)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Bytes,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::Bytes,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<upgradeToAndCallCall>
for UnderlyingRustTuple<'_> {
fn from(value: upgradeToAndCallCall) -> Self {
(value.newImplementation, value.data)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for upgradeToAndCallCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
newImplementation: tuple.0,
data: tuple.1,
}
}
}
}
{
#[doc(hidden)]
#[allow(dead_code)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<upgradeToAndCallReturn>
for UnderlyingRustTuple<'_> {
fn from(value: upgradeToAndCallReturn) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>>
for upgradeToAndCallReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
impl upgradeToAndCallReturn {
fn _tokenize(
&self,
) -> <upgradeToAndCallCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
()
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for upgradeToAndCallCall {
type Parameters<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Bytes,
);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = upgradeToAndCallReturn;
type ReturnTuple<'a> = ();
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "upgradeToAndCall(address,bytes)";
const SELECTOR: [u8; 4] = [79u8, 30u8, 242u8, 134u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.newImplementation,
),
<alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
&self.data,
),
)
}
#[inline]
fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
upgradeToAndCallReturn::_tokenize(ret)
}
#[inline]
fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data)
.map(Into::into)
}
#[inline]
fn abi_decode_returns_validate(
data: &[u8],
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
.map(Into::into)
}
}
};
///Container for all the [`MultiAssetDelegation`](self) function calls.
#[derive(Clone)]
#[derive(serde::Serialize, serde::Deserialize)]
#[derive()]
pub enum MultiAssetDelegationCalls {
#[allow(missing_docs)]
ADMIN_ROLE(ADMIN_ROLECall),
#[allow(missing_docs)]
ASSET_MANAGER_ROLE(ASSET_MANAGER_ROLECall),
#[allow(missing_docs)]
BPS_DENOMINATOR(BPS_DENOMINATORCall),
#[allow(missing_docs)]
COMMISSION_CHANGE_DELAY(COMMISSION_CHANGE_DELAYCall),
#[allow(missing_docs)]
DEFAULT_ADMIN_ROLE(DEFAULT_ADMIN_ROLECall),
#[allow(missing_docs)]
LOCK_ONE_MONTH(LOCK_ONE_MONTHCall),
#[allow(missing_docs)]
LOCK_SIX_MONTHS(LOCK_SIX_MONTHSCall),
#[allow(missing_docs)]
LOCK_THREE_MONTHS(LOCK_THREE_MONTHSCall),
#[allow(missing_docs)]
LOCK_TWO_MONTHS(LOCK_TWO_MONTHSCall),
#[allow(missing_docs)]
MIN_LOCK_AMOUNT(MIN_LOCK_AMOUNTCall),
#[allow(missing_docs)]
MULTIPLIER_NONE(MULTIPLIER_NONECall),
#[allow(missing_docs)]
MULTIPLIER_ONE_MONTH(MULTIPLIER_ONE_MONTHCall),
#[allow(missing_docs)]
MULTIPLIER_SIX_MONTHS(MULTIPLIER_SIX_MONTHSCall),
#[allow(missing_docs)]
MULTIPLIER_THREE_MONTHS(MULTIPLIER_THREE_MONTHSCall),
#[allow(missing_docs)]
MULTIPLIER_TWO_MONTHS(MULTIPLIER_TWO_MONTHSCall),
#[allow(missing_docs)]
PRECISION(PRECISIONCall),
#[allow(missing_docs)]
SLASHER_ROLE(SLASHER_ROLECall),
#[allow(missing_docs)]
TANGLE_ROLE(TANGLE_ROLECall),
#[allow(missing_docs)]
UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall),
#[allow(missing_docs)]
VIRTUAL_ASSETS(VIRTUAL_ASSETSCall),
#[allow(missing_docs)]
VIRTUAL_SHARES(VIRTUAL_SHARESCall),
#[allow(missing_docs)]
blueprintSlashCount(blueprintSlashCountCall),
#[allow(missing_docs)]
clearFacetSelectors(clearFacetSelectorsCall),
#[allow(missing_docs)]
currentRound(currentRoundCall),
#[allow(missing_docs)]
delegationBondLessDelay(delegationBondLessDelayCall),
#[allow(missing_docs)]
facetForSelector(facetForSelectorCall),
#[allow(missing_docs)]
getAccumulatedDust(getAccumulatedDustCall),
#[allow(missing_docs)]
getAssetAdapter(getAssetAdapterCall),
#[allow(missing_docs)]
getOperatorSlashFactor(getOperatorSlashFactorCall),
#[allow(missing_docs)]
getPendingSlashCount(getPendingSlashCountCall),
#[allow(missing_docs)]
getRoleAdmin(getRoleAdminCall),
#[allow(missing_docs)]
getSlashCount(getSlashCountCall),
#[allow(missing_docs)]
getSlashCountForBlueprint(getSlashCountForBlueprintCall),
#[allow(missing_docs)]
getSlashCountForService(getSlashCountForServiceCall),
#[allow(missing_docs)]
getSlashImpact(getSlashImpactCall),
#[allow(missing_docs)]
getSlashRecord(getSlashRecordCall),
#[allow(missing_docs)]
getSnapshot(getSnapshotCall),
#[allow(missing_docs)]
grantRole(grantRoleCall),
#[allow(missing_docs)]
hasRole(hasRoleCall),
#[allow(missing_docs)]
initialize(initializeCall),
#[allow(missing_docs)]
lastRoundAdvance(lastRoundAdvanceCall),
#[allow(missing_docs)]
leaveDelegatorsDelay(leaveDelegatorsDelayCall),
#[allow(missing_docs)]
leaveOperatorsDelay(leaveOperatorsDelayCall),
#[allow(missing_docs)]
nativeEnabled(nativeEnabledCall),
#[allow(missing_docs)]
nextSlashId(nextSlashIdCall),
#[allow(missing_docs)]
operatorCommissionBps(operatorCommissionBpsCall),
#[allow(missing_docs)]
paused(pausedCall),
#[allow(missing_docs)]
proxiableUUID(proxiableUUIDCall),
#[allow(missing_docs)]
registerFacet(registerFacetCall),
#[allow(missing_docs)]
registerFacetSelectors(registerFacetSelectorsCall),
#[allow(missing_docs)]
renounceRole(renounceRoleCall),
#[allow(missing_docs)]
requireAdapters(requireAdaptersCall),
#[allow(missing_docs)]
resetPendingSlashCount(resetPendingSlashCountCall),
#[allow(missing_docs)]
revokeRole(revokeRoleCall),
#[allow(missing_docs)]
roundDuration(roundDurationCall),
#[allow(missing_docs)]
serviceSlashCount(serviceSlashCountCall),
#[allow(missing_docs)]
slashHistory(slashHistoryCall),
#[allow(missing_docs)]
supportsInterface(supportsInterfaceCall),
#[allow(missing_docs)]
upgradeToAndCall(upgradeToAndCallCall),
}
impl MultiAssetDelegationCalls {
/// All the selectors of this enum.
///
/// Note that the selectors might not be in the same order as the variants.
/// No guarantees are made about the order of the selectors.
///
/// Prefer using `SolInterface` methods instead.
pub const SELECTORS: &'static [[u8; 4usize]] = &[
[1u8, 255u8, 201u8, 167u8],
[5u8, 214u8, 78u8, 56u8],
[10u8, 168u8, 177u8, 16u8],
[18u8, 217u8, 28u8, 136u8],
[24u8, 5u8, 109u8, 194u8],
[25u8, 232u8, 46u8, 97u8],
[36u8, 138u8, 156u8, 163u8],
[47u8, 47u8, 241u8, 93u8],
[50u8, 39u8, 63u8, 97u8],
[54u8, 86u8, 138u8, 190u8],
[69u8, 62u8, 204u8, 234u8],
[70u8, 209u8, 99u8, 170u8],
[73u8, 20u8, 116u8, 17u8],
[73u8, 98u8, 248u8, 143u8],
[77u8, 232u8, 173u8, 220u8],
[78u8, 156u8, 146u8, 154u8],
[79u8, 30u8, 242u8, 134u8],
[80u8, 149u8, 175u8, 100u8],
[82u8, 209u8, 144u8, 45u8],
[84u8, 222u8, 35u8, 32u8],
[92u8, 151u8, 90u8, 187u8],
[96u8, 35u8, 86u8, 227u8],
[102u8, 195u8, 104u8, 117u8],
[114u8, 181u8, 3u8, 45u8],
[117u8, 178u8, 56u8, 252u8],
[119u8, 171u8, 44u8, 243u8],
[125u8, 249u8, 42u8, 218u8],
[136u8, 196u8, 127u8, 104u8],
[138u8, 25u8, 200u8, 188u8],
[138u8, 127u8, 230u8, 15u8],
[144u8, 131u8, 127u8, 244u8],
[145u8, 209u8, 72u8, 84u8],
[148u8, 128u8, 228u8, 221u8],
[148u8, 148u8, 244u8, 38u8],
[150u8, 8u8, 86u8, 115u8],
[151u8, 34u8, 244u8, 185u8],
[158u8, 135u8, 5u8, 133u8],
[162u8, 23u8, 253u8, 223u8],
[164u8, 87u8, 175u8, 61u8],
[164u8, 179u8, 45u8, 232u8],
[167u8, 250u8, 111u8, 152u8],
[170u8, 245u8, 235u8, 104u8],
[173u8, 60u8, 177u8, 204u8],
[181u8, 75u8, 43u8, 158u8],
[182u8, 96u8, 132u8, 9u8],
[186u8, 5u8, 187u8, 245u8],
[192u8, 116u8, 73u8, 226u8],
[197u8, 80u8, 217u8, 56u8],
[203u8, 182u8, 214u8, 189u8],
[210u8, 122u8, 111u8, 6u8],
[212u8, 95u8, 245u8, 130u8],
[213u8, 71u8, 116u8, 31u8],
[219u8, 138u8, 23u8, 58u8],
[221u8, 118u8, 74u8, 191u8],
[224u8, 125u8, 236u8, 41u8],
[225u8, 164u8, 82u8, 24u8],
[226u8, 126u8, 5u8, 193u8],
[243u8, 201u8, 179u8, 17u8],
[247u8, 203u8, 120u8, 154u8],
];
/// The names of the variants in the same order as `SELECTORS`.
pub const VARIANT_NAMES: &'static [&'static str] = &[
::core::stringify!(supportsInterface),
::core::stringify!(lastRoundAdvance),
::core::stringify!(slashHistory),
::core::stringify!(getOperatorSlashFactor),
::core::stringify!(MULTIPLIER_ONE_MONTH),
::core::stringify!(registerFacetSelectors),
::core::stringify!(getRoleAdmin),
::core::stringify!(grantRole),
::core::stringify!(operatorCommissionBps),
::core::stringify!(renounceRole),
::core::stringify!(MULTIPLIER_SIX_MONTHS),
::core::stringify!(registerFacet),
::core::stringify!(getAccumulatedDust),
::core::stringify!(MULTIPLIER_NONE),
::core::stringify!(leaveOperatorsDelay),
::core::stringify!(blueprintSlashCount),
::core::stringify!(upgradeToAndCall),
::core::stringify!(SLASHER_ROLE),
::core::stringify!(proxiableUUID),
::core::stringify!(MULTIPLIER_TWO_MONTHS),
::core::stringify!(paused),
::core::stringify!(TANGLE_ROLE),
::core::stringify!(getSlashCount),
::core::stringify!(getSlashCountForService),
::core::stringify!(ADMIN_ROLE),
::core::stringify!(nativeEnabled),
::core::stringify!(LOCK_TWO_MONTHS),
::core::stringify!(VIRTUAL_SHARES),
::core::stringify!(currentRound),
::core::stringify!(getAssetAdapter),
::core::stringify!(facetForSelector),
::core::stringify!(hasRole),
::core::stringify!(getPendingSlashCount),
::core::stringify!(getSlashImpact),
::core::stringify!(nextSlashId),
::core::stringify!(serviceSlashCount),
::core::stringify!(LOCK_ONE_MONTH),
::core::stringify!(DEFAULT_ADMIN_ROLE),
::core::stringify!(getSlashRecord),
::core::stringify!(ASSET_MANAGER_ROLE),
::core::stringify!(MULTIPLIER_THREE_MONTHS),
::core::stringify!(PRECISION),
::core::stringify!(UPGRADE_INTERFACE_VERSION),
::core::stringify!(requireAdapters),
::core::stringify!(VIRTUAL_ASSETS),
::core::stringify!(delegationBondLessDelay),
::core::stringify!(getSnapshot),
::core::stringify!(getSlashCountForBlueprint),
::core::stringify!(initialize),
::core::stringify!(LOCK_THREE_MONTHS),
::core::stringify!(COMMISSION_CHANGE_DELAY),
::core::stringify!(revokeRole),
::core::stringify!(leaveDelegatorsDelay),
::core::stringify!(MIN_LOCK_AMOUNT),
::core::stringify!(clearFacetSelectors),
::core::stringify!(BPS_DENOMINATOR),
::core::stringify!(resetPendingSlashCount),
::core::stringify!(LOCK_SIX_MONTHS),
::core::stringify!(roundDuration),
];
/// The signatures in the same order as `SELECTORS`.
pub const SIGNATURES: &'static [&'static str] = &[
<supportsInterfaceCall as alloy_sol_types::SolCall>::SIGNATURE,
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::SIGNATURE,
<slashHistoryCall as alloy_sol_types::SolCall>::SIGNATURE,
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::SIGNATURE,
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::SIGNATURE,
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::SIGNATURE,
<getRoleAdminCall as alloy_sol_types::SolCall>::SIGNATURE,
<grantRoleCall as alloy_sol_types::SolCall>::SIGNATURE,
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::SIGNATURE,
<renounceRoleCall as alloy_sol_types::SolCall>::SIGNATURE,
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<registerFacetCall as alloy_sol_types::SolCall>::SIGNATURE,
<getAccumulatedDustCall as alloy_sol_types::SolCall>::SIGNATURE,
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::SIGNATURE,
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::SIGNATURE,
<blueprintSlashCountCall as alloy_sol_types::SolCall>::SIGNATURE,
<upgradeToAndCallCall as alloy_sol_types::SolCall>::SIGNATURE,
<SLASHER_ROLECall as alloy_sol_types::SolCall>::SIGNATURE,
<proxiableUUIDCall as alloy_sol_types::SolCall>::SIGNATURE,
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<pausedCall as alloy_sol_types::SolCall>::SIGNATURE,
<TANGLE_ROLECall as alloy_sol_types::SolCall>::SIGNATURE,
<getSlashCountCall as alloy_sol_types::SolCall>::SIGNATURE,
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::SIGNATURE,
<ADMIN_ROLECall as alloy_sol_types::SolCall>::SIGNATURE,
<nativeEnabledCall as alloy_sol_types::SolCall>::SIGNATURE,
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::SIGNATURE,
<currentRoundCall as alloy_sol_types::SolCall>::SIGNATURE,
<getAssetAdapterCall as alloy_sol_types::SolCall>::SIGNATURE,
<facetForSelectorCall as alloy_sol_types::SolCall>::SIGNATURE,
<hasRoleCall as alloy_sol_types::SolCall>::SIGNATURE,
<getPendingSlashCountCall as alloy_sol_types::SolCall>::SIGNATURE,
<getSlashImpactCall as alloy_sol_types::SolCall>::SIGNATURE,
<nextSlashIdCall as alloy_sol_types::SolCall>::SIGNATURE,
<serviceSlashCountCall as alloy_sol_types::SolCall>::SIGNATURE,
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::SIGNATURE,
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::SIGNATURE,
<getSlashRecordCall as alloy_sol_types::SolCall>::SIGNATURE,
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::SIGNATURE,
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<PRECISIONCall as alloy_sol_types::SolCall>::SIGNATURE,
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::SIGNATURE,
<requireAdaptersCall as alloy_sol_types::SolCall>::SIGNATURE,
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::SIGNATURE,
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::SIGNATURE,
<getSnapshotCall as alloy_sol_types::SolCall>::SIGNATURE,
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::SIGNATURE,
<initializeCall as alloy_sol_types::SolCall>::SIGNATURE,
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::SIGNATURE,
<revokeRoleCall as alloy_sol_types::SolCall>::SIGNATURE,
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::SIGNATURE,
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::SIGNATURE,
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::SIGNATURE,
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::SIGNATURE,
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::SIGNATURE,
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::SIGNATURE,
<roundDurationCall as alloy_sol_types::SolCall>::SIGNATURE,
];
/// Returns the signature for the given selector, if known.
#[inline]
pub fn signature_by_selector(
selector: [u8; 4usize],
) -> ::core::option::Option<&'static str> {
match Self::SELECTORS.binary_search(&selector) {
::core::result::Result::Ok(idx) => {
::core::option::Option::Some(Self::SIGNATURES[idx])
}
::core::result::Result::Err(_) => ::core::option::Option::None,
}
}
/// Returns the enum variant name for the given selector, if known.
#[inline]
pub fn name_by_selector(
selector: [u8; 4usize],
) -> ::core::option::Option<&'static str> {
let sig = Self::signature_by_selector(selector)?;
sig.split_once('(').map(|(name, _)| name)
}
}
#[automatically_derived]
impl alloy_sol_types::SolInterface for MultiAssetDelegationCalls {
const NAME: &'static str = "MultiAssetDelegationCalls";
const MIN_DATA_LENGTH: usize = 0usize;
const COUNT: usize = 59usize;
#[inline]
fn selector(&self) -> [u8; 4] {
match self {
Self::ADMIN_ROLE(_) => {
<ADMIN_ROLECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::ASSET_MANAGER_ROLE(_) => {
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::BPS_DENOMINATOR(_) => {
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::COMMISSION_CHANGE_DELAY(_) => {
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::DEFAULT_ADMIN_ROLE(_) => {
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::LOCK_ONE_MONTH(_) => {
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::LOCK_SIX_MONTHS(_) => {
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::LOCK_THREE_MONTHS(_) => {
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::LOCK_TWO_MONTHS(_) => {
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MIN_LOCK_AMOUNT(_) => {
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MULTIPLIER_NONE(_) => {
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MULTIPLIER_ONE_MONTH(_) => {
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MULTIPLIER_SIX_MONTHS(_) => {
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MULTIPLIER_THREE_MONTHS(_) => {
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::MULTIPLIER_TWO_MONTHS(_) => {
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::PRECISION(_) => {
<PRECISIONCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::SLASHER_ROLE(_) => {
<SLASHER_ROLECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::TANGLE_ROLE(_) => {
<TANGLE_ROLECall as alloy_sol_types::SolCall>::SELECTOR
}
Self::UPGRADE_INTERFACE_VERSION(_) => {
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::VIRTUAL_ASSETS(_) => {
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::VIRTUAL_SHARES(_) => {
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::blueprintSlashCount(_) => {
<blueprintSlashCountCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::clearFacetSelectors(_) => {
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::currentRound(_) => {
<currentRoundCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::delegationBondLessDelay(_) => {
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::facetForSelector(_) => {
<facetForSelectorCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getAccumulatedDust(_) => {
<getAccumulatedDustCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getAssetAdapter(_) => {
<getAssetAdapterCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getOperatorSlashFactor(_) => {
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getPendingSlashCount(_) => {
<getPendingSlashCountCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getRoleAdmin(_) => {
<getRoleAdminCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSlashCount(_) => {
<getSlashCountCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSlashCountForBlueprint(_) => {
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSlashCountForService(_) => {
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSlashImpact(_) => {
<getSlashImpactCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSlashRecord(_) => {
<getSlashRecordCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::getSnapshot(_) => {
<getSnapshotCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::grantRole(_) => {
<grantRoleCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::hasRole(_) => <hasRoleCall as alloy_sol_types::SolCall>::SELECTOR,
Self::initialize(_) => {
<initializeCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::lastRoundAdvance(_) => {
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::leaveDelegatorsDelay(_) => {
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::leaveOperatorsDelay(_) => {
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::nativeEnabled(_) => {
<nativeEnabledCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::nextSlashId(_) => {
<nextSlashIdCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::operatorCommissionBps(_) => {
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::paused(_) => <pausedCall as alloy_sol_types::SolCall>::SELECTOR,
Self::proxiableUUID(_) => {
<proxiableUUIDCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::registerFacet(_) => {
<registerFacetCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::registerFacetSelectors(_) => {
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::renounceRole(_) => {
<renounceRoleCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::requireAdapters(_) => {
<requireAdaptersCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::resetPendingSlashCount(_) => {
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::revokeRole(_) => {
<revokeRoleCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::roundDuration(_) => {
<roundDurationCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::serviceSlashCount(_) => {
<serviceSlashCountCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::slashHistory(_) => {
<slashHistoryCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::supportsInterface(_) => {
<supportsInterfaceCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::upgradeToAndCall(_) => {
<upgradeToAndCallCall as alloy_sol_types::SolCall>::SELECTOR
}
}
}
#[inline]
fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
Self::SELECTORS.get(i).copied()
}
#[inline]
fn valid_selector(selector: [u8; 4]) -> bool {
Self::SELECTORS.binary_search(&selector).is_ok()
}
#[inline]
#[allow(non_snake_case)]
fn abi_decode_raw(
selector: [u8; 4],
data: &[u8],
) -> alloy_sol_types::Result<Self> {
static DECODE_SHIMS: &[fn(
&[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls>] = &[
{
fn supportsInterface(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<supportsInterfaceCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::supportsInterface)
}
supportsInterface
},
{
fn lastRoundAdvance(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::lastRoundAdvance)
}
lastRoundAdvance
},
{
fn slashHistory(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<slashHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::slashHistory)
}
slashHistory
},
{
fn getOperatorSlashFactor(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getOperatorSlashFactor)
}
getOperatorSlashFactor
},
{
fn MULTIPLIER_ONE_MONTH(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_ONE_MONTH)
}
MULTIPLIER_ONE_MONTH
},
{
fn registerFacetSelectors(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::registerFacetSelectors)
}
registerFacetSelectors
},
{
fn getRoleAdmin(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getRoleAdminCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getRoleAdmin)
}
getRoleAdmin
},
{
fn grantRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<grantRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
.map(MultiAssetDelegationCalls::grantRole)
}
grantRole
},
{
fn operatorCommissionBps(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::operatorCommissionBps)
}
operatorCommissionBps
},
{
fn renounceRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<renounceRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::renounceRole)
}
renounceRole
},
{
fn MULTIPLIER_SIX_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_SIX_MONTHS)
}
MULTIPLIER_SIX_MONTHS
},
{
fn registerFacet(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<registerFacetCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::registerFacet)
}
registerFacet
},
{
fn getAccumulatedDust(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getAccumulatedDustCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getAccumulatedDust)
}
getAccumulatedDust
},
{
fn MULTIPLIER_NONE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_NONE)
}
MULTIPLIER_NONE
},
{
fn leaveOperatorsDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::leaveOperatorsDelay)
}
leaveOperatorsDelay
},
{
fn blueprintSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<blueprintSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::blueprintSlashCount)
}
blueprintSlashCount
},
{
fn upgradeToAndCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::upgradeToAndCall)
}
upgradeToAndCall
},
{
fn SLASHER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<SLASHER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::SLASHER_ROLE)
}
SLASHER_ROLE
},
{
fn proxiableUUID(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::proxiableUUID)
}
proxiableUUID
},
{
fn MULTIPLIER_TWO_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_TWO_MONTHS)
}
MULTIPLIER_TWO_MONTHS
},
{
fn paused(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<pausedCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
.map(MultiAssetDelegationCalls::paused)
}
paused
},
{
fn TANGLE_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<TANGLE_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::TANGLE_ROLE)
}
TANGLE_ROLE
},
{
fn getSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSlashCount)
}
getSlashCount
},
{
fn getSlashCountForService(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSlashCountForService)
}
getSlashCountForService
},
{
fn ADMIN_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::ADMIN_ROLE)
}
ADMIN_ROLE
},
{
fn nativeEnabled(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<nativeEnabledCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::nativeEnabled)
}
nativeEnabled
},
{
fn LOCK_TWO_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::LOCK_TWO_MONTHS)
}
LOCK_TWO_MONTHS
},
{
fn VIRTUAL_SHARES(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::VIRTUAL_SHARES)
}
VIRTUAL_SHARES
},
{
fn currentRound(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<currentRoundCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::currentRound)
}
currentRound
},
{
fn getAssetAdapter(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getAssetAdapterCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getAssetAdapter)
}
getAssetAdapter
},
{
fn facetForSelector(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<facetForSelectorCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::facetForSelector)
}
facetForSelector
},
{
fn hasRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<hasRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
.map(MultiAssetDelegationCalls::hasRole)
}
hasRole
},
{
fn getPendingSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getPendingSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getPendingSlashCount)
}
getPendingSlashCount
},
{
fn getSlashImpact(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashImpactCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSlashImpact)
}
getSlashImpact
},
{
fn nextSlashId(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<nextSlashIdCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::nextSlashId)
}
nextSlashId
},
{
fn serviceSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<serviceSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::serviceSlashCount)
}
serviceSlashCount
},
{
fn LOCK_ONE_MONTH(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::LOCK_ONE_MONTH)
}
LOCK_ONE_MONTH
},
{
fn DEFAULT_ADMIN_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::DEFAULT_ADMIN_ROLE)
}
DEFAULT_ADMIN_ROLE
},
{
fn getSlashRecord(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashRecordCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSlashRecord)
}
getSlashRecord
},
{
fn ASSET_MANAGER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::ASSET_MANAGER_ROLE)
}
ASSET_MANAGER_ROLE
},
{
fn MULTIPLIER_THREE_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_THREE_MONTHS)
}
MULTIPLIER_THREE_MONTHS
},
{
fn PRECISION(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<PRECISIONCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
.map(MultiAssetDelegationCalls::PRECISION)
}
PRECISION
},
{
fn UPGRADE_INTERFACE_VERSION(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::UPGRADE_INTERFACE_VERSION)
}
UPGRADE_INTERFACE_VERSION
},
{
fn requireAdapters(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<requireAdaptersCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::requireAdapters)
}
requireAdapters
},
{
fn VIRTUAL_ASSETS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::VIRTUAL_ASSETS)
}
VIRTUAL_ASSETS
},
{
fn delegationBondLessDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::delegationBondLessDelay)
}
delegationBondLessDelay
},
{
fn getSnapshot(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSnapshotCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSnapshot)
}
getSnapshot
},
{
fn getSlashCountForBlueprint(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::getSlashCountForBlueprint)
}
getSlashCountForBlueprint
},
{
fn initialize(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<initializeCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::initialize)
}
initialize
},
{
fn LOCK_THREE_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::LOCK_THREE_MONTHS)
}
LOCK_THREE_MONTHS
},
{
fn COMMISSION_CHANGE_DELAY(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::COMMISSION_CHANGE_DELAY)
}
COMMISSION_CHANGE_DELAY
},
{
fn revokeRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<revokeRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::revokeRole)
}
revokeRole
},
{
fn leaveDelegatorsDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::leaveDelegatorsDelay)
}
leaveDelegatorsDelay
},
{
fn MIN_LOCK_AMOUNT(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::MIN_LOCK_AMOUNT)
}
MIN_LOCK_AMOUNT
},
{
fn clearFacetSelectors(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::clearFacetSelectors)
}
clearFacetSelectors
},
{
fn BPS_DENOMINATOR(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::BPS_DENOMINATOR)
}
BPS_DENOMINATOR
},
{
fn resetPendingSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::resetPendingSlashCount)
}
resetPendingSlashCount
},
{
fn LOCK_SIX_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::LOCK_SIX_MONTHS)
}
LOCK_SIX_MONTHS
},
{
fn roundDuration(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<roundDurationCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::roundDuration)
}
roundDuration
},
];
let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
return Err(
alloy_sol_types::Error::unknown_selector(
<Self as alloy_sol_types::SolInterface>::NAME,
selector,
),
);
};
DECODE_SHIMS[idx](data)
}
#[inline]
#[allow(non_snake_case)]
fn abi_decode_raw_validate(
selector: [u8; 4],
data: &[u8],
) -> alloy_sol_types::Result<Self> {
static DECODE_VALIDATE_SHIMS: &[fn(
&[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls>] = &[
{
fn supportsInterface(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<supportsInterfaceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::supportsInterface)
}
supportsInterface
},
{
fn lastRoundAdvance(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::lastRoundAdvance)
}
lastRoundAdvance
},
{
fn slashHistory(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<slashHistoryCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::slashHistory)
}
slashHistory
},
{
fn getOperatorSlashFactor(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getOperatorSlashFactor)
}
getOperatorSlashFactor
},
{
fn MULTIPLIER_ONE_MONTH(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_ONE_MONTH)
}
MULTIPLIER_ONE_MONTH
},
{
fn registerFacetSelectors(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::registerFacetSelectors)
}
registerFacetSelectors
},
{
fn getRoleAdmin(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getRoleAdminCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getRoleAdmin)
}
getRoleAdmin
},
{
fn grantRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<grantRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::grantRole)
}
grantRole
},
{
fn operatorCommissionBps(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::operatorCommissionBps)
}
operatorCommissionBps
},
{
fn renounceRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<renounceRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::renounceRole)
}
renounceRole
},
{
fn MULTIPLIER_SIX_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_SIX_MONTHS)
}
MULTIPLIER_SIX_MONTHS
},
{
fn registerFacet(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<registerFacetCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::registerFacet)
}
registerFacet
},
{
fn getAccumulatedDust(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getAccumulatedDustCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getAccumulatedDust)
}
getAccumulatedDust
},
{
fn MULTIPLIER_NONE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_NONE)
}
MULTIPLIER_NONE
},
{
fn leaveOperatorsDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::leaveOperatorsDelay)
}
leaveOperatorsDelay
},
{
fn blueprintSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<blueprintSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::blueprintSlashCount)
}
blueprintSlashCount
},
{
fn upgradeToAndCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::upgradeToAndCall)
}
upgradeToAndCall
},
{
fn SLASHER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<SLASHER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::SLASHER_ROLE)
}
SLASHER_ROLE
},
{
fn proxiableUUID(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<proxiableUUIDCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::proxiableUUID)
}
proxiableUUID
},
{
fn MULTIPLIER_TWO_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_TWO_MONTHS)
}
MULTIPLIER_TWO_MONTHS
},
{
fn paused(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<pausedCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::paused)
}
paused
},
{
fn TANGLE_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<TANGLE_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::TANGLE_ROLE)
}
TANGLE_ROLE
},
{
fn getSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSlashCount)
}
getSlashCount
},
{
fn getSlashCountForService(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSlashCountForService)
}
getSlashCountForService
},
{
fn ADMIN_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::ADMIN_ROLE)
}
ADMIN_ROLE
},
{
fn nativeEnabled(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<nativeEnabledCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::nativeEnabled)
}
nativeEnabled
},
{
fn LOCK_TWO_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::LOCK_TWO_MONTHS)
}
LOCK_TWO_MONTHS
},
{
fn VIRTUAL_SHARES(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::VIRTUAL_SHARES)
}
VIRTUAL_SHARES
},
{
fn currentRound(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<currentRoundCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::currentRound)
}
currentRound
},
{
fn getAssetAdapter(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getAssetAdapterCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getAssetAdapter)
}
getAssetAdapter
},
{
fn facetForSelector(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<facetForSelectorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::facetForSelector)
}
facetForSelector
},
{
fn hasRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<hasRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::hasRole)
}
hasRole
},
{
fn getPendingSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getPendingSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getPendingSlashCount)
}
getPendingSlashCount
},
{
fn getSlashImpact(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashImpactCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSlashImpact)
}
getSlashImpact
},
{
fn nextSlashId(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<nextSlashIdCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::nextSlashId)
}
nextSlashId
},
{
fn serviceSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<serviceSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::serviceSlashCount)
}
serviceSlashCount
},
{
fn LOCK_ONE_MONTH(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::LOCK_ONE_MONTH)
}
LOCK_ONE_MONTH
},
{
fn DEFAULT_ADMIN_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::DEFAULT_ADMIN_ROLE)
}
DEFAULT_ADMIN_ROLE
},
{
fn getSlashRecord(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashRecordCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSlashRecord)
}
getSlashRecord
},
{
fn ASSET_MANAGER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::ASSET_MANAGER_ROLE)
}
ASSET_MANAGER_ROLE
},
{
fn MULTIPLIER_THREE_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MULTIPLIER_THREE_MONTHS)
}
MULTIPLIER_THREE_MONTHS
},
{
fn PRECISION(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<PRECISIONCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::PRECISION)
}
PRECISION
},
{
fn UPGRADE_INTERFACE_VERSION(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::UPGRADE_INTERFACE_VERSION)
}
UPGRADE_INTERFACE_VERSION
},
{
fn requireAdapters(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<requireAdaptersCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::requireAdapters)
}
requireAdapters
},
{
fn VIRTUAL_ASSETS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::VIRTUAL_ASSETS)
}
VIRTUAL_ASSETS
},
{
fn delegationBondLessDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::delegationBondLessDelay)
}
delegationBondLessDelay
},
{
fn getSnapshot(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSnapshotCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSnapshot)
}
getSnapshot
},
{
fn getSlashCountForBlueprint(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::getSlashCountForBlueprint)
}
getSlashCountForBlueprint
},
{
fn initialize(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<initializeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::initialize)
}
initialize
},
{
fn LOCK_THREE_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::LOCK_THREE_MONTHS)
}
LOCK_THREE_MONTHS
},
{
fn COMMISSION_CHANGE_DELAY(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::COMMISSION_CHANGE_DELAY)
}
COMMISSION_CHANGE_DELAY
},
{
fn revokeRole(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<revokeRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::revokeRole)
}
revokeRole
},
{
fn leaveDelegatorsDelay(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::leaveDelegatorsDelay)
}
leaveDelegatorsDelay
},
{
fn MIN_LOCK_AMOUNT(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::MIN_LOCK_AMOUNT)
}
MIN_LOCK_AMOUNT
},
{
fn clearFacetSelectors(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::clearFacetSelectors)
}
clearFacetSelectors
},
{
fn BPS_DENOMINATOR(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::BPS_DENOMINATOR)
}
BPS_DENOMINATOR
},
{
fn resetPendingSlashCount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::resetPendingSlashCount)
}
resetPendingSlashCount
},
{
fn LOCK_SIX_MONTHS(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::LOCK_SIX_MONTHS)
}
LOCK_SIX_MONTHS
},
{
fn roundDuration(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<roundDurationCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::roundDuration)
}
roundDuration
},
];
let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
return Err(
alloy_sol_types::Error::unknown_selector(
<Self as alloy_sol_types::SolInterface>::NAME,
selector,
),
);
};
DECODE_VALIDATE_SHIMS[idx](data)
}
#[inline]
fn abi_encoded_size(&self) -> usize {
match self {
Self::ADMIN_ROLE(inner) => {
<ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::ASSET_MANAGER_ROLE(inner) => {
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::BPS_DENOMINATOR(inner) => {
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::COMMISSION_CHANGE_DELAY(inner) => {
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::DEFAULT_ADMIN_ROLE(inner) => {
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::LOCK_ONE_MONTH(inner) => {
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::LOCK_SIX_MONTHS(inner) => {
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::LOCK_THREE_MONTHS(inner) => {
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::LOCK_TWO_MONTHS(inner) => {
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MIN_LOCK_AMOUNT(inner) => {
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MULTIPLIER_NONE(inner) => {
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MULTIPLIER_ONE_MONTH(inner) => {
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MULTIPLIER_SIX_MONTHS(inner) => {
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MULTIPLIER_THREE_MONTHS(inner) => {
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::MULTIPLIER_TWO_MONTHS(inner) => {
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::PRECISION(inner) => {
<PRECISIONCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::SLASHER_ROLE(inner) => {
<SLASHER_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::TANGLE_ROLE(inner) => {
<TANGLE_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::UPGRADE_INTERFACE_VERSION(inner) => {
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::VIRTUAL_ASSETS(inner) => {
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::VIRTUAL_SHARES(inner) => {
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::blueprintSlashCount(inner) => {
<blueprintSlashCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::clearFacetSelectors(inner) => {
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::currentRound(inner) => {
<currentRoundCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::delegationBondLessDelay(inner) => {
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::facetForSelector(inner) => {
<facetForSelectorCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getAccumulatedDust(inner) => {
<getAccumulatedDustCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getAssetAdapter(inner) => {
<getAssetAdapterCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getOperatorSlashFactor(inner) => {
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getPendingSlashCount(inner) => {
<getPendingSlashCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getRoleAdmin(inner) => {
<getRoleAdminCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSlashCount(inner) => {
<getSlashCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSlashCountForBlueprint(inner) => {
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSlashCountForService(inner) => {
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSlashImpact(inner) => {
<getSlashImpactCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSlashRecord(inner) => {
<getSlashRecordCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::getSnapshot(inner) => {
<getSnapshotCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::grantRole(inner) => {
<grantRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::hasRole(inner) => {
<hasRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::initialize(inner) => {
<initializeCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::lastRoundAdvance(inner) => {
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::leaveDelegatorsDelay(inner) => {
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::leaveOperatorsDelay(inner) => {
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::nativeEnabled(inner) => {
<nativeEnabledCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::nextSlashId(inner) => {
<nextSlashIdCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::operatorCommissionBps(inner) => {
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::paused(inner) => {
<pausedCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::proxiableUUID(inner) => {
<proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::registerFacet(inner) => {
<registerFacetCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::registerFacetSelectors(inner) => {
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::renounceRole(inner) => {
<renounceRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::requireAdapters(inner) => {
<requireAdaptersCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::resetPendingSlashCount(inner) => {
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::revokeRole(inner) => {
<revokeRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::roundDuration(inner) => {
<roundDurationCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::serviceSlashCount(inner) => {
<serviceSlashCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::slashHistory(inner) => {
<slashHistoryCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::supportsInterface(inner) => {
<supportsInterfaceCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
Self::upgradeToAndCall(inner) => {
<upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encoded_size(
inner,
)
}
}
}
#[inline]
fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
match self {
Self::ADMIN_ROLE(inner) => {
<ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::ASSET_MANAGER_ROLE(inner) => {
<ASSET_MANAGER_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::BPS_DENOMINATOR(inner) => {
<BPS_DENOMINATORCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::COMMISSION_CHANGE_DELAY(inner) => {
<COMMISSION_CHANGE_DELAYCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::DEFAULT_ADMIN_ROLE(inner) => {
<DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::LOCK_ONE_MONTH(inner) => {
<LOCK_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::LOCK_SIX_MONTHS(inner) => {
<LOCK_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::LOCK_THREE_MONTHS(inner) => {
<LOCK_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::LOCK_TWO_MONTHS(inner) => {
<LOCK_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MIN_LOCK_AMOUNT(inner) => {
<MIN_LOCK_AMOUNTCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MULTIPLIER_NONE(inner) => {
<MULTIPLIER_NONECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MULTIPLIER_ONE_MONTH(inner) => {
<MULTIPLIER_ONE_MONTHCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MULTIPLIER_SIX_MONTHS(inner) => {
<MULTIPLIER_SIX_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MULTIPLIER_THREE_MONTHS(inner) => {
<MULTIPLIER_THREE_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::MULTIPLIER_TWO_MONTHS(inner) => {
<MULTIPLIER_TWO_MONTHSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::PRECISION(inner) => {
<PRECISIONCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::SLASHER_ROLE(inner) => {
<SLASHER_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::TANGLE_ROLE(inner) => {
<TANGLE_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::UPGRADE_INTERFACE_VERSION(inner) => {
<UPGRADE_INTERFACE_VERSIONCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::VIRTUAL_ASSETS(inner) => {
<VIRTUAL_ASSETSCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::VIRTUAL_SHARES(inner) => {
<VIRTUAL_SHARESCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::blueprintSlashCount(inner) => {
<blueprintSlashCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::clearFacetSelectors(inner) => {
<clearFacetSelectorsCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::currentRound(inner) => {
<currentRoundCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::delegationBondLessDelay(inner) => {
<delegationBondLessDelayCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::facetForSelector(inner) => {
<facetForSelectorCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getAccumulatedDust(inner) => {
<getAccumulatedDustCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getAssetAdapter(inner) => {
<getAssetAdapterCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getOperatorSlashFactor(inner) => {
<getOperatorSlashFactorCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getPendingSlashCount(inner) => {
<getPendingSlashCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getRoleAdmin(inner) => {
<getRoleAdminCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSlashCount(inner) => {
<getSlashCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSlashCountForBlueprint(inner) => {
<getSlashCountForBlueprintCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSlashCountForService(inner) => {
<getSlashCountForServiceCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSlashImpact(inner) => {
<getSlashImpactCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSlashRecord(inner) => {
<getSlashRecordCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::getSnapshot(inner) => {
<getSnapshotCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::grantRole(inner) => {
<grantRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::hasRole(inner) => {
<hasRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
}
Self::initialize(inner) => {
<initializeCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::lastRoundAdvance(inner) => {
<lastRoundAdvanceCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::leaveDelegatorsDelay(inner) => {
<leaveDelegatorsDelayCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::leaveOperatorsDelay(inner) => {
<leaveOperatorsDelayCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::nativeEnabled(inner) => {
<nativeEnabledCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::nextSlashId(inner) => {
<nextSlashIdCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::operatorCommissionBps(inner) => {
<operatorCommissionBpsCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::paused(inner) => {
<pausedCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
}
Self::proxiableUUID(inner) => {
<proxiableUUIDCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::registerFacet(inner) => {
<registerFacetCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::registerFacetSelectors(inner) => {
<registerFacetSelectorsCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::renounceRole(inner) => {
<renounceRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::requireAdapters(inner) => {
<requireAdaptersCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::resetPendingSlashCount(inner) => {
<resetPendingSlashCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::revokeRole(inner) => {
<revokeRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::roundDuration(inner) => {
<roundDurationCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::serviceSlashCount(inner) => {
<serviceSlashCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::slashHistory(inner) => {
<slashHistoryCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::supportsInterface(inner) => {
<supportsInterfaceCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::upgradeToAndCall(inner) => {
<upgradeToAndCallCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
}
}
}
///Container for all the [`MultiAssetDelegation`](self) custom errors.
#[derive(Clone)]
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Debug, PartialEq, Eq, Hash)]
pub enum MultiAssetDelegationErrors {
#[allow(missing_docs)]
AccessControlBadConfirmation(AccessControlBadConfirmation),
#[allow(missing_docs)]
AccessControlUnauthorizedAccount(AccessControlUnauthorizedAccount),
#[allow(missing_docs)]
AddressEmptyCode(AddressEmptyCode),
#[allow(missing_docs)]
ERC1967InvalidImplementation(ERC1967InvalidImplementation),
#[allow(missing_docs)]
ERC1967NonPayable(ERC1967NonPayable),
#[allow(missing_docs)]
EnforcedPause(EnforcedPause),
#[allow(missing_docs)]
ExpectedPause(ExpectedPause),
#[allow(missing_docs)]
FailedCall(FailedCall),
#[allow(missing_docs)]
InvalidInitialization(InvalidInitialization),
#[allow(missing_docs)]
NotAContract(NotAContract),
#[allow(missing_docs)]
NotInitializing(NotInitializing),
#[allow(missing_docs)]
ReentrancyGuardReentrantCall(ReentrancyGuardReentrantCall),
#[allow(missing_docs)]
SelectorAlreadyRegistered(SelectorAlreadyRegistered),
#[allow(missing_docs)]
UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext),
#[allow(missing_docs)]
UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID),
#[allow(missing_docs)]
UnknownSelector(UnknownSelector),
#[allow(missing_docs)]
ZeroAddress(ZeroAddress),
}
impl MultiAssetDelegationErrors {
/// All the selectors of this enum.
///
/// Note that the selectors might not be in the same order as the variants.
/// No guarantees are made about the order of the selectors.
///
/// Prefer using `SolInterface` methods instead.
pub const SELECTORS: &'static [[u8; 4usize]] = &[
[62u8, 229u8, 174u8, 181u8],
[76u8, 156u8, 140u8, 227u8],
[102u8, 151u8, 178u8, 50u8],
[133u8, 112u8, 141u8, 72u8],
[138u8, 139u8, 65u8, 236u8],
[141u8, 252u8, 32u8, 43u8],
[153u8, 150u8, 179u8, 21u8],
[170u8, 29u8, 73u8, 164u8],
[179u8, 152u8, 151u8, 159u8],
[194u8, 168u8, 37u8, 245u8],
[214u8, 189u8, 162u8, 117u8],
[215u8, 230u8, 188u8, 248u8],
[217u8, 46u8, 35u8, 61u8],
[217u8, 60u8, 6u8, 101u8],
[224u8, 124u8, 141u8, 186u8],
[226u8, 81u8, 125u8, 63u8],
[249u8, 46u8, 232u8, 169u8],
];
/// The names of the variants in the same order as `SELECTORS`.
pub const VARIANT_NAMES: &'static [&'static str] = &[
::core::stringify!(ReentrancyGuardReentrantCall),
::core::stringify!(ERC1967InvalidImplementation),
::core::stringify!(AccessControlBadConfirmation),
::core::stringify!(SelectorAlreadyRegistered),
::core::stringify!(NotAContract),
::core::stringify!(ExpectedPause),
::core::stringify!(AddressEmptyCode),
::core::stringify!(UUPSUnsupportedProxiableUUID),
::core::stringify!(ERC1967NonPayable),
::core::stringify!(UnknownSelector),
::core::stringify!(FailedCall),
::core::stringify!(NotInitializing),
::core::stringify!(ZeroAddress),
::core::stringify!(EnforcedPause),
::core::stringify!(UUPSUnauthorizedCallContext),
::core::stringify!(AccessControlUnauthorizedAccount),
::core::stringify!(InvalidInitialization),
];
/// The signatures in the same order as `SELECTORS`.
pub const SIGNATURES: &'static [&'static str] = &[
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::SIGNATURE,
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::SIGNATURE,
<AccessControlBadConfirmation as alloy_sol_types::SolError>::SIGNATURE,
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::SIGNATURE,
<NotAContract as alloy_sol_types::SolError>::SIGNATURE,
<ExpectedPause as alloy_sol_types::SolError>::SIGNATURE,
<AddressEmptyCode as alloy_sol_types::SolError>::SIGNATURE,
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::SIGNATURE,
<ERC1967NonPayable as alloy_sol_types::SolError>::SIGNATURE,
<UnknownSelector as alloy_sol_types::SolError>::SIGNATURE,
<FailedCall as alloy_sol_types::SolError>::SIGNATURE,
<NotInitializing as alloy_sol_types::SolError>::SIGNATURE,
<ZeroAddress as alloy_sol_types::SolError>::SIGNATURE,
<EnforcedPause as alloy_sol_types::SolError>::SIGNATURE,
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::SIGNATURE,
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::SIGNATURE,
<InvalidInitialization as alloy_sol_types::SolError>::SIGNATURE,
];
/// Returns the signature for the given selector, if known.
#[inline]
pub fn signature_by_selector(
selector: [u8; 4usize],
) -> ::core::option::Option<&'static str> {
match Self::SELECTORS.binary_search(&selector) {
::core::result::Result::Ok(idx) => {
::core::option::Option::Some(Self::SIGNATURES[idx])
}
::core::result::Result::Err(_) => ::core::option::Option::None,
}
}
/// Returns the enum variant name for the given selector, if known.
#[inline]
pub fn name_by_selector(
selector: [u8; 4usize],
) -> ::core::option::Option<&'static str> {
let sig = Self::signature_by_selector(selector)?;
sig.split_once('(').map(|(name, _)| name)
}
}
#[automatically_derived]
impl alloy_sol_types::SolInterface for MultiAssetDelegationErrors {
const NAME: &'static str = "MultiAssetDelegationErrors";
const MIN_DATA_LENGTH: usize = 0usize;
const COUNT: usize = 17usize;
#[inline]
fn selector(&self) -> [u8; 4] {
match self {
Self::AccessControlBadConfirmation(_) => {
<AccessControlBadConfirmation as alloy_sol_types::SolError>::SELECTOR
}
Self::AccessControlUnauthorizedAccount(_) => {
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::SELECTOR
}
Self::AddressEmptyCode(_) => {
<AddressEmptyCode as alloy_sol_types::SolError>::SELECTOR
}
Self::ERC1967InvalidImplementation(_) => {
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::SELECTOR
}
Self::ERC1967NonPayable(_) => {
<ERC1967NonPayable as alloy_sol_types::SolError>::SELECTOR
}
Self::EnforcedPause(_) => {
<EnforcedPause as alloy_sol_types::SolError>::SELECTOR
}
Self::ExpectedPause(_) => {
<ExpectedPause as alloy_sol_types::SolError>::SELECTOR
}
Self::FailedCall(_) => {
<FailedCall as alloy_sol_types::SolError>::SELECTOR
}
Self::InvalidInitialization(_) => {
<InvalidInitialization as alloy_sol_types::SolError>::SELECTOR
}
Self::NotAContract(_) => {
<NotAContract as alloy_sol_types::SolError>::SELECTOR
}
Self::NotInitializing(_) => {
<NotInitializing as alloy_sol_types::SolError>::SELECTOR
}
Self::ReentrancyGuardReentrantCall(_) => {
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::SELECTOR
}
Self::SelectorAlreadyRegistered(_) => {
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::SELECTOR
}
Self::UUPSUnauthorizedCallContext(_) => {
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::SELECTOR
}
Self::UUPSUnsupportedProxiableUUID(_) => {
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::SELECTOR
}
Self::UnknownSelector(_) => {
<UnknownSelector as alloy_sol_types::SolError>::SELECTOR
}
Self::ZeroAddress(_) => {
<ZeroAddress as alloy_sol_types::SolError>::SELECTOR
}
}
}
#[inline]
fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
Self::SELECTORS.get(i).copied()
}
#[inline]
fn valid_selector(selector: [u8; 4]) -> bool {
Self::SELECTORS.binary_search(&selector).is_ok()
}
#[inline]
#[allow(non_snake_case)]
fn abi_decode_raw(
selector: [u8; 4],
data: &[u8],
) -> alloy_sol_types::Result<Self> {
static DECODE_SHIMS: &[fn(
&[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors>] = &[
{
fn ReentrancyGuardReentrantCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(
MultiAssetDelegationErrors::ReentrancyGuardReentrantCall,
)
}
ReentrancyGuardReentrantCall
},
{
fn ERC1967InvalidImplementation(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(
MultiAssetDelegationErrors::ERC1967InvalidImplementation,
)
}
ERC1967InvalidImplementation
},
{
fn AccessControlBadConfirmation(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AccessControlBadConfirmation as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(
MultiAssetDelegationErrors::AccessControlBadConfirmation,
)
}
AccessControlBadConfirmation
},
{
fn SelectorAlreadyRegistered(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::SelectorAlreadyRegistered)
}
SelectorAlreadyRegistered
},
{
fn NotAContract(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<NotAContract as alloy_sol_types::SolError>::abi_decode_raw(data)
.map(MultiAssetDelegationErrors::NotAContract)
}
NotAContract
},
{
fn ExpectedPause(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ExpectedPause as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::ExpectedPause)
}
ExpectedPause
},
{
fn AddressEmptyCode(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AddressEmptyCode as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::AddressEmptyCode)
}
AddressEmptyCode
},
{
fn UUPSUnsupportedProxiableUUID(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(
MultiAssetDelegationErrors::UUPSUnsupportedProxiableUUID,
)
}
UUPSUnsupportedProxiableUUID
},
{
fn ERC1967NonPayable(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ERC1967NonPayable as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::ERC1967NonPayable)
}
ERC1967NonPayable
},
{
fn UnknownSelector(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UnknownSelector as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::UnknownSelector)
}
UnknownSelector
},
{
fn FailedCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<FailedCall as alloy_sol_types::SolError>::abi_decode_raw(data)
.map(MultiAssetDelegationErrors::FailedCall)
}
FailedCall
},
{
fn NotInitializing(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<NotInitializing as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::NotInitializing)
}
NotInitializing
},
{
fn ZeroAddress(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw(data)
.map(MultiAssetDelegationErrors::ZeroAddress)
}
ZeroAddress
},
{
fn EnforcedPause(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<EnforcedPause as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::EnforcedPause)
}
EnforcedPause
},
{
fn UUPSUnauthorizedCallContext(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::UUPSUnauthorizedCallContext)
}
UUPSUnauthorizedCallContext
},
{
fn AccessControlUnauthorizedAccount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(
MultiAssetDelegationErrors::AccessControlUnauthorizedAccount,
)
}
AccessControlUnauthorizedAccount
},
{
fn InvalidInitialization(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<InvalidInitialization as alloy_sol_types::SolError>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationErrors::InvalidInitialization)
}
InvalidInitialization
},
];
let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
return Err(
alloy_sol_types::Error::unknown_selector(
<Self as alloy_sol_types::SolInterface>::NAME,
selector,
),
);
};
DECODE_SHIMS[idx](data)
}
#[inline]
#[allow(non_snake_case)]
fn abi_decode_raw_validate(
selector: [u8; 4],
data: &[u8],
) -> alloy_sol_types::Result<Self> {
static DECODE_VALIDATE_SHIMS: &[fn(
&[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors>] = &[
{
fn ReentrancyGuardReentrantCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(
MultiAssetDelegationErrors::ReentrancyGuardReentrantCall,
)
}
ReentrancyGuardReentrantCall
},
{
fn ERC1967InvalidImplementation(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(
MultiAssetDelegationErrors::ERC1967InvalidImplementation,
)
}
ERC1967InvalidImplementation
},
{
fn AccessControlBadConfirmation(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AccessControlBadConfirmation as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(
MultiAssetDelegationErrors::AccessControlBadConfirmation,
)
}
AccessControlBadConfirmation
},
{
fn SelectorAlreadyRegistered(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::SelectorAlreadyRegistered)
}
SelectorAlreadyRegistered
},
{
fn NotAContract(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<NotAContract as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::NotAContract)
}
NotAContract
},
{
fn ExpectedPause(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ExpectedPause as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::ExpectedPause)
}
ExpectedPause
},
{
fn AddressEmptyCode(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AddressEmptyCode as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::AddressEmptyCode)
}
AddressEmptyCode
},
{
fn UUPSUnsupportedProxiableUUID(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(
MultiAssetDelegationErrors::UUPSUnsupportedProxiableUUID,
)
}
UUPSUnsupportedProxiableUUID
},
{
fn ERC1967NonPayable(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ERC1967NonPayable as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::ERC1967NonPayable)
}
ERC1967NonPayable
},
{
fn UnknownSelector(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UnknownSelector as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::UnknownSelector)
}
UnknownSelector
},
{
fn FailedCall(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<FailedCall as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::FailedCall)
}
FailedCall
},
{
fn NotInitializing(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<NotInitializing as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::NotInitializing)
}
NotInitializing
},
{
fn ZeroAddress(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::ZeroAddress)
}
ZeroAddress
},
{
fn EnforcedPause(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<EnforcedPause as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::EnforcedPause)
}
EnforcedPause
},
{
fn UUPSUnauthorizedCallContext(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::UUPSUnauthorizedCallContext)
}
UUPSUnauthorizedCallContext
},
{
fn AccessControlUnauthorizedAccount(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(
MultiAssetDelegationErrors::AccessControlUnauthorizedAccount,
)
}
AccessControlUnauthorizedAccount
},
{
fn InvalidInitialization(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationErrors> {
<InvalidInitialization as alloy_sol_types::SolError>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationErrors::InvalidInitialization)
}
InvalidInitialization
},
];
let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
return Err(
alloy_sol_types::Error::unknown_selector(
<Self as alloy_sol_types::SolInterface>::NAME,
selector,
),
);
};
DECODE_VALIDATE_SHIMS[idx](data)
}
#[inline]
fn abi_encoded_size(&self) -> usize {
match self {
Self::AccessControlBadConfirmation(inner) => {
<AccessControlBadConfirmation as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::AccessControlUnauthorizedAccount(inner) => {
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::AddressEmptyCode(inner) => {
<AddressEmptyCode as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::ERC1967InvalidImplementation(inner) => {
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::ERC1967NonPayable(inner) => {
<ERC1967NonPayable as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::EnforcedPause(inner) => {
<EnforcedPause as alloy_sol_types::SolError>::abi_encoded_size(inner)
}
Self::ExpectedPause(inner) => {
<ExpectedPause as alloy_sol_types::SolError>::abi_encoded_size(inner)
}
Self::FailedCall(inner) => {
<FailedCall as alloy_sol_types::SolError>::abi_encoded_size(inner)
}
Self::InvalidInitialization(inner) => {
<InvalidInitialization as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::NotAContract(inner) => {
<NotAContract as alloy_sol_types::SolError>::abi_encoded_size(inner)
}
Self::NotInitializing(inner) => {
<NotInitializing as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::ReentrancyGuardReentrantCall(inner) => {
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::SelectorAlreadyRegistered(inner) => {
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::UUPSUnauthorizedCallContext(inner) => {
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::UUPSUnsupportedProxiableUUID(inner) => {
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::UnknownSelector(inner) => {
<UnknownSelector as alloy_sol_types::SolError>::abi_encoded_size(
inner,
)
}
Self::ZeroAddress(inner) => {
<ZeroAddress as alloy_sol_types::SolError>::abi_encoded_size(inner)
}
}
}
#[inline]
fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
match self {
Self::AccessControlBadConfirmation(inner) => {
<AccessControlBadConfirmation as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::AccessControlUnauthorizedAccount(inner) => {
<AccessControlUnauthorizedAccount as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::AddressEmptyCode(inner) => {
<AddressEmptyCode as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::ERC1967InvalidImplementation(inner) => {
<ERC1967InvalidImplementation as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::ERC1967NonPayable(inner) => {
<ERC1967NonPayable as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::EnforcedPause(inner) => {
<EnforcedPause as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::ExpectedPause(inner) => {
<ExpectedPause as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::FailedCall(inner) => {
<FailedCall as alloy_sol_types::SolError>::abi_encode_raw(inner, out)
}
Self::InvalidInitialization(inner) => {
<InvalidInitialization as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::NotAContract(inner) => {
<NotAContract as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::NotInitializing(inner) => {
<NotInitializing as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::ReentrancyGuardReentrantCall(inner) => {
<ReentrancyGuardReentrantCall as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::SelectorAlreadyRegistered(inner) => {
<SelectorAlreadyRegistered as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::UUPSUnauthorizedCallContext(inner) => {
<UUPSUnauthorizedCallContext as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::UUPSUnsupportedProxiableUUID(inner) => {
<UUPSUnsupportedProxiableUUID as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::UnknownSelector(inner) => {
<UnknownSelector as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
Self::ZeroAddress(inner) => {
<ZeroAddress as alloy_sol_types::SolError>::abi_encode_raw(
inner,
out,
)
}
}
}
}
///Container for all the [`MultiAssetDelegation`](self) events.
#[derive(Clone)]
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Debug, PartialEq, Eq, Hash)]
pub enum MultiAssetDelegationEvents {
#[allow(missing_docs)]
BlueprintAddedToDelegation(BlueprintAddedToDelegation),
#[allow(missing_docs)]
BlueprintRemovedFromDelegation(BlueprintRemovedFromDelegation),
#[allow(missing_docs)]
Delegated(Delegated),
#[allow(missing_docs)]
DelegatorUnstakeExecuted(DelegatorUnstakeExecuted),
#[allow(missing_docs)]
DelegatorUnstakeScheduled(DelegatorUnstakeScheduled),
#[allow(missing_docs)]
Deposited(Deposited),
#[allow(missing_docs)]
DustAccumulated(DustAccumulated),
#[allow(missing_docs)]
DustSwept(DustSwept),
#[allow(missing_docs)]
ExpiredLocksHarvested(ExpiredLocksHarvested),
#[allow(missing_docs)]
FacetRegistered(FacetRegistered),
#[allow(missing_docs)]
FacetSelectorCleared(FacetSelectorCleared),
#[allow(missing_docs)]
FacetSelectorSet(FacetSelectorSet),
#[allow(missing_docs)]
Initialized(Initialized),
#[allow(missing_docs)]
OperatorBlueprintAdded(OperatorBlueprintAdded),
#[allow(missing_docs)]
OperatorBlueprintRemoved(OperatorBlueprintRemoved),
#[allow(missing_docs)]
OperatorDelegationModeSet(OperatorDelegationModeSet),
#[allow(missing_docs)]
OperatorLeavingScheduled(OperatorLeavingScheduled),
#[allow(missing_docs)]
OperatorLeft(OperatorLeft),
#[allow(missing_docs)]
OperatorRegistered(OperatorRegistered),
#[allow(missing_docs)]
OperatorStakeIncreased(OperatorStakeIncreased),
#[allow(missing_docs)]
OperatorUnstakeExecuted(OperatorUnstakeExecuted),
#[allow(missing_docs)]
OperatorUnstakeScheduled(OperatorUnstakeScheduled),
#[allow(missing_docs)]
OperatorWhitelistUpdated(OperatorWhitelistUpdated),
#[allow(missing_docs)]
Paused(Paused),
#[allow(missing_docs)]
PendingSlashCountReset(PendingSlashCountReset),
#[allow(missing_docs)]
PendingSlashDecremented(PendingSlashDecremented),
#[allow(missing_docs)]
PendingSlashIncremented(PendingSlashIncremented),
#[allow(missing_docs)]
RoleAdminChanged(RoleAdminChanged),
#[allow(missing_docs)]
RoleGranted(RoleGranted),
#[allow(missing_docs)]
RoleRevoked(RoleRevoked),
#[allow(missing_docs)]
SlashRecorded(SlashRecorded),
#[allow(missing_docs)]
Slashed(Slashed),
#[allow(missing_docs)]
SlashedForService(SlashedForService),
#[allow(missing_docs)]
Unpaused(Unpaused),
#[allow(missing_docs)]
Upgraded(Upgraded),
#[allow(missing_docs)]
WithdrawScheduled(WithdrawScheduled),
#[allow(missing_docs)]
Withdrawn(Withdrawn),
}
impl MultiAssetDelegationEvents {
/// All the selectors of this enum.
///
/// Note that the selectors might not be in the same order as the variants.
/// No guarantees are made about the order of the selectors.
///
/// Prefer using `SolInterface` methods instead.
pub const SELECTORS: &'static [[u8; 32usize]] = &[
[
6u8, 50u8, 93u8, 131u8, 67u8, 93u8, 168u8, 118u8, 87u8, 176u8, 99u8,
198u8, 20u8, 42u8, 91u8, 145u8, 166u8, 106u8, 126u8, 129u8, 24u8, 39u8,
208u8, 130u8, 214u8, 36u8, 40u8, 122u8, 153u8, 83u8, 196u8, 186u8,
],
[
18u8, 5u8, 153u8, 248u8, 131u8, 1u8, 21u8, 237u8, 151u8, 49u8, 137u8,
248u8, 244u8, 148u8, 124u8, 199u8, 147u8, 252u8, 217u8, 10u8, 21u8,
212u8, 124u8, 77u8, 106u8, 216u8, 209u8, 163u8, 241u8, 90u8, 247u8, 52u8,
],
[
18u8, 85u8, 127u8, 37u8, 228u8, 88u8, 217u8, 104u8, 45u8, 124u8, 149u8,
155u8, 90u8, 150u8, 11u8, 201u8, 51u8, 46u8, 139u8, 122u8, 241u8, 18u8,
11u8, 84u8, 163u8, 51u8, 191u8, 193u8, 255u8, 40u8, 43u8, 57u8,
],
[
32u8, 56u8, 148u8, 7u8, 41u8, 148u8, 186u8, 100u8, 148u8, 170u8, 115u8,
69u8, 74u8, 4u8, 8u8, 225u8, 28u8, 51u8, 145u8, 64u8, 66u8, 124u8, 96u8,
9u8, 160u8, 37u8, 110u8, 31u8, 53u8, 149u8, 63u8, 66u8,
],
[
37u8, 14u8, 70u8, 114u8, 135u8, 123u8, 13u8, 79u8, 85u8, 46u8, 122u8,
191u8, 49u8, 151u8, 61u8, 150u8, 2u8, 33u8, 68u8, 158u8, 235u8, 151u8,
239u8, 157u8, 92u8, 48u8, 66u8, 149u8, 231u8, 179u8, 46u8, 148u8,
],
[
44u8, 175u8, 121u8, 172u8, 147u8, 238u8, 75u8, 62u8, 147u8, 20u8, 63u8,
24u8, 112u8, 47u8, 47u8, 254u8, 240u8, 111u8, 150u8, 78u8, 152u8, 255u8,
17u8, 92u8, 103u8, 131u8, 228u8, 189u8, 70u8, 179u8, 196u8, 51u8,
],
[
47u8, 93u8, 161u8, 239u8, 179u8, 166u8, 142u8, 206u8, 150u8, 12u8, 170u8,
95u8, 156u8, 39u8, 90u8, 159u8, 71u8, 109u8, 69u8, 241u8, 207u8, 197u8,
11u8, 146u8, 208u8, 27u8, 201u8, 163u8, 75u8, 56u8, 168u8, 246u8,
],
[
47u8, 135u8, 136u8, 17u8, 126u8, 126u8, 255u8, 29u8, 130u8, 233u8, 38u8,
236u8, 121u8, 73u8, 1u8, 209u8, 124u8, 120u8, 2u8, 74u8, 80u8, 39u8, 9u8,
64u8, 48u8, 69u8, 64u8, 167u8, 51u8, 101u8, 111u8, 13u8,
],
[
49u8, 14u8, 76u8, 222u8, 15u8, 251u8, 137u8, 232u8, 111u8, 56u8, 55u8,
122u8, 245u8, 45u8, 76u8, 94u8, 93u8, 95u8, 77u8, 183u8, 234u8, 226u8,
108u8, 103u8, 191u8, 0u8, 129u8, 110u8, 211u8, 47u8, 44u8, 75u8,
],
[
51u8, 52u8, 138u8, 114u8, 227u8, 8u8, 201u8, 43u8, 68u8, 117u8, 64u8,
240u8, 121u8, 197u8, 245u8, 137u8, 92u8, 199u8, 12u8, 216u8, 59u8, 21u8,
194u8, 100u8, 243u8, 48u8, 7u8, 60u8, 132u8, 23u8, 112u8, 252u8,
],
[
57u8, 129u8, 195u8, 201u8, 54u8, 51u8, 82u8, 72u8, 5u8, 201u8, 59u8, 0u8,
182u8, 26u8, 167u8, 92u8, 197u8, 156u8, 212u8, 35u8, 195u8, 12u8, 80u8,
35u8, 84u8, 167u8, 195u8, 71u8, 176u8, 178u8, 37u8, 36u8,
],
[
75u8, 155u8, 191u8, 46u8, 188u8, 121u8, 233u8, 251u8, 57u8, 166u8, 73u8,
32u8, 147u8, 75u8, 63u8, 69u8, 138u8, 72u8, 101u8, 82u8, 211u8, 223u8,
149u8, 57u8, 90u8, 167u8, 80u8, 236u8, 233u8, 233u8, 112u8, 147u8,
],
[
77u8, 60u8, 48u8, 245u8, 153u8, 63u8, 25u8, 34u8, 167u8, 121u8, 52u8,
90u8, 15u8, 126u8, 193u8, 161u8, 112u8, 241u8, 229u8, 46u8, 157u8, 35u8,
8u8, 36u8, 249u8, 193u8, 126u8, 99u8, 89u8, 108u8, 144u8, 109u8,
],
[
79u8, 226u8, 253u8, 230u8, 49u8, 233u8, 134u8, 238u8, 38u8, 40u8, 57u8,
1u8, 185u8, 204u8, 141u8, 109u8, 74u8, 49u8, 27u8, 117u8, 15u8, 159u8,
160u8, 214u8, 89u8, 82u8, 13u8, 235u8, 162u8, 153u8, 95u8, 31u8,
],
[
93u8, 185u8, 238u8, 10u8, 73u8, 91u8, 242u8, 230u8, 255u8, 156u8, 145u8,
167u8, 131u8, 76u8, 27u8, 164u8, 253u8, 210u8, 68u8, 165u8, 232u8, 170u8,
78u8, 83u8, 123u8, 211u8, 138u8, 234u8, 228u8, 176u8, 115u8, 170u8,
],
[
97u8, 74u8, 63u8, 168u8, 70u8, 126u8, 181u8, 76u8, 182u8, 10u8, 243u8,
170u8, 180u8, 64u8, 39u8, 152u8, 55u8, 201u8, 252u8, 215u8, 92u8, 90u8,
38u8, 23u8, 254u8, 10u8, 249u8, 198u8, 229u8, 230u8, 14u8, 131u8,
],
[
98u8, 231u8, 140u8, 234u8, 1u8, 190u8, 227u8, 32u8, 205u8, 78u8, 66u8,
2u8, 112u8, 181u8, 234u8, 116u8, 0u8, 13u8, 17u8, 176u8, 201u8, 247u8,
71u8, 84u8, 235u8, 219u8, 252u8, 84u8, 75u8, 5u8, 162u8, 88u8,
],
[
117u8, 79u8, 255u8, 34u8, 5u8, 202u8, 159u8, 26u8, 8u8, 174u8, 31u8,
56u8, 244u8, 135u8, 131u8, 155u8, 167u8, 225u8, 136u8, 149u8, 240u8,
35u8, 137u8, 8u8, 234u8, 139u8, 136u8, 66u8, 215u8, 66u8, 79u8, 187u8,
],
[
144u8, 179u8, 126u8, 89u8, 169u8, 66u8, 197u8, 65u8, 60u8, 224u8, 10u8,
58u8, 132u8, 74u8, 71u8, 194u8, 0u8, 148u8, 151u8, 152u8, 151u8, 204u8,
101u8, 54u8, 6u8, 217u8, 37u8, 233u8, 9u8, 136u8, 95u8, 53u8,
],
[
145u8, 239u8, 247u8, 211u8, 157u8, 36u8, 153u8, 215u8, 106u8, 194u8,
26u8, 25u8, 3u8, 169u8, 90u8, 136u8, 243u8, 21u8, 137u8, 203u8, 7u8,
177u8, 255u8, 223u8, 182u8, 29u8, 185u8, 247u8, 205u8, 138u8, 57u8, 120u8,
],
[
152u8, 48u8, 119u8, 185u8, 179u8, 57u8, 216u8, 61u8, 131u8, 186u8, 10u8,
203u8, 22u8, 250u8, 254u8, 17u8, 207u8, 83u8, 241u8, 241u8, 106u8, 80u8,
238u8, 224u8, 46u8, 76u8, 125u8, 70u8, 115u8, 80u8, 246u8, 202u8,
],
[
167u8, 184u8, 30u8, 1u8, 122u8, 190u8, 181u8, 14u8, 207u8, 44u8, 18u8,
28u8, 176u8, 219u8, 112u8, 135u8, 223u8, 196u8, 179u8, 204u8, 133u8,
205u8, 141u8, 133u8, 127u8, 154u8, 95u8, 30u8, 129u8, 246u8, 72u8, 69u8,
],
[
182u8, 213u8, 228u8, 93u8, 119u8, 184u8, 150u8, 124u8, 255u8, 82u8, 91u8,
55u8, 91u8, 230u8, 224u8, 127u8, 153u8, 202u8, 90u8, 249u8, 29u8, 136u8,
114u8, 74u8, 193u8, 35u8, 122u8, 175u8, 226u8, 149u8, 213u8, 14u8,
],
[
188u8, 17u8, 97u8, 126u8, 87u8, 93u8, 101u8, 140u8, 116u8, 233u8, 33u8,
200u8, 223u8, 34u8, 248u8, 228u8, 133u8, 102u8, 7u8, 47u8, 167u8, 129u8,
69u8, 166u8, 207u8, 225u8, 132u8, 32u8, 191u8, 141u8, 12u8, 78u8,
],
[
188u8, 124u8, 215u8, 90u8, 32u8, 238u8, 39u8, 253u8, 154u8, 222u8, 186u8,
179u8, 32u8, 65u8, 247u8, 85u8, 33u8, 77u8, 188u8, 107u8, 255u8, 169u8,
12u8, 192u8, 34u8, 91u8, 57u8, 218u8, 46u8, 92u8, 45u8, 59u8,
],
[
189u8, 121u8, 184u8, 111u8, 254u8, 10u8, 184u8, 232u8, 119u8, 97u8, 81u8,
81u8, 66u8, 23u8, 205u8, 124u8, 172u8, 213u8, 44u8, 144u8, 159u8, 102u8,
71u8, 92u8, 58u8, 244u8, 78u8, 18u8, 159u8, 11u8, 0u8, 255u8,
],
[
190u8, 178u8, 119u8, 1u8, 130u8, 143u8, 81u8, 91u8, 3u8, 6u8, 157u8,
68u8, 218u8, 101u8, 25u8, 182u8, 196u8, 145u8, 218u8, 19u8, 239u8, 28u8,
167u8, 8u8, 46u8, 97u8, 153u8, 89u8, 209u8, 244u8, 141u8, 219u8,
],
[
195u8, 140u8, 239u8, 13u8, 0u8, 59u8, 200u8, 169u8, 152u8, 45u8, 176u8,
217u8, 148u8, 178u8, 234u8, 4u8, 137u8, 70u8, 2u8, 142u8, 146u8, 85u8,
204u8, 6u8, 26u8, 86u8, 171u8, 203u8, 183u8, 213u8, 72u8, 161u8,
],
[
199u8, 245u8, 5u8, 178u8, 243u8, 113u8, 174u8, 33u8, 117u8, 238u8, 73u8,
19u8, 244u8, 73u8, 158u8, 31u8, 38u8, 51u8, 167u8, 181u8, 147u8, 99u8,
33u8, 238u8, 209u8, 205u8, 174u8, 182u8, 17u8, 81u8, 129u8, 210u8,
],
[
209u8, 193u8, 159u8, 188u8, 212u8, 85u8, 26u8, 94u8, 223u8, 182u8, 109u8,
67u8, 210u8, 227u8, 55u8, 192u8, 72u8, 55u8, 175u8, 218u8, 52u8, 130u8,
180u8, 43u8, 223u8, 86u8, 154u8, 143u8, 204u8, 218u8, 229u8, 251u8,
],
[
218u8, 43u8, 81u8, 52u8, 16u8, 121u8, 243u8, 221u8, 142u8, 103u8, 99u8,
165u8, 15u8, 50u8, 155u8, 188u8, 61u8, 198u8, 202u8, 106u8, 81u8, 185u8,
32u8, 254u8, 153u8, 251u8, 248u8, 154u8, 84u8, 236u8, 14u8, 39u8,
],
[
218u8, 223u8, 248u8, 41u8, 201u8, 172u8, 43u8, 62u8, 19u8, 128u8, 142u8,
45u8, 155u8, 156u8, 169u8, 212u8, 42u8, 189u8, 72u8, 29u8, 138u8, 254u8,
2u8, 221u8, 79u8, 53u8, 76u8, 47u8, 191u8, 156u8, 222u8, 243u8,
],
[
228u8, 24u8, 53u8, 20u8, 199u8, 72u8, 48u8, 57u8, 83u8, 140u8, 209u8,
249u8, 202u8, 32u8, 228u8, 137u8, 179u8, 196u8, 17u8, 243u8, 175u8, 18u8,
17u8, 207u8, 107u8, 90u8, 208u8, 160u8, 12u8, 164u8, 226u8, 40u8,
],
[
235u8, 13u8, 155u8, 52u8, 239u8, 7u8, 27u8, 135u8, 218u8, 133u8, 145u8,
221u8, 216u8, 44u8, 198u8, 127u8, 144u8, 198u8, 128u8, 98u8, 1u8, 181u8,
201u8, 221u8, 201u8, 31u8, 6u8, 36u8, 103u8, 125u8, 200u8, 21u8,
],
[
246u8, 57u8, 31u8, 92u8, 50u8, 217u8, 198u8, 157u8, 42u8, 71u8, 234u8,
103u8, 11u8, 68u8, 41u8, 116u8, 181u8, 57u8, 53u8, 209u8, 237u8, 199u8,
253u8, 100u8, 235u8, 33u8, 224u8, 71u8, 168u8, 57u8, 23u8, 27u8,
],
[
247u8, 232u8, 116u8, 217u8, 253u8, 66u8, 131u8, 139u8, 15u8, 6u8, 164u8,
76u8, 123u8, 190u8, 69u8, 65u8, 123u8, 153u8, 30u8, 107u8, 0u8, 14u8,
140u8, 164u8, 197u8, 193u8, 240u8, 134u8, 8u8, 74u8, 156u8, 211u8,
],
[
253u8, 71u8, 237u8, 142u8, 101u8, 63u8, 186u8, 94u8, 110u8, 159u8, 202u8,
169u8, 71u8, 65u8, 156u8, 162u8, 51u8, 75u8, 57u8, 114u8, 206u8, 25u8,
97u8, 50u8, 236u8, 105u8, 112u8, 133u8, 116u8, 214u8, 211u8, 90u8,
],
];
/// The names of the variants in the same order as `SELECTORS`.
pub const VARIANT_NAMES: &'static [&'static str] = &[
::core::stringify!(DelegatorUnstakeScheduled),
::core::stringify!(OperatorLeft),
::core::stringify!(FacetSelectorSet),
::core::stringify!(PendingSlashIncremented),
::core::stringify!(OperatorWhitelistUpdated),
::core::stringify!(OperatorDelegationModeSet),
::core::stringify!(Slashed),
::core::stringify!(RoleGranted),
::core::stringify!(DustAccumulated),
::core::stringify!(ExpiredLocksHarvested),
::core::stringify!(DustSwept),
::core::stringify!(OperatorBlueprintRemoved),
::core::stringify!(FacetRegistered),
::core::stringify!(Delegated),
::core::stringify!(Unpaused),
::core::stringify!(OperatorStakeIncreased),
::core::stringify!(Paused),
::core::stringify!(Deposited),
::core::stringify!(PendingSlashCountReset),
::core::stringify!(WithdrawScheduled),
::core::stringify!(SlashRecorded),
::core::stringify!(BlueprintAddedToDelegation),
::core::stringify!(OperatorBlueprintAdded),
::core::stringify!(OperatorRegistered),
::core::stringify!(Upgraded),
::core::stringify!(RoleAdminChanged),
::core::stringify!(FacetSelectorCleared),
::core::stringify!(BlueprintRemovedFromDelegation),
::core::stringify!(Initialized),
::core::stringify!(Withdrawn),
::core::stringify!(OperatorUnstakeExecuted),
::core::stringify!(PendingSlashDecremented),
::core::stringify!(DelegatorUnstakeExecuted),
::core::stringify!(SlashedForService),
::core::stringify!(RoleRevoked),
::core::stringify!(OperatorUnstakeScheduled),
::core::stringify!(OperatorLeavingScheduled),
];
/// The signatures in the same order as `SELECTORS`.
pub const SIGNATURES: &'static [&'static str] = &[
<DelegatorUnstakeScheduled as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorLeft as alloy_sol_types::SolEvent>::SIGNATURE,
<FacetSelectorSet as alloy_sol_types::SolEvent>::SIGNATURE,
<PendingSlashIncremented as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorWhitelistUpdated as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorDelegationModeSet as alloy_sol_types::SolEvent>::SIGNATURE,
<Slashed as alloy_sol_types::SolEvent>::SIGNATURE,
<RoleGranted as alloy_sol_types::SolEvent>::SIGNATURE,
<DustAccumulated as alloy_sol_types::SolEvent>::SIGNATURE,
<ExpiredLocksHarvested as alloy_sol_types::SolEvent>::SIGNATURE,
<DustSwept as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorBlueprintRemoved as alloy_sol_types::SolEvent>::SIGNATURE,
<FacetRegistered as alloy_sol_types::SolEvent>::SIGNATURE,
<Delegated as alloy_sol_types::SolEvent>::SIGNATURE,
<Unpaused as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorStakeIncreased as alloy_sol_types::SolEvent>::SIGNATURE,
<Paused as alloy_sol_types::SolEvent>::SIGNATURE,
<Deposited as alloy_sol_types::SolEvent>::SIGNATURE,
<PendingSlashCountReset as alloy_sol_types::SolEvent>::SIGNATURE,
<WithdrawScheduled as alloy_sol_types::SolEvent>::SIGNATURE,
<SlashRecorded as alloy_sol_types::SolEvent>::SIGNATURE,
<BlueprintAddedToDelegation as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorBlueprintAdded as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorRegistered as alloy_sol_types::SolEvent>::SIGNATURE,
<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE,
<RoleAdminChanged as alloy_sol_types::SolEvent>::SIGNATURE,
<FacetSelectorCleared as alloy_sol_types::SolEvent>::SIGNATURE,
<BlueprintRemovedFromDelegation as alloy_sol_types::SolEvent>::SIGNATURE,
<Initialized as alloy_sol_types::SolEvent>::SIGNATURE,
<Withdrawn as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorUnstakeExecuted as alloy_sol_types::SolEvent>::SIGNATURE,
<PendingSlashDecremented as alloy_sol_types::SolEvent>::SIGNATURE,
<DelegatorUnstakeExecuted as alloy_sol_types::SolEvent>::SIGNATURE,
<SlashedForService as alloy_sol_types::SolEvent>::SIGNATURE,
<RoleRevoked as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorUnstakeScheduled as alloy_sol_types::SolEvent>::SIGNATURE,
<OperatorLeavingScheduled as alloy_sol_types::SolEvent>::SIGNATURE,
];
/// Returns the signature for the given selector, if known.
#[inline]
pub fn signature_by_selector(
selector: [u8; 32usize],
) -> ::core::option::Option<&'static str> {
match Self::SELECTORS.binary_search(&selector) {
::core::result::Result::Ok(idx) => {
::core::option::Option::Some(Self::SIGNATURES[idx])
}
::core::result::Result::Err(_) => ::core::option::Option::None,
}
}
/// Returns the enum variant name for the given selector, if known.
#[inline]
pub fn name_by_selector(
selector: [u8; 32usize],
) -> ::core::option::Option<&'static str> {
let sig = Self::signature_by_selector(selector)?;
sig.split_once('(').map(|(name, _)| name)
}
}
#[automatically_derived]
impl alloy_sol_types::SolEventInterface for MultiAssetDelegationEvents {
const NAME: &'static str = "MultiAssetDelegationEvents";
const COUNT: usize = 37usize;
fn decode_raw_log(
topics: &[alloy_sol_types::Word],
data: &[u8],
) -> alloy_sol_types::Result<Self> {
match topics.first().copied() {
Some(
<BlueprintAddedToDelegation as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<BlueprintAddedToDelegation as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::BlueprintAddedToDelegation)
}
Some(
<BlueprintRemovedFromDelegation as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<BlueprintRemovedFromDelegation as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::BlueprintRemovedFromDelegation)
}
Some(<Delegated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Delegated as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::Delegated)
}
Some(
<DelegatorUnstakeExecuted as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<DelegatorUnstakeExecuted as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::DelegatorUnstakeExecuted)
}
Some(
<DelegatorUnstakeScheduled as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<DelegatorUnstakeScheduled as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::DelegatorUnstakeScheduled)
}
Some(<Deposited as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Deposited as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::Deposited)
}
Some(<DustAccumulated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<DustAccumulated as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::DustAccumulated)
}
Some(<DustSwept as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<DustSwept as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::DustSwept)
}
Some(
<ExpiredLocksHarvested as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<ExpiredLocksHarvested as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::ExpiredLocksHarvested)
}
Some(<FacetRegistered as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<FacetRegistered as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::FacetRegistered)
}
Some(
<FacetSelectorCleared as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<FacetSelectorCleared as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::FacetSelectorCleared)
}
Some(<FacetSelectorSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<FacetSelectorSet as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::FacetSelectorSet)
}
Some(<Initialized as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Initialized as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::Initialized)
}
Some(
<OperatorBlueprintAdded as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorBlueprintAdded as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorBlueprintAdded)
}
Some(
<OperatorBlueprintRemoved as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorBlueprintRemoved as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorBlueprintRemoved)
}
Some(
<OperatorDelegationModeSet as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorDelegationModeSet as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorDelegationModeSet)
}
Some(
<OperatorLeavingScheduled as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorLeavingScheduled as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorLeavingScheduled)
}
Some(<OperatorLeft as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<OperatorLeft as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorLeft)
}
Some(
<OperatorRegistered as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorRegistered as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorRegistered)
}
Some(
<OperatorStakeIncreased as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorStakeIncreased as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorStakeIncreased)
}
Some(
<OperatorUnstakeExecuted as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorUnstakeExecuted as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorUnstakeExecuted)
}
Some(
<OperatorUnstakeScheduled as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorUnstakeScheduled as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorUnstakeScheduled)
}
Some(
<OperatorWhitelistUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<OperatorWhitelistUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::OperatorWhitelistUpdated)
}
Some(<Paused as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Paused as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
.map(Self::Paused)
}
Some(
<PendingSlashCountReset as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<PendingSlashCountReset as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::PendingSlashCountReset)
}
Some(
<PendingSlashDecremented as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<PendingSlashDecremented as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::PendingSlashDecremented)
}
Some(
<PendingSlashIncremented as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<PendingSlashIncremented as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::PendingSlashIncremented)
}
Some(<RoleAdminChanged as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<RoleAdminChanged as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::RoleAdminChanged)
}
Some(<RoleGranted as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<RoleGranted as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::RoleGranted)
}
Some(<RoleRevoked as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<RoleRevoked as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::RoleRevoked)
}
Some(<SlashRecorded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<SlashRecorded as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::SlashRecorded)
}
Some(<Slashed as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Slashed as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
.map(Self::Slashed)
}
Some(
<SlashedForService as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<SlashedForService as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::SlashedForService)
}
Some(<Unpaused as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Unpaused as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
.map(Self::Unpaused)
}
Some(<Upgraded as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Upgraded as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
.map(Self::Upgraded)
}
Some(
<WithdrawScheduled as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
) => {
<WithdrawScheduled as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::WithdrawScheduled)
}
Some(<Withdrawn as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
<Withdrawn as alloy_sol_types::SolEvent>::decode_raw_log(
topics,
data,
)
.map(Self::Withdrawn)
}
_ => {
alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
name: <Self as alloy_sol_types::SolEventInterface>::NAME,
log: alloy_sol_types::private::Box::new(
alloy_sol_types::private::LogData::new_unchecked(
topics.to_vec(),
data.to_vec().into(),
),
),
})
}
}
}
}
#[automatically_derived]
impl alloy_sol_types::private::IntoLogData for MultiAssetDelegationEvents {
fn to_log_data(&self) -> alloy_sol_types::private::LogData {
match self {
Self::BlueprintAddedToDelegation(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::BlueprintRemovedFromDelegation(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Delegated(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::DelegatorUnstakeExecuted(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::DelegatorUnstakeScheduled(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Deposited(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::DustAccumulated(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::DustSwept(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::ExpiredLocksHarvested(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::FacetRegistered(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::FacetSelectorCleared(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::FacetSelectorSet(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Initialized(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorBlueprintAdded(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorBlueprintRemoved(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorDelegationModeSet(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorLeavingScheduled(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorLeft(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorRegistered(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorStakeIncreased(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorUnstakeExecuted(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorUnstakeScheduled(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::OperatorWhitelistUpdated(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Paused(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::PendingSlashCountReset(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::PendingSlashDecremented(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::PendingSlashIncremented(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::RoleAdminChanged(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::RoleGranted(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::RoleRevoked(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::SlashRecorded(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Slashed(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::SlashedForService(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Unpaused(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Upgraded(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::WithdrawScheduled(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
Self::Withdrawn(inner) => {
alloy_sol_types::private::IntoLogData::to_log_data(inner)
}
}
}
fn into_log_data(self) -> alloy_sol_types::private::LogData {
match self {
Self::BlueprintAddedToDelegation(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::BlueprintRemovedFromDelegation(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Delegated(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::DelegatorUnstakeExecuted(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::DelegatorUnstakeScheduled(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Deposited(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::DustAccumulated(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::DustSwept(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::ExpiredLocksHarvested(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::FacetRegistered(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::FacetSelectorCleared(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::FacetSelectorSet(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Initialized(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorBlueprintAdded(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorBlueprintRemoved(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorDelegationModeSet(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorLeavingScheduled(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorLeft(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorRegistered(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorStakeIncreased(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorUnstakeExecuted(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorUnstakeScheduled(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::OperatorWhitelistUpdated(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Paused(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::PendingSlashCountReset(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::PendingSlashDecremented(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::PendingSlashIncremented(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::RoleAdminChanged(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::RoleGranted(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::RoleRevoked(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::SlashRecorded(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Slashed(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::SlashedForService(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Unpaused(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Upgraded(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::WithdrawScheduled(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
Self::Withdrawn(inner) => {
alloy_sol_types::private::IntoLogData::into_log_data(inner)
}
}
}
}
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`MultiAssetDelegation`](self) contract instance.
See the [wrapper's documentation](`MultiAssetDelegationInstance`) for more details.*/
#[inline]
pub const fn new<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
>(
address: alloy_sol_types::private::Address,
__provider: P,
) -> MultiAssetDelegationInstance<P, N> {
MultiAssetDelegationInstance::<P, N>::new(address, __provider)
}
/**Deploys this contract using the given `provider` and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
#[inline]
pub fn deploy<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
>(
__provider: P,
) -> impl ::core::future::Future<
Output = alloy_contract::Result<MultiAssetDelegationInstance<P, N>>,
> {
MultiAssetDelegationInstance::<P, N>::deploy(__provider)
}
/**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
and constructor arguments, if any.
This is a simple wrapper around creating a `RawCallBuilder` with the data set to
the bytecode concatenated with the constructor's ABI-encoded arguments.*/
#[inline]
pub fn deploy_builder<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
>(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
MultiAssetDelegationInstance::<P, N>::deploy_builder(__provider)
}
/**A [`MultiAssetDelegation`](self) instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`MultiAssetDelegation`](self) contract located at a given `address`, using a given
provider `P`.
If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
documentation on how to provide it), the `deploy` and `deploy_builder` methods can
be used to deploy a new instance of the contract.
See the [module-level documentation](self) for all the available methods.*/
#[derive(Clone)]
pub struct MultiAssetDelegationInstance<P, N = alloy_contract::private::Ethereum> {
address: alloy_sol_types::private::Address,
provider: P,
_network: ::core::marker::PhantomData<N>,
}
#[automatically_derived]
impl<P, N> ::core::fmt::Debug for MultiAssetDelegationInstance<P, N> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("MultiAssetDelegationInstance").field(&self.address).finish()
}
}
/// Instantiation and getters/setters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> MultiAssetDelegationInstance<P, N> {
/**Creates a new wrapper around an on-chain [`MultiAssetDelegation`](self) contract instance.
See the [wrapper's documentation](`MultiAssetDelegationInstance`) for more details.*/
#[inline]
pub const fn new(
address: alloy_sol_types::private::Address,
__provider: P,
) -> Self {
Self {
address,
provider: __provider,
_network: ::core::marker::PhantomData,
}
}
/**Deploys this contract using the given `provider` and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
#[inline]
pub async fn deploy(
__provider: P,
) -> alloy_contract::Result<MultiAssetDelegationInstance<P, N>> {
let call_builder = Self::deploy_builder(__provider);
let contract_address = call_builder.deploy().await?;
Ok(Self::new(contract_address, call_builder.provider))
}
/**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
and constructor arguments, if any.
This is a simple wrapper around creating a `RawCallBuilder` with the data set to
the bytecode concatenated with the constructor's ABI-encoded arguments.*/
#[inline]
pub fn deploy_builder(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
alloy_contract::RawCallBuilder::new_raw_deploy(
__provider,
::core::clone::Clone::clone(&BYTECODE),
)
}
/// Returns a reference to the address.
#[inline]
pub const fn address(&self) -> &alloy_sol_types::private::Address {
&self.address
}
/// Sets the address.
#[inline]
pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
self.address = address;
}
/// Sets the address and returns `self`.
pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
self.set_address(address);
self
}
/// Returns a reference to the provider.
#[inline]
pub const fn provider(&self) -> &P {
&self.provider
}
}
impl<P: ::core::clone::Clone, N> MultiAssetDelegationInstance<&P, N> {
/// Clones the provider and returns a new instance with the cloned provider.
#[inline]
pub fn with_cloned_provider(self) -> MultiAssetDelegationInstance<P, N> {
MultiAssetDelegationInstance {
address: self.address,
provider: ::core::clone::Clone::clone(&self.provider),
_network: ::core::marker::PhantomData,
}
}
}
/// Function calls.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> MultiAssetDelegationInstance<P, N> {
/// Creates a new call builder using this contract instance's provider and address.
///
/// Note that the call can be any function call, not just those defined in this
/// contract. Prefer using the other methods for building type-safe contract calls.
pub fn call_builder<C: alloy_sol_types::SolCall>(
&self,
call: &C,
) -> alloy_contract::SolCallBuilder<&P, C, N> {
alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
}
///Creates a new call builder for the [`ADMIN_ROLE`] function.
pub fn ADMIN_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, ADMIN_ROLECall, N> {
self.call_builder(&ADMIN_ROLECall)
}
///Creates a new call builder for the [`ASSET_MANAGER_ROLE`] function.
pub fn ASSET_MANAGER_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, ASSET_MANAGER_ROLECall, N> {
self.call_builder(&ASSET_MANAGER_ROLECall)
}
///Creates a new call builder for the [`BPS_DENOMINATOR`] function.
pub fn BPS_DENOMINATOR(
&self,
) -> alloy_contract::SolCallBuilder<&P, BPS_DENOMINATORCall, N> {
self.call_builder(&BPS_DENOMINATORCall)
}
///Creates a new call builder for the [`COMMISSION_CHANGE_DELAY`] function.
pub fn COMMISSION_CHANGE_DELAY(
&self,
) -> alloy_contract::SolCallBuilder<&P, COMMISSION_CHANGE_DELAYCall, N> {
self.call_builder(&COMMISSION_CHANGE_DELAYCall)
}
///Creates a new call builder for the [`DEFAULT_ADMIN_ROLE`] function.
pub fn DEFAULT_ADMIN_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, DEFAULT_ADMIN_ROLECall, N> {
self.call_builder(&DEFAULT_ADMIN_ROLECall)
}
///Creates a new call builder for the [`LOCK_ONE_MONTH`] function.
pub fn LOCK_ONE_MONTH(
&self,
) -> alloy_contract::SolCallBuilder<&P, LOCK_ONE_MONTHCall, N> {
self.call_builder(&LOCK_ONE_MONTHCall)
}
///Creates a new call builder for the [`LOCK_SIX_MONTHS`] function.
pub fn LOCK_SIX_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, LOCK_SIX_MONTHSCall, N> {
self.call_builder(&LOCK_SIX_MONTHSCall)
}
///Creates a new call builder for the [`LOCK_THREE_MONTHS`] function.
pub fn LOCK_THREE_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, LOCK_THREE_MONTHSCall, N> {
self.call_builder(&LOCK_THREE_MONTHSCall)
}
///Creates a new call builder for the [`LOCK_TWO_MONTHS`] function.
pub fn LOCK_TWO_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, LOCK_TWO_MONTHSCall, N> {
self.call_builder(&LOCK_TWO_MONTHSCall)
}
///Creates a new call builder for the [`MIN_LOCK_AMOUNT`] function.
pub fn MIN_LOCK_AMOUNT(
&self,
) -> alloy_contract::SolCallBuilder<&P, MIN_LOCK_AMOUNTCall, N> {
self.call_builder(&MIN_LOCK_AMOUNTCall)
}
///Creates a new call builder for the [`MULTIPLIER_NONE`] function.
pub fn MULTIPLIER_NONE(
&self,
) -> alloy_contract::SolCallBuilder<&P, MULTIPLIER_NONECall, N> {
self.call_builder(&MULTIPLIER_NONECall)
}
///Creates a new call builder for the [`MULTIPLIER_ONE_MONTH`] function.
pub fn MULTIPLIER_ONE_MONTH(
&self,
) -> alloy_contract::SolCallBuilder<&P, MULTIPLIER_ONE_MONTHCall, N> {
self.call_builder(&MULTIPLIER_ONE_MONTHCall)
}
///Creates a new call builder for the [`MULTIPLIER_SIX_MONTHS`] function.
pub fn MULTIPLIER_SIX_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, MULTIPLIER_SIX_MONTHSCall, N> {
self.call_builder(&MULTIPLIER_SIX_MONTHSCall)
}
///Creates a new call builder for the [`MULTIPLIER_THREE_MONTHS`] function.
pub fn MULTIPLIER_THREE_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, MULTIPLIER_THREE_MONTHSCall, N> {
self.call_builder(&MULTIPLIER_THREE_MONTHSCall)
}
///Creates a new call builder for the [`MULTIPLIER_TWO_MONTHS`] function.
pub fn MULTIPLIER_TWO_MONTHS(
&self,
) -> alloy_contract::SolCallBuilder<&P, MULTIPLIER_TWO_MONTHSCall, N> {
self.call_builder(&MULTIPLIER_TWO_MONTHSCall)
}
///Creates a new call builder for the [`PRECISION`] function.
pub fn PRECISION(&self) -> alloy_contract::SolCallBuilder<&P, PRECISIONCall, N> {
self.call_builder(&PRECISIONCall)
}
///Creates a new call builder for the [`SLASHER_ROLE`] function.
pub fn SLASHER_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, SLASHER_ROLECall, N> {
self.call_builder(&SLASHER_ROLECall)
}
///Creates a new call builder for the [`TANGLE_ROLE`] function.
pub fn TANGLE_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, TANGLE_ROLECall, N> {
self.call_builder(&TANGLE_ROLECall)
}
///Creates a new call builder for the [`UPGRADE_INTERFACE_VERSION`] function.
pub fn UPGRADE_INTERFACE_VERSION(
&self,
) -> alloy_contract::SolCallBuilder<&P, UPGRADE_INTERFACE_VERSIONCall, N> {
self.call_builder(&UPGRADE_INTERFACE_VERSIONCall)
}
///Creates a new call builder for the [`VIRTUAL_ASSETS`] function.
pub fn VIRTUAL_ASSETS(
&self,
) -> alloy_contract::SolCallBuilder<&P, VIRTUAL_ASSETSCall, N> {
self.call_builder(&VIRTUAL_ASSETSCall)
}
///Creates a new call builder for the [`VIRTUAL_SHARES`] function.
pub fn VIRTUAL_SHARES(
&self,
) -> alloy_contract::SolCallBuilder<&P, VIRTUAL_SHARESCall, N> {
self.call_builder(&VIRTUAL_SHARESCall)
}
///Creates a new call builder for the [`blueprintSlashCount`] function.
pub fn blueprintSlashCount(
&self,
_0: u64,
_1: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, blueprintSlashCountCall, N> {
self.call_builder(&blueprintSlashCountCall { _0, _1 })
}
///Creates a new call builder for the [`clearFacetSelectors`] function.
pub fn clearFacetSelectors(
&self,
selectors: alloy::sol_types::private::Vec<
alloy::sol_types::private::FixedBytes<4>,
>,
) -> alloy_contract::SolCallBuilder<&P, clearFacetSelectorsCall, N> {
self.call_builder(
&clearFacetSelectorsCall {
selectors,
},
)
}
///Creates a new call builder for the [`currentRound`] function.
pub fn currentRound(
&self,
) -> alloy_contract::SolCallBuilder<&P, currentRoundCall, N> {
self.call_builder(¤tRoundCall)
}
///Creates a new call builder for the [`delegationBondLessDelay`] function.
pub fn delegationBondLessDelay(
&self,
) -> alloy_contract::SolCallBuilder<&P, delegationBondLessDelayCall, N> {
self.call_builder(&delegationBondLessDelayCall)
}
///Creates a new call builder for the [`facetForSelector`] function.
pub fn facetForSelector(
&self,
selector: alloy::sol_types::private::FixedBytes<4>,
) -> alloy_contract::SolCallBuilder<&P, facetForSelectorCall, N> {
self.call_builder(&facetForSelectorCall { selector })
}
///Creates a new call builder for the [`getAccumulatedDust`] function.
pub fn getAccumulatedDust(
&self,
token: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getAccumulatedDustCall, N> {
self.call_builder(&getAccumulatedDustCall { token })
}
///Creates a new call builder for the [`getAssetAdapter`] function.
pub fn getAssetAdapter(
&self,
token: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getAssetAdapterCall, N> {
self.call_builder(&getAssetAdapterCall { token })
}
///Creates a new call builder for the [`getOperatorSlashFactor`] function.
pub fn getOperatorSlashFactor(
&self,
operator: alloy::sol_types::private::Address,
assetHash: alloy::sol_types::private::FixedBytes<32>,
) -> alloy_contract::SolCallBuilder<&P, getOperatorSlashFactorCall, N> {
self.call_builder(
&getOperatorSlashFactorCall {
operator,
assetHash,
},
)
}
///Creates a new call builder for the [`getPendingSlashCount`] function.
pub fn getPendingSlashCount(
&self,
operator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getPendingSlashCountCall, N> {
self.call_builder(
&getPendingSlashCountCall {
operator,
},
)
}
///Creates a new call builder for the [`getRoleAdmin`] function.
pub fn getRoleAdmin(
&self,
role: alloy::sol_types::private::FixedBytes<32>,
) -> alloy_contract::SolCallBuilder<&P, getRoleAdminCall, N> {
self.call_builder(&getRoleAdminCall { role })
}
///Creates a new call builder for the [`getSlashCount`] function.
pub fn getSlashCount(
&self,
operator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getSlashCountCall, N> {
self.call_builder(&getSlashCountCall { operator })
}
///Creates a new call builder for the [`getSlashCountForBlueprint`] function.
pub fn getSlashCountForBlueprint(
&self,
blueprintId: u64,
operator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getSlashCountForBlueprintCall, N> {
self.call_builder(
&getSlashCountForBlueprintCall {
blueprintId,
operator,
},
)
}
///Creates a new call builder for the [`getSlashCountForService`] function.
pub fn getSlashCountForService(
&self,
serviceId: u64,
operator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getSlashCountForServiceCall, N> {
self.call_builder(
&getSlashCountForServiceCall {
serviceId,
operator,
},
)
}
///Creates a new call builder for the [`getSlashImpact`] function.
pub fn getSlashImpact(
&self,
operator: alloy::sol_types::private::Address,
slashId: u64,
delegator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getSlashImpactCall, N> {
self.call_builder(
&getSlashImpactCall {
operator,
slashId,
delegator,
},
)
}
///Creates a new call builder for the [`getSlashRecord`] function.
pub fn getSlashRecord(
&self,
operator: alloy::sol_types::private::Address,
slashId: u64,
) -> alloy_contract::SolCallBuilder<&P, getSlashRecordCall, N> {
self.call_builder(
&getSlashRecordCall {
operator,
slashId,
},
)
}
///Creates a new call builder for the [`getSnapshot`] function.
pub fn getSnapshot(
&self,
round: u64,
operator: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, getSnapshotCall, N> {
self.call_builder(&getSnapshotCall { round, operator })
}
///Creates a new call builder for the [`grantRole`] function.
pub fn grantRole(
&self,
role: alloy::sol_types::private::FixedBytes<32>,
account: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, grantRoleCall, N> {
self.call_builder(&grantRoleCall { role, account })
}
///Creates a new call builder for the [`hasRole`] function.
pub fn hasRole(
&self,
role: alloy::sol_types::private::FixedBytes<32>,
account: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, hasRoleCall, N> {
self.call_builder(&hasRoleCall { role, account })
}
///Creates a new call builder for the [`initialize`] function.
pub fn initialize(
&self,
admin: alloy::sol_types::private::Address,
nativeMinOperatorStake: alloy::sol_types::private::primitives::aliases::U256,
nativeMinDelegation: alloy::sol_types::private::primitives::aliases::U256,
_operatorCommissionBps: u16,
) -> alloy_contract::SolCallBuilder<&P, initializeCall, N> {
self.call_builder(
&initializeCall {
admin,
nativeMinOperatorStake,
nativeMinDelegation,
_operatorCommissionBps,
},
)
}
///Creates a new call builder for the [`lastRoundAdvance`] function.
pub fn lastRoundAdvance(
&self,
) -> alloy_contract::SolCallBuilder<&P, lastRoundAdvanceCall, N> {
self.call_builder(&lastRoundAdvanceCall)
}
///Creates a new call builder for the [`leaveDelegatorsDelay`] function.
pub fn leaveDelegatorsDelay(
&self,
) -> alloy_contract::SolCallBuilder<&P, leaveDelegatorsDelayCall, N> {
self.call_builder(&leaveDelegatorsDelayCall)
}
///Creates a new call builder for the [`leaveOperatorsDelay`] function.
pub fn leaveOperatorsDelay(
&self,
) -> alloy_contract::SolCallBuilder<&P, leaveOperatorsDelayCall, N> {
self.call_builder(&leaveOperatorsDelayCall)
}
///Creates a new call builder for the [`nativeEnabled`] function.
pub fn nativeEnabled(
&self,
) -> alloy_contract::SolCallBuilder<&P, nativeEnabledCall, N> {
self.call_builder(&nativeEnabledCall)
}
///Creates a new call builder for the [`nextSlashId`] function.
pub fn nextSlashId(
&self,
_0: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, nextSlashIdCall, N> {
self.call_builder(&nextSlashIdCall(_0))
}
///Creates a new call builder for the [`operatorCommissionBps`] function.
pub fn operatorCommissionBps(
&self,
) -> alloy_contract::SolCallBuilder<&P, operatorCommissionBpsCall, N> {
self.call_builder(&operatorCommissionBpsCall)
}
///Creates a new call builder for the [`paused`] function.
pub fn paused(&self) -> alloy_contract::SolCallBuilder<&P, pausedCall, N> {
self.call_builder(&pausedCall)
}
///Creates a new call builder for the [`proxiableUUID`] function.
pub fn proxiableUUID(
&self,
) -> alloy_contract::SolCallBuilder<&P, proxiableUUIDCall, N> {
self.call_builder(&proxiableUUIDCall)
}
///Creates a new call builder for the [`registerFacet`] function.
pub fn registerFacet(
&self,
facet: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, registerFacetCall, N> {
self.call_builder(®isterFacetCall { facet })
}
///Creates a new call builder for the [`registerFacetSelectors`] function.
pub fn registerFacetSelectors(
&self,
facet: alloy::sol_types::private::Address,
selectors: alloy::sol_types::private::Vec<
alloy::sol_types::private::FixedBytes<4>,
>,
) -> alloy_contract::SolCallBuilder<&P, registerFacetSelectorsCall, N> {
self.call_builder(
®isterFacetSelectorsCall {
facet,
selectors,
},
)
}
///Creates a new call builder for the [`renounceRole`] function.
pub fn renounceRole(
&self,
role: alloy::sol_types::private::FixedBytes<32>,
callerConfirmation: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, renounceRoleCall, N> {
self.call_builder(
&renounceRoleCall {
role,
callerConfirmation,
},
)
}
///Creates a new call builder for the [`requireAdapters`] function.
pub fn requireAdapters(
&self,
) -> alloy_contract::SolCallBuilder<&P, requireAdaptersCall, N> {
self.call_builder(&requireAdaptersCall)
}
///Creates a new call builder for the [`resetPendingSlashCount`] function.
pub fn resetPendingSlashCount(
&self,
operator: alloy::sol_types::private::Address,
count: u64,
) -> alloy_contract::SolCallBuilder<&P, resetPendingSlashCountCall, N> {
self.call_builder(
&resetPendingSlashCountCall {
operator,
count,
},
)
}
///Creates a new call builder for the [`revokeRole`] function.
pub fn revokeRole(
&self,
role: alloy::sol_types::private::FixedBytes<32>,
account: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, revokeRoleCall, N> {
self.call_builder(&revokeRoleCall { role, account })
}
///Creates a new call builder for the [`roundDuration`] function.
pub fn roundDuration(
&self,
) -> alloy_contract::SolCallBuilder<&P, roundDurationCall, N> {
self.call_builder(&roundDurationCall)
}
///Creates a new call builder for the [`serviceSlashCount`] function.
pub fn serviceSlashCount(
&self,
_0: u64,
_1: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<&P, serviceSlashCountCall, N> {
self.call_builder(&serviceSlashCountCall { _0, _1 })
}
///Creates a new call builder for the [`slashHistory`] function.
pub fn slashHistory(
&self,
_0: alloy::sol_types::private::Address,
_1: u64,
) -> alloy_contract::SolCallBuilder<&P, slashHistoryCall, N> {
self.call_builder(&slashHistoryCall { _0, _1 })
}
///Creates a new call builder for the [`supportsInterface`] function.
pub fn supportsInterface(
&self,
interfaceId: alloy::sol_types::private::FixedBytes<4>,
) -> alloy_contract::SolCallBuilder<&P, supportsInterfaceCall, N> {
self.call_builder(
&supportsInterfaceCall {
interfaceId,
},
)
}
///Creates a new call builder for the [`upgradeToAndCall`] function.
pub fn upgradeToAndCall(
&self,
newImplementation: alloy::sol_types::private::Address,
data: alloy::sol_types::private::Bytes,
) -> alloy_contract::SolCallBuilder<&P, upgradeToAndCallCall, N> {
self.call_builder(
&upgradeToAndCallCall {
newImplementation,
data,
},
)
}
}
/// Event filters.
impl<
P: alloy_contract::private::Provider<N>,
N: alloy_contract::private::Network,
> MultiAssetDelegationInstance<P, N> {
/// Creates a new event filter using this contract instance's provider and address.
///
/// Note that the type can be any event, not just those defined in this contract.
/// Prefer using the other methods for building type-safe event filters.
pub fn event_filter<E: alloy_sol_types::SolEvent>(
&self,
) -> alloy_contract::Event<&P, E, N> {
alloy_contract::Event::new_sol(&self.provider, &self.address)
}
///Creates a new event filter for the [`BlueprintAddedToDelegation`] event.
pub fn BlueprintAddedToDelegation_filter(
&self,
) -> alloy_contract::Event<&P, BlueprintAddedToDelegation, N> {
self.event_filter::<BlueprintAddedToDelegation>()
}
///Creates a new event filter for the [`BlueprintRemovedFromDelegation`] event.
pub fn BlueprintRemovedFromDelegation_filter(
&self,
) -> alloy_contract::Event<&P, BlueprintRemovedFromDelegation, N> {
self.event_filter::<BlueprintRemovedFromDelegation>()
}
///Creates a new event filter for the [`Delegated`] event.
pub fn Delegated_filter(&self) -> alloy_contract::Event<&P, Delegated, N> {
self.event_filter::<Delegated>()
}
///Creates a new event filter for the [`DelegatorUnstakeExecuted`] event.
pub fn DelegatorUnstakeExecuted_filter(
&self,
) -> alloy_contract::Event<&P, DelegatorUnstakeExecuted, N> {
self.event_filter::<DelegatorUnstakeExecuted>()
}
///Creates a new event filter for the [`DelegatorUnstakeScheduled`] event.
pub fn DelegatorUnstakeScheduled_filter(
&self,
) -> alloy_contract::Event<&P, DelegatorUnstakeScheduled, N> {
self.event_filter::<DelegatorUnstakeScheduled>()
}
///Creates a new event filter for the [`Deposited`] event.
pub fn Deposited_filter(&self) -> alloy_contract::Event<&P, Deposited, N> {
self.event_filter::<Deposited>()
}
///Creates a new event filter for the [`DustAccumulated`] event.
pub fn DustAccumulated_filter(
&self,
) -> alloy_contract::Event<&P, DustAccumulated, N> {
self.event_filter::<DustAccumulated>()
}
///Creates a new event filter for the [`DustSwept`] event.
pub fn DustSwept_filter(&self) -> alloy_contract::Event<&P, DustSwept, N> {
self.event_filter::<DustSwept>()
}
///Creates a new event filter for the [`ExpiredLocksHarvested`] event.
pub fn ExpiredLocksHarvested_filter(
&self,
) -> alloy_contract::Event<&P, ExpiredLocksHarvested, N> {
self.event_filter::<ExpiredLocksHarvested>()
}
///Creates a new event filter for the [`FacetRegistered`] event.
pub fn FacetRegistered_filter(
&self,
) -> alloy_contract::Event<&P, FacetRegistered, N> {
self.event_filter::<FacetRegistered>()
}
///Creates a new event filter for the [`FacetSelectorCleared`] event.
pub fn FacetSelectorCleared_filter(
&self,
) -> alloy_contract::Event<&P, FacetSelectorCleared, N> {
self.event_filter::<FacetSelectorCleared>()
}
///Creates a new event filter for the [`FacetSelectorSet`] event.
pub fn FacetSelectorSet_filter(
&self,
) -> alloy_contract::Event<&P, FacetSelectorSet, N> {
self.event_filter::<FacetSelectorSet>()
}
///Creates a new event filter for the [`Initialized`] event.
pub fn Initialized_filter(&self) -> alloy_contract::Event<&P, Initialized, N> {
self.event_filter::<Initialized>()
}
///Creates a new event filter for the [`OperatorBlueprintAdded`] event.
pub fn OperatorBlueprintAdded_filter(
&self,
) -> alloy_contract::Event<&P, OperatorBlueprintAdded, N> {
self.event_filter::<OperatorBlueprintAdded>()
}
///Creates a new event filter for the [`OperatorBlueprintRemoved`] event.
pub fn OperatorBlueprintRemoved_filter(
&self,
) -> alloy_contract::Event<&P, OperatorBlueprintRemoved, N> {
self.event_filter::<OperatorBlueprintRemoved>()
}
///Creates a new event filter for the [`OperatorDelegationModeSet`] event.
pub fn OperatorDelegationModeSet_filter(
&self,
) -> alloy_contract::Event<&P, OperatorDelegationModeSet, N> {
self.event_filter::<OperatorDelegationModeSet>()
}
///Creates a new event filter for the [`OperatorLeavingScheduled`] event.
pub fn OperatorLeavingScheduled_filter(
&self,
) -> alloy_contract::Event<&P, OperatorLeavingScheduled, N> {
self.event_filter::<OperatorLeavingScheduled>()
}
///Creates a new event filter for the [`OperatorLeft`] event.
pub fn OperatorLeft_filter(&self) -> alloy_contract::Event<&P, OperatorLeft, N> {
self.event_filter::<OperatorLeft>()
}
///Creates a new event filter for the [`OperatorRegistered`] event.
pub fn OperatorRegistered_filter(
&self,
) -> alloy_contract::Event<&P, OperatorRegistered, N> {
self.event_filter::<OperatorRegistered>()
}
///Creates a new event filter for the [`OperatorStakeIncreased`] event.
pub fn OperatorStakeIncreased_filter(
&self,
) -> alloy_contract::Event<&P, OperatorStakeIncreased, N> {
self.event_filter::<OperatorStakeIncreased>()
}
///Creates a new event filter for the [`OperatorUnstakeExecuted`] event.
pub fn OperatorUnstakeExecuted_filter(
&self,
) -> alloy_contract::Event<&P, OperatorUnstakeExecuted, N> {
self.event_filter::<OperatorUnstakeExecuted>()
}
///Creates a new event filter for the [`OperatorUnstakeScheduled`] event.
pub fn OperatorUnstakeScheduled_filter(
&self,
) -> alloy_contract::Event<&P, OperatorUnstakeScheduled, N> {
self.event_filter::<OperatorUnstakeScheduled>()
}
///Creates a new event filter for the [`OperatorWhitelistUpdated`] event.
pub fn OperatorWhitelistUpdated_filter(
&self,
) -> alloy_contract::Event<&P, OperatorWhitelistUpdated, N> {
self.event_filter::<OperatorWhitelistUpdated>()
}
///Creates a new event filter for the [`Paused`] event.
pub fn Paused_filter(&self) -> alloy_contract::Event<&P, Paused, N> {
self.event_filter::<Paused>()
}
///Creates a new event filter for the [`PendingSlashCountReset`] event.
pub fn PendingSlashCountReset_filter(
&self,
) -> alloy_contract::Event<&P, PendingSlashCountReset, N> {
self.event_filter::<PendingSlashCountReset>()
}
///Creates a new event filter for the [`PendingSlashDecremented`] event.
pub fn PendingSlashDecremented_filter(
&self,
) -> alloy_contract::Event<&P, PendingSlashDecremented, N> {
self.event_filter::<PendingSlashDecremented>()
}
///Creates a new event filter for the [`PendingSlashIncremented`] event.
pub fn PendingSlashIncremented_filter(
&self,
) -> alloy_contract::Event<&P, PendingSlashIncremented, N> {
self.event_filter::<PendingSlashIncremented>()
}
///Creates a new event filter for the [`RoleAdminChanged`] event.
pub fn RoleAdminChanged_filter(
&self,
) -> alloy_contract::Event<&P, RoleAdminChanged, N> {
self.event_filter::<RoleAdminChanged>()
}
///Creates a new event filter for the [`RoleGranted`] event.
pub fn RoleGranted_filter(&self) -> alloy_contract::Event<&P, RoleGranted, N> {
self.event_filter::<RoleGranted>()
}
///Creates a new event filter for the [`RoleRevoked`] event.
pub fn RoleRevoked_filter(&self) -> alloy_contract::Event<&P, RoleRevoked, N> {
self.event_filter::<RoleRevoked>()
}
///Creates a new event filter for the [`SlashRecorded`] event.
pub fn SlashRecorded_filter(
&self,
) -> alloy_contract::Event<&P, SlashRecorded, N> {
self.event_filter::<SlashRecorded>()
}
///Creates a new event filter for the [`Slashed`] event.
pub fn Slashed_filter(&self) -> alloy_contract::Event<&P, Slashed, N> {
self.event_filter::<Slashed>()
}
///Creates a new event filter for the [`SlashedForService`] event.
pub fn SlashedForService_filter(
&self,
) -> alloy_contract::Event<&P, SlashedForService, N> {
self.event_filter::<SlashedForService>()
}
///Creates a new event filter for the [`Unpaused`] event.
pub fn Unpaused_filter(&self) -> alloy_contract::Event<&P, Unpaused, N> {
self.event_filter::<Unpaused>()
}
///Creates a new event filter for the [`Upgraded`] event.
pub fn Upgraded_filter(&self) -> alloy_contract::Event<&P, Upgraded, N> {
self.event_filter::<Upgraded>()
}
///Creates a new event filter for the [`WithdrawScheduled`] event.
pub fn WithdrawScheduled_filter(
&self,
) -> alloy_contract::Event<&P, WithdrawScheduled, N> {
self.event_filter::<WithdrawScheduled>()
}
///Creates a new event filter for the [`Withdrawn`] event.
pub fn Withdrawn_filter(&self) -> alloy_contract::Event<&P, Withdrawn, N> {
self.event_filter::<Withdrawn>()
}
}
}