///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 UPGRADER_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": "UPGRADER_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
///0x60a06040523461003e5761001161004d565b610019610043565b6144dc61030782396080518181816139070152818161396c0152613b1b01526144dc90f35b610049565b60405190565b5f80fd5b61005561005f565b61005d61022a565b565b610067610069565b565b610071610073565b565b61007b61007d565b565b610085610087565b565b61008f610091565b565b61009961009b565b565b6100a36100a5565b565b6100ad6100af565b565b6100b76100b9565b565b6100c16100c3565b565b6100cb6100cd565b565b6100d56100d7565b565b6100df6100e1565b565b6100e961012d565b565b60018060a01b031690565b90565b61010d610108610112926100eb565b6100f6565b6100eb565b90565b61011e906100f9565b90565b61012a90610115565b90565b61013630610121565b608052565b60401c90565b60ff1690565b6101536101589161013b565b610141565b90565b6101659054610147565b90565b5f0190565b5f1c90565b60018060401b031690565b61018961018e9161016d565b610172565b90565b61019b905461017d565b90565b60018060401b031690565b5f1b90565b906101bf60018060401b03916101a9565b9181191691161790565b6101dd6101d86101e29261019e565b6100f6565b61019e565b90565b90565b906101fd6101f8610204926101c9565b6101e5565b82546101ae565b9055565b6102119061019e565b9052565b9190610228905f60208501940190610208565b565b6102326102e2565b61023d5f820161015b565b6102c65761024c5f8201610191565b61026461025e60018060401b0361019e565b9161019e565b0361026d575b50565b610280905f60018060401b0391016101e8565b60018060401b036102bd7fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2916102b4610043565b91829182610215565b0390a15f61026a565b5f63f92ee8a960e01b8152806102de60048201610168565b0390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009056fe60806040526004361015610015575b3661355557005b61001f5f356103de565b806301ffc9a7146103d957806305d64e38146103d45780630aa8b110146103cf57806312d91c88146103ca57806318056dc2146103c557806319e82e61146103c0578063248a9ca3146103bb5780632f2ff15d146103b657806332273f61146103b157806336568abe146103ac578063453eccea146103a757806346d163aa146103a2578063491474111461039d5780634962f88f146103985780634de8addc146103935780634e9c929a1461038e5780634f1ef286146103895780635095af641461038457806352d1902d1461037f57806354de23201461037a5780635c975abb14610375578063602356e31461037057806366c368751461036b57806372b5032d1461036657806375b238fc1461036157806377ab2cf31461035c5780637df92ada1461035757806388c47f68146103525780638a19c8bc1461034d5780638a7fe60f1461034857806390837ff41461034357806391d148541461033e5780639480e4dd146103395780639494f42614610334578063960856731461032f5780639722f4b91461032a5780639e87058514610325578063a217fddf14610320578063a457af3d1461031b578063a4b32de814610316578063a7fa6f9814610311578063aaf5eb681461030c578063ad3cb1cc14610307578063b54b2b9e14610302578063b6608409146102fd578063ba05bbf5146102f8578063c07449e2146102f3578063c550d938146102ee578063cbb6d6bd146102e9578063d27a6f06146102e4578063d45ff582146102df578063d547741f146102da578063db8a173a146102d5578063dd764abf146102d0578063e07dec29146102cb578063e1a45218146102c6578063e27e05c1146102c1578063f3c9b311146102bc578063f72c0d8b146102b75763f7cb789a0361000e57612038565b611ff4565b611f90565b611f23565b611eee565b611e85565b611e1c565b611daa565b611d67565b611d32565b611cc4565b611c54565b611b92565b611b5c565b611aee565b611aaa565b611a3e565b6119fa565b6118cb565b611858565b6117eb565b611786565b611664565b6115f4565b611585565b61152f565b6114e0565b611471565b61143b565b611406565b6113d1565b61137a565b611338565b6112c9565b61125b565b6111eb565b611186565b611151565b61111c565b6110b8565b611083565b611016565b610fe1565b610f88565b610e2c565b610d7d565b610d38565b610ccb565b610c98565b610c45565b610bd9565b610ba4565b610b3a565b610ad8565b610a71565b6109aa565b610927565b610882565b61051f565b61046a565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b63ffffffff60e01b1690565b61040b816103f6565b0361041257565b5f80fd5b9050359061042382610402565b565b9060208282031261043e5761043b915f01610416565b90565b6103ee565b151590565b61045190610443565b9052565b9190610468905f60208501940190610448565b565b3461049a57610496610485610480366004610425565b612071565b61048d6103e4565b91829182610455565b0390f35b6103ea565b5f9103126104a957565b6103ee565b1c90565b60018060401b031690565b6104cd9060086104d293026104ae565b6104b2565b90565b906104e091546104bd565b90565b6104ef5f6010906104d5565b90565b60018060401b031690565b610506906104f2565b9052565b919061051d905f602085019401906104fd565b565b3461054f5761052f36600461049f565b61054b61053a6104e3565b6105426103e4565b9182918261050a565b0390f35b6103ea565b60018060a01b031690565b61056890610554565b90565b6105748161055f565b0361057b57565b5f80fd5b9050359061058c8261056b565b565b610597816104f2565b0361059e57565b5f80fd5b905035906105af8261058e565b565b91906040838203126105d957806105cd6105d6925f860161057f565b936020016105a2565b90565b6103ee565b90565b6105f56105f06105fa92610554565b6105de565b610554565b90565b610606906105e1565b90565b610612906105fd565b90565b9061061f90610609565b5f5260205260405f2090565b61063f61063a610644926104f2565b6105de565b6104f2565b90565b906106519061062b565b5f5260205260405f2090565b5f1c90565b61066e6106739161065d565b6104b2565b90565b6106809054610662565b90565b60401c90565b61069561069a91610683565b6104b2565b90565b6106a79054610689565b90565b60801c90565b6106bc6106c1916106aa565b6104b2565b90565b6106ce90546106b0565b90565b90565b6106e06106e59161065d565b6106d1565b90565b6106f290546106d4565b90565b61ffff1690565b61070861070d9161065d565b6106f5565b90565b61071a90546106fc565b90565b90565b61072c6107319161065d565b61071d565b90565b61073e9054610720565b90565b90610750610755926055610615565b610647565b6107605f8201610676565b9161076c5f830161069d565b916107785f82016106c4565b91610785600183016106e8565b9161079260028201610710565b9161079f60038301610734565b916107ac60048201610734565b916107c560066107be60058501610734565b93016106e8565b90565b90565b6107d4906107c8565b9052565b61ffff1690565b6107e8906107d8565b9052565b90565b6107f8906107ec565b9052565b9694929099989795939161012088019a5f8901610818916104fd565b60208801610825916104fd565b60408701610832916104fd565b6060860161083f916107cb565b6080850161084c916107df565b60a08401610859916107ef565b60c08301610866916107ef565b60e08201610873916107ef565b61010001610880916107cb565b565b346108bd576108b961089e6108983660046105b1565b90610741565b956108b09997999591959492946103e4565b998a998a6107fc565b0390f35b6103ea565b6108cb816107c8565b036108d257565b5f80fd5b905035906108e3826108c2565b565b919060408382031261090d578061090161090a925f860161057f565b936020016108d6565b90565b6103ee565b9190610925905f602085019401906107ef565b565b346109585761095461094361093d3660046108e5565b90612109565b61094b6103e4565b91829182610912565b0390f35b6103ea565b90565b61097461096f6109799261095d565b6105de565b6107d8565b90565b610987612af8610960565b90565b61099261097c565b90565b91906109a8905f602085019401906107df565b565b346109da576109ba36600461049f565b6109d66109c561098a565b6109cd6103e4565b91829182610995565b0390f35b6103ea565b5f80fd5b5f80fd5b5f80fd5b909182601f83011215610a235781359160018060401b038311610a1e576020019260208302840111610a1957565b6109e7565b6109e3565b6109df565b919091604081840312610a6757610a41835f830161057f565b92602082013560018060401b038111610a6257610a5e92016109eb565b9091565b6103f2565b6103ee565b5f0190565b34610aa057610a8a610a84366004610a28565b916121da565b610a926103e4565b80610a9c81610a6c565b0390f35b6103ea565b90602082820312610abe57610abb915f016108d6565b90565b6103ee565b9190610ad6905f602085019401906107cb565b565b34610b0857610b04610af3610aee366004610aa5565b612212565b610afb6103e4565b91829182610ac3565b0390f35b6103ea565b9190604083820312610b355780610b29610b32925f86016108d6565b9360200161057f565b90565b6103ee565b34610b6957610b53610b4d366004610b0d565b90612266565b610b5b6103e4565b80610b6581610a6c565b0390f35b6103ea565b610b7e906008610b8393026104ae565b6106f5565b90565b90610b919154610b6e565b90565b610ba16001601090610b86565b90565b34610bd457610bb436600461049f565b610bd0610bbf610b94565b610bc76103e4565b91829182610995565b0390f35b6103ea565b34610c0857610bf2610bec366004610b0d565b90612272565b610bfa6103e4565b80610c0481610a6c565b0390f35b6103ea565b90565b610c24610c1f610c2992610c0d565b6105de565b6107d8565b90565b610c37613e80610c10565b90565b610c42610c2c565b90565b34610c7557610c5536600461049f565b610c71610c60610c3a565b610c686103e4565b91829182610995565b0390f35b6103ea565b90602082820312610c9357610c90915f0161057f565b90565b6103ee565b34610cc657610cb0610cab366004610c7a565b6123b0565b610cb86103e4565b80610cc281610a6c565b0390f35b6103ea565b34610cfb57610cf7610ce6610ce1366004610c7a565b61248e565b610cee6103e4565b91829182610912565b0390f35b6103ea565b90565b610d17610d12610d1c92610d00565b6105de565b6107d8565b90565b610d2a612710610d03565b90565b610d35610d1f565b90565b34610d6857610d4836600461049f565b610d64610d53610d2d565b610d5b6103e4565b91829182610995565b0390f35b6103ea565b610d7a60016008906104d5565b90565b34610dad57610d8d36600461049f565b610da9610d98610d6d565b610da06103e4565b9182918261050a565b0390f35b6103ea565b9190604083820312610dda5780610dce610dd7925f86016105a2565b9360200161057f565b90565b6103ee565b90610de99061062b565b5f5260205260405f2090565b90610dff90610609565b5f5260205260405f2090565b610e24610e2992610e1f6058935f94610ddf565b610df5565b6104d5565b90565b34610e5d57610e59610e48610e42366004610db2565b90610e0b565b610e506103e4565b9182918261050a565b0390f35b6103ea565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610e8e90610e66565b810190811060018060401b03821117610ea657604052565b610e70565b90610ebe610eb76103e4565b9283610e84565b565b60018060401b038111610edc57610ed8602091610e66565b0190565b610e70565b90825f939282370152565b90929192610f01610efc82610ec0565b610eab565b93818552602085019082840111610f1d57610f1b92610ee1565b565b610e62565b9080601f83011215610f4057816020610f3d93359101610eec565b90565b6109df565b919091604081840312610f8357610f5e835f830161057f565b92602082013560018060401b038111610f7e57610f7b9201610f22565b90565b6103f2565b6103ee565b610f9c610f96366004610f45565b906124d6565b610fa46103e4565b80610fae81610a6c565b0390f35b7f12b42e8a160f6064dc959c6f251e3af0750ad213dbecf573b4710d67d6c28e3990565b610fde610fb2565b90565b3461101157610ff136600461049f565b61100d610ffc610fd6565b6110046103e4565b91829182610ac3565b0390f35b6103ea565b346110465761102636600461049f565b61104261103161254d565b6110396103e4565b91829182610ac3565b0390f35b6103ea565b90565b61106261105d6110679261104b565b6105de565b6107d8565b90565b611075612ee061104e565b90565b61108061106a565b90565b346110b35761109336600461049f565b6110af61109e611078565b6110a66103e4565b91829182610995565b0390f35b6103ea565b346110e8576110c836600461049f565b6110e46110d3612581565b6110db6103e4565b91829182610455565b0390f35b6103ea565b7f19449a4ad57e40a5aa77e785b4539e53ba9e7fedbf7076388ee3fb1bc2ddea1b90565b6111196110ed565b90565b3461114c5761112c36600461049f565b611148611137611111565b61113f6103e4565b91829182610ac3565b0390f35b6103ea565b346111815761117d61116c611167366004610c7a565b6125a3565b6111746103e4565b9182918261050a565b0390f35b6103ea565b346111b7576111b36111a261119c366004610db2565b906125c2565b6111aa6103e4565b9182918261050a565b0390f35b6103ea565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177590565b6111e86111bc565b90565b3461121b576111fb36600461049f565b6112176112066111e0565b61120e6103e4565b91829182610ac3565b0390f35b6103ea565b60ff1690565b61123690600861123b93026104ae565b611220565b90565b906112499154611226565b90565b61125860055f9061123e565b90565b3461128b5761126b36600461049f565b61128761127661124c565b61127e6103e4565b91829182610455565b0390f35b6103ea565b90565b6112a76112a26112ac92611290565b6105de565b6104f2565b90565b6112bb624f1a00611293565b90565b6112c66112af565b90565b346112f9576112d936600461049f565b6112f56112e46112be565b6112ec6103e4565b9182918261050a565b0390f35b6103ea565b90565b61131561131061131a926112fe565b6105de565b6107ec565b90565b61132a6305f5e100611301565b90565b61133561131d565b90565b346113685761134836600461049f565b61136461135361132d565b61135b6103e4565b91829182610912565b0390f35b6103ea565b6113775f806104d5565b90565b346113aa5761138a36600461049f565b6113a661139561136d565b61139d6103e4565b9182918261050a565b0390f35b6103ea565b6113b89061055f565b9052565b91906113cf905f602085019401906113af565b565b34611401576113fd6113ec6113e7366004610c7a565b612630565b6113f46103e4565b918291826113bc565b0390f35b6103ea565b346114365761143261142161141c366004610425565b61264f565b6114296103e4565b918291826113bc565b0390f35b6103ea565b3461146c57611468611457611451366004610b0d565b9061267a565b61145f6103e4565b91829182610455565b0390f35b6103ea565b346114a15761149d61148c611487366004610c7a565b6126ac565b6114946103e4565b9182918261050a565b0390f35b6103ea565b90916060828403126114db576114d86114c1845f850161057f565b936114cf81602086016105a2565b9360400161057f565b90565b6103ee565b346115115761150d6114fc6114f63660046114a6565b916128e4565b6115046103e4565b91829182610912565b0390f35b6103ea565b61152c906115276056915f92610df5565b6104d5565b90565b3461155f5761155b61154a611545366004610c7a565b611516565b6115526103e4565b9182918261050a565b0390f35b6103ea565b61157d611582926115786057935f94610ddf565b610df5565b6104d5565b90565b346115b6576115b26115a161159b366004610db2565b90611564565b6115a96103e4565b9182918261050a565b0390f35b6103ea565b90565b6115d26115cd6115d7926115bb565b6105de565b6104f2565b90565b6115e662278d006115be565b90565b6115f16115da565b90565b346116245761160436600461049f565b61162061160f6115e9565b6116176103e4565b9182918261050a565b0390f35b6103ea565b90565b5f1b90565b61164561164061164a92611629565b61162c565b6107c8565b90565b6116565f611631565b90565b61166161164d565b90565b346116945761167436600461049f565b61169061167f611659565b6116876103e4565b91829182610ac3565b0390f35b6103ea565b6116a2906104f2565b9052565b6116af906107c8565b9052565b6116bc906107d8565b9052565b6116c9906107ec565b9052565b906101008061176e936116e65f8201515f860190611699565b6116f860208201516020860190611699565b61170a60408201516040860190611699565b61171c606082015160608601906116a6565b61172e608082015160808601906116b3565b61174060a082015160a08601906116c0565b61175260c082015160c08601906116c0565b61176460e082015160e08601906116c0565b01519101906116a6565b565b9190611784905f61012085019401906116cd565b565b346117b7576117b36117a261179c3660046105b1565b90612a92565b6117aa6103e4565b91829182611770565b0390f35b6103ea565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf9981990565b6117e86117bc565b90565b3461181b576117fb36600461049f565b6118176118066117e0565b61180e6103e4565b91829182610ac3565b0390f35b6103ea565b90565b61183761183261183c92611820565b6105de565b6107d8565b90565b61184a6132c8611823565b90565b61185561183f565b90565b346118885761186836600461049f565b61188461187361184d565b61187b6103e4565b91829182610995565b0390f35b6103ea565b90565b6118a461189f6118a99261188d565b6105de565b6107ec565b90565b6118bd670de0b6b3a7640000611890565b90565b6118c86118ac565b90565b346118fb576118db36600461049f565b6118f76118e66118c0565b6118ee6103e4565b91829182610912565b0390f35b6103ea565b60018060401b03811161191c57611918602091610e66565b0190565b610e70565b9061193361192e83611900565b610eab565b918252565b5f7f352e302e30000000000000000000000000000000000000000000000000000000910152565b6119696005611921565b9061197660208301611938565b565b61198061195f565b90565b61198b611978565b90565b611996611983565b90565b5190565b60209181520190565b90825f9392825e0152565b6119d06119d96020936119de936119c781611999565b9384809361199d565b958691016119a6565b610e66565b0190565b6119f79160208201915f8184039101526119b1565b90565b34611a2a57611a0a36600461049f565b611a26611a1561198e565b611a1d6103e4565b918291826119e2565b0390f35b6103ea565b611a3b60075f9061123e565b90565b34611a6e57611a4e36600461049f565b611a6a611a59611a2f565b611a616103e4565b91829182610455565b0390f35b6103ea565b90565b611a8a611a85611a8f92611a73565b6105de565b6107ec565b90565b611a9c6001611a76565b90565b611aa7611a92565b90565b34611ada57611aba36600461049f565b611ad6611ac5611a9f565b611acd6103e4565b91829182610912565b0390f35b6103ea565b611aeb5f6018906104d5565b90565b34611b1e57611afe36600461049f565b611b1a611b09611adf565b611b116103e4565b9182918261050a565b0390f35b6103ea565b90602080611b4593611b3b5f8201515f8601906116c0565b01519101906116c0565b565b9190611b5a905f60408501940190611b23565b565b34611b8d57611b89611b78611b72366004610db2565b90612b69565b611b806103e4565b91829182611b47565b0390f35b6103ea565b34611bc357611bbf611bae611ba8366004610db2565b90612b91565b611bb66103e4565b9182918261050a565b0390f35b6103ea565b611bd1816107ec565b03611bd857565b5f80fd5b90503590611be982611bc8565b565b611bf4816107d8565b03611bfb57565b5f80fd5b90503590611c0c82611beb565b565b608081830312611c4f57611c24825f830161057f565b92611c4c611c358460208501611bdc565b93611c438160408601611bdc565b93606001611bff565b90565b6103ee565b34611c8657611c70611c67366004611c0e565b9291909161337f565b611c786103e4565b80611c8281610a6c565b0390f35b6103ea565b90565b611ca2611c9d611ca792611c8b565b6105de565b6104f2565b90565b611cb66276a700611c8e565b90565b611cc1611caa565b90565b34611cf457611cd436600461049f565b611cf0611cdf611cb9565b611ce76103e4565b9182918261050a565b0390f35b6103ea565b90565b611d10611d0b611d1592611cf9565b6105de565b6104f2565b90565b611d2462093a80611cfc565b90565b611d2f611d18565b90565b34611d6257611d4236600461049f565b611d5e611d4d611d27565b611d556103e4565b9182918261050a565b0390f35b6103ea565b34611d9657611d80611d7a366004610b0d565b906133b7565b611d886103e4565b80611d9281610a6c565b0390f35b6103ea565b611da760015f906104d5565b90565b34611dda57611dba36600461049f565b611dd6611dc5611d9b565b611dcd6103e4565b9182918261050a565b0390f35b6103ea565b90565b611df6611df1611dfb92611ddf565b6105de565b6107ec565b90565b611e0e662386f26fc10000611de2565b90565b611e19611dfe565b90565b34611e4c57611e2c36600461049f565b611e48611e37611e11565b611e3f6103e4565b91829182610912565b0390f35b6103ea565b90602082820312611e80575f82013560018060401b038111611e7b57611e7792016109eb565b9091565b6103f2565b6103ee565b34611eb457611e9e611e98366004611e51565b90613418565b611ea66103e4565b80611eb081610a6c565b0390f35b6103ea565b611ecd611ec8611ed292610d00565b6105de565b6107ec565b90565b611ee0612710611eb9565b90565b611eeb611ed5565b90565b34611f1e57611efe36600461049f565b611f1a611f09611ee3565b611f116103e4565b91829182610912565b0390f35b6103ea565b34611f5257611f3c611f363660046105b1565b90613549565b611f446103e4565b80611f4e81610a6c565b0390f35b6103ea565b90565b611f6e611f69611f7392611f57565b6105de565b6104f2565b90565b611f8262ed4e00611f5a565b90565b611f8d611f76565b90565b34611fc057611fa036600461049f565b611fbc611fab611f85565b611fb36103e4565b9182918261050a565b0390f35b6103ea565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e390565b611ff1611fc5565b90565b346120245761200436600461049f565b61202061200f611fe9565b6120176103e4565b91829182610ac3565b0390f35b6103ea565b6120355f6008906104d5565b90565b346120685761204836600461049f565b612064612053612029565b61205b6103e4565b9182918261050a565b0390f35b6103ea565b5f90565b61207961206d565b508061209461208e637965db0b60e01b6103f6565b916103f6565b149081156120a1575b5090565b6120ab915061355a565b5f61209d565b5f90565b906120bf90610609565b5f5260205260405f2090565b6120d4906107c8565b90565b906120e1906120cb565b5f5260205260405f2090565b6121016120fc61210692611629565b6105de565b6107ec565b90565b61212e916121246121299261211c6120b1565b5060116120b5565b6120d7565b610734565b8061214161213b5f6120ed565b916107ec565b145f1461215557506121516118ac565b5b90565b612152565b60018060401b0381116121705760208091020190565b610e70565b9092919261218a6121858261215a565b610eab565b93818552602080860192028301928184116121c757915b8383106121ae5750505050565b602080916121bc8486610416565b8152019201916121a1565b6109e7565b6121d7913691612175565b90565b6121f6926121f0916121ea613592565b926121cc565b906135cd565b565b5f90565b90612206906120cb565b5f5260205260405f2090565b6001612233612239926122236121f8565b505f61222d613741565b016121fc565b016106e8565b90565b906122579161225261224d82612212565b613765565b612259565b565b9061226391613779565b50565b906122709161223c565b565b908061228d612287612282613830565b61055f565b9161055f565b0361229e5761229b9161383d565b50565b5f63334bd91960e11b8152806122b660048201610a6c565b0390fd5b6122c3906105e1565b90565b6122cf906122ba565b90565b6122db906105fd565b90565b60e01b90565b905051906122f182610402565b565b909291926123086123038261215a565b610eab565b938185526020808601920283019281841161234557915b83831061232c5750505050565b6020809161233a84866122e4565b81520192019161231f565b6109e7565b9080601f8301121561236857816020612365935191016122f3565b90565b6109df565b9060208282031261239b575f82015160018060401b03811161239657612393920161234a565b90565b6103f2565b6103ee565b6123a86103e4565b3d5f823e3d90fd5b6123b8613592565b6123e35f6123cd6123c8846122c6565b6122d2565b636e25b978906123db6103e4565b9384926122de565b825281806123f360048201610a6c565b03915afa80156124735761240f915f91612451575b50826135cd565b6124397f4d3c30f5993f1922a779345a0f7ec1a170f1e52e9d230824f9c17e63596c906d91610609565b906124426103e4565b8061244c81610a6c565b0390a2565b61246d91503d805f833e6124658183610e84565b81019061236d565b5f612408565b6123a0565b9061248290610609565b5f5260205260405f2090565b6124a56124aa9161249d6120b1565b50601b612478565b610734565b90565b906124bf916124ba6138f6565b6124c1565b565b906124d4916124cf816139b0565b613a0c565b565b906124e0916124ad565b565b6124f3906124ee613b0a565b612541565b90565b90565b61250d612508612512926124f6565b61162c565b6107c8565b90565b61253e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6124f9565b90565b5061254a612515565b90565b61255d6125586121f8565b6124e2565b90565b61256c6125719161065d565b611220565b90565b61257e9054612560565b90565b61258961206d565b5061259c5f612596613b68565b01612574565b90565b5f90565b6125ba6125bf916125b261259f565b506056610df5565b610676565b90565b6125e7916125dd6125e2926125d561259f565b506057610ddf565b610df5565b610676565b90565b5f90565b906125f890610609565b5f5260205260405f2090565b60018060a01b031690565b61261b6126209161065d565b612604565b90565b61262d905461260f565b90565b61264761264c9161263f6125ea565b5060066125ee565b612623565b90565b6126619061265b6125ea565b50613ba2565b90565b9061266e90610609565b5f5260205260405f2090565b6126a9915f61269e6126a49361268e61206d565b5082612698613741565b016121fc565b01612664565b612574565b90565b6126c36126c8916126bb61259f565b506023610df5565b610676565b90565b906126d5906104f2565b9052565b906126e3906107c8565b9052565b906126f1906107d8565b9052565b906126ff906107ec565b9052565b61270e610120610eab565b90565b906127ef6127e56006612722612703565b946127396127315f8301610676565b5f88016126cb565b6127506127475f830161069d565b602088016126cb565b61276761275e5f83016106c4565b604088016126cb565b61277f612776600183016106e8565b606088016126d9565b61279761278e60028301610710565b608088016126e7565b6127af6127a660038301610734565b60a088016126f5565b6127c76127be60048301610734565b60c088016126f5565b6127df6127d660058301610734565b60e088016126f5565b016106e8565b61010084016126d9565b565b6127fa90612711565b90565b61280790516104f2565b90565b61281e61281961282392611629565b6105de565b6104f2565b90565b61283090516107c8565b90565b61283d90516107ec565b90565b634e487b7160e01b5f52601160045260245ffd5b612863612869919392936107ec565b926107ec565b820391821161287457565b612840565b61288861288e919392936107ec565b926107ec565b9161289a8382026107ec565b9281840414901517156128a957565b612840565b634e487b7160e01b5f52601260045260245ffd5b6128ce6128d4916107ec565b916107ec565b9081156128df570490565b6128ae565b9291909261290d6129086128f66120b1565b9561290360558590610615565b610647565b6127f1565b916129195f84016127fd565b61292b6129255f61280a565b916104f2565b146129ec5790612948919061294260608501612826565b91613cd6565b908161295c6129565f6120ed565b916107ec565b146129dc5761296d60c08201612833565b61298a61298461297f60e08501612833565b6107ec565b916107ec565b11612994575b5050565b6129d4929350906129c0826129ba60e06129b360c06129c69701612833565b9201612833565b90612854565b90612879565b6129ce6118ac565b906128c2565b905f80612990565b505090506129e95f6120ed565b90565b50505090506129fa5f6120ed565b90565b5f90565b5f90565b5f90565b5f90565b612a15612703565b90602080808080808080808a612a296129fd565b815201612a346129fd565b815201612a3f6129fd565b815201612a4a612a01565b815201612a55612a05565b815201612a60612a09565b815201612a6b612a09565b815201612a76612a09565b815201612a81612a01565b81525050565b612a8f612a0d565b90565b612ab791612aad612ab292612aa5612a87565b506055610615565b610647565b6127f1565b90565b612ac46040610eab565b90565b612acf612aba565b9060208083612adc612a09565b815201612ae7612a09565b81525050565b612af5612ac7565b90565b90612b029061062b565b5f5260205260405f2090565b90612b1890610609565b5f5260205260405f2090565b90612b5b612b526001612b35612aba565b94612b4c612b445f8301610734565b5f88016126f5565b01610734565b602084016126f5565b565b612b6690612b24565b90565b612b8e91612b84612b8992612b7c612aed565b506010612af8565b612b0e565b612b5d565b90565b612bb691612bac612bb192612ba461259f565b506058610ddf565b610df5565b610676565b90565b612bc5612bca91610683565b611220565b90565b612bd79054612bb9565b90565b612bee612be9612bf392611a73565b6105de565b6104f2565b90565b612bff906105fd565b90565b90612c1360018060401b039161162c565b9181191691161790565b90565b90612c35612c30612c3c9261062b565b612c1d565b8254612c02565b9055565b60401b90565b90612c5560ff60401b91612c40565b9181191691161790565b612c6890610443565b90565b90565b90612c83612c7e612c8a92612c5f565b612c6b565b8254612c46565b9055565b612c9790612bda565b9052565b9190612cae905f60208501940190612c8e565b565b909192612cbb613dc5565b93612cd0612cca5f8701612bcd565b15610443565b93612cdc5f8701610676565b80612cef612ce95f61280a565b916104f2565b1480612e09575b90612d0a612d046001612bda565b916104f2565b1480612de1575b612d1c909115610443565b9081612dd0575b50612db457612d4c93612d41612d396001612bda565b5f8901612c20565b85612da2575b6131c1565b612d54575b50565b612d61905f809101612c6e565b6001612d997fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291612d906103e4565b91829182612c9b565b0390a15f612d51565b612daf60015f8901612c6e565b612d47565b5f63f92ee8a960e01b815280612dcc60048201610a6c565b0390fd5b612ddb915015610443565b5f612d23565b50612d1c612dee30612bf6565b3b612e01612dfb5f6120ed565b916107ec565b149050612d11565b5085612cf6565b612e24612e1f612e2992611629565b6105de565b610554565b90565b612e3590612e10565b90565b612e426040610eab565b90565b634e487b7160e01b5f52602160045260245ffd5b60021115612e6357565b612e45565b90612e7282612e59565b565b90612e7e90612e68565b9052565b90612e8c9061055f565b9052565b612ea4612e9f612ea9926107ec565b6105de565b6107d8565b90565b612eb660c0610eab565b90565b90612ec390610443565b9052565b90612ed1906120cb565b5f5260205260405f2090565b612ee79051610443565b90565b90612ef660ff9161162c565b9181191691161790565b90612f15612f10612f1c92612c5f565b612c6b565b8254612eea565b9055565b90612f2c5f199161162c565b9181191691161790565b612f4a612f45612f4f926107ec565b6105de565b6107ec565b90565b90565b90612f6a612f65612f7192612f36565b612f52565b8254612f20565b9055565b612f7f90516107d8565b90565b90612f8f61ffff9161162c565b9181191691161790565b612fad612fa8612fb2926107d8565b6105de565b6107d8565b90565b90565b90612fcd612fc8612fd492612f99565b612fb5565b8254612f82565b9055565b9061306760a0600561306d94612ffb5f8201612ff55f8801612edd565b90612f00565b6130146001820161300e60208801612833565b90612f55565b61302d6002820161302760408801612833565b90612f55565b6130466003820161304060608801612833565b90612f55565b61305f6004820161305960808801612833565b90612f55565b019201612f75565b90612fb8565b565b9061307991612fd8565b565b60801b90565b9061309161ffff60801b9161307b565b9181191691161790565b906130b06130ab6130b792612f99565b612fb5565b8254613081565b9055565b90565b6130d26130cd6130d7926130bb565b6105de565b6104f2565b90565b6130e56154606130be565b90565b906130fd600160401b600160801b0391612c40565b9181191691161790565b9061311c6131176131239261062b565b612c1d565b82546130e8565b9055565b90565b61313e61313961314392613127565b6105de565b6104f2565b90565b613150601c61312a565b90565b60c01b90565b9061316b60018060c01b031991613153565b9181191691161790565b9061318a6131856131919261062b565b612c1d565b8254613159565b9055565b90565b6131ac6131a76131b192613195565b6105de565b6104f2565b90565b6131be6038613198565b90565b9190916131cc613df3565b6131d4613e07565b6131dc613e2d565b6131e4613e53565b6131ec61164d565b816131f691613779565b506131ff6111bc565b8161320991613779565b506132126117bc565b8161321c91613779565b50613225611fc5565b9061322f91613779565b505f8061323b90612e2c565b613243612e38565b915f83019061325191612e74565b602082019061325f91612e82565b61326890613ebd565b90600192905f8091613278611ed5565b61328190612e90565b9361328a612eac565b965f88019061329891612eb9565b60208701906132a6916126f5565b60408601906132b4916126f5565b6132bd906120ed565b60608501906132cb916126f5565b6132d4906120ed565b60808401906132e2916126f5565b60a08301906132f0916126e7565b6002906132fc91612ec7565b906133069161306f565b6001613313906005612f00565b61331e90600161309b565b600161332990612bda565b613333905f612c20565b61333b6130da565b613345905f613107565b61334d613146565b613357905f613175565b61335f613146565b61336a906001612c20565b6133726131b4565b61337d906001613107565b565b9061338b939291612cb0565b565b906133a8916133a361339e82612212565b613765565b6133aa565b565b906133b49161383d565b50565b906133c19161338d565b565b60016133cf91016107ec565b90565b5090565b634e487b7160e01b5f52603260045260245ffd5b91908110156133fa576020020190565b6133d6565b3561340981610402565b90565b613415906103f6565b90565b919091613423613592565b61342c5f6120ed565b5b8061344a61344461343f8588906133d2565b6107ec565b916107ec565b10156134ce576134c99061347061346b613466858885916133ea565b6133ff565b613f84565b61348461347f848784916133ea565b6133ff565b6134ae7fbeb27701828f515b03069d44da6519b6c491da13ef1ca7082e619959d1f48ddb9161340c565b906134b76103e4565b806134c181610a6c565b0390a26133c3565b61342d565b50509050565b906134ee916134e96134e46111bc565b613765565b6134f0565b565b6135058261350060238490610df5565b612c20565b6135446135327f90b37e59a942c5413ce00a3a844a47c20094979897cc653606d925e909885f3592610609565b9261353b6103e4565b9182918261050a565b0390a2565b90613553916134d4565b565b613f9a565b61356261206d565b5061357c6135766301ffc9a760e01b6103f6565b916103f6565b1490565b61359061358b6111bc565b613765565b565b61359a613580565b565b5190565b906135aa8261359c565b8110156135bb576020809102010190565b6133d6565b6135ca90516103f6565b90565b9190826135ea6135e46135df5f612e2c565b61055f565b9161055f565b1461373c57823b6136036135fd5f6120ed565b916107ec565b14613736576136115f6120ed565b5b8061362d6136276136228561359c565b6107ec565b916107ec565b10156137305761364e6136496136448484906135a0565b6135c0565b613ba2565b8061366961366361365e5f612e2c565b61055f565b9161055f565b141580613715575b6136fe57506136f99061369761369061368b8584906135a0565b6135c0565b86906140a1565b6136aa6136a58483906135a0565b6135c0565b856136de6136d87f12557f25e458d9682d7c959b5a960bc9332e8b7af1120b54a333bfc1ff282b399361340c565b91610609565b916136e76103e4565b806136f181610a6c565b0390a36133c3565b613612565b61371061370b83856135a0565b6135c0565b614048565b50806137296137238761055f565b9161055f565b1415613671565b50509050565b82613ff9565b613fdd565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b61377790613771613830565b906140da565b565b61378161206d565b5061378a613741565b61379e61379883859061267a565b15610443565b5f14613829576137c8906137c35f6137bb816001940186906121fc565b018590612664565b612f00565b906137d1613830565b9061380e6138086138027f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d956120cb565b92610609565b92610609565b926138176103e4565b8061382181610a6c565b0390a4600190565b5050505f90565b6138386125ea565b503390565b61384561206d565b5061384e613741565b61385982849061267a565b5f146138e3576138829061387d5f6138758180940186906121fc565b018590612664565b612f00565b9061388b613830565b906138c86138c26138bc7ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b956120cb565b92610609565b92610609565b926138d16103e4565b806138db81610a6c565b0390a4600190565b5050505f90565b6138f3906105fd565b90565b6138ff306138ea565b61393161392b7f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b14801561395b575b61393f57565b5f63703e46dd60e11b81528061395760048201610a6c565b0390fd5b50613964614115565b6139966139907f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b1415613939565b506139ae6139a9611fc5565b613765565b565b6139b99061399d565b565b6139c4906105e1565b90565b6139d0906139bb565b90565b6139dc906105fd565b90565b905051906139ec826108c2565b565b90602082820312613a0757613a04915f016139df565b90565b6103ee565b9190613a3a6020613a24613a1f866139c7565b6139d3565b6352d1902d90613a326103e4565b9384926122de565b82528180613a4a60048201610a6c565b03915afa80915f92613ada575b50155f14613a8b575050906001613a6c57505b565b613a87905f918291634c9c8ce360e01b8352600483016113bc565b0390fd5b9283613aa6613aa0613a9b612515565b6107c8565b916107c8565b03613abb57613ab692935061413b565b613a6a565b613ad6845f918291632a87526960e21b835260048301610ac3565b0390fd5b613afc91925060203d8111613b03575b613af48183610e84565b8101906139ee565b905f613a57565b503d613aea565b613b13306138ea565b613b45613b3f7f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b03613b4c57565b5f63703e46dd60e11b815280613b6460048201610a6c565b0390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b90613b969061340c565b5f5260205260405f2090565b613bb9613bbe91613bb16125ea565b506021613b8c565b612623565b90565b90613bcb90610609565b5f5260205260405f2090565b90565b5490565b5f5260205f2090565b613bf081613bda565b821015613c0a57613c02600491613bde565b910201905f90565b6133d6565b90565b60ff1690565b613c24613c299161065d565b613c12565b90565b613c369054613c18565b90565b60081c90565b613c4b613c5091613c39565b612604565b90565b613c5d9054613c3f565b90565b613c6a6040610eab565b90565b90613ca3613c9a5f613c7d613c60565b94613c94613c8c838301613c2c565b838801612e74565b01613c53565b60208401612e82565b565b613cae90613c6d565b90565b613cc0613cc6919392936107ec565b926107ec565b8201809211613cd157565b612840565b929192613cf4613cef613ce76120b1565b926015613bc1565b613bd7565b93613cfe85613bda565b93613d085f6120ed565b5b80613d1c613d16886107ec565b916107ec565b1015613dbc57613d36613d30888390613be7565b50613c0f565b613d415f8201612623565b613d53613d4d8861055f565b9161055f565b1480613d8f575b613d6e575b50613d69906133c3565b613d09565b613d699194613d826001613d889301610734565b90613cb1565b9390613d5f565b50613da4613d9f60028301613ca5565b613ebd565b613db6613db0866107c8565b916107c8565b14613d5a565b50935050925050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613df16141c4565b565b613dfb613de9565b565b613e056141c4565b565b613e0f613dfd565b565b613e196141c4565b613e21613e23565b565b613e2b61421f565b565b613e35613e11565b565b613e3f6141c4565b613e47613e49565b565b613e51614265565b565b613e5b613e37565b565b613e679051612e68565b90565b613e74905161055f565b90565b613e8090612e68565b90565b613e8c90613e77565b9052565b916020613eb1929493613eaa60408201965f830190613e83565b01906113af565b565b60200190565b5190565b613ec56121f8565b50613f07613ee06020613ed95f8501613e5d565b9301613e6a565b91613ef8613eec6103e4565b93849260208401613e90565b60208201810382520382610e84565b613f19613f1382613eb9565b91613eb3565b2090565b1b90565b91906008613f41910291613f3b60018060a01b0384613f1d565b92613f1d565b9181191691161790565b90565b9190613f64613f5f613f6c93610609565b613f4b565b908354613f21565b9055565b613f8291613f7c6125ea565b91613f4e565b565b5f613f93613f98926021613b8c565b613f70565b565b613fad63ffffffff60e01b5f3516613ba2565b80613fc8613fc2613fbd5f612e2c565b61055f565b9161055f565b036142a35763ffffffff60e01b5f3516614284565b5f63d92e233d60e01b815280613ff560048201610a6c565b0390fd5b614014905f9182916322a2d07b60e21b8352600483016113bc565b0390fd5b614021906103f6565b9052565b91602061404692949361403f60408201965f830190614018565b01906113af565b565b6140625f9283926310ae11a960e31b845260048401614025565b0390fd5b9061407760018060a01b039161162c565b9181191691161790565b9061409661409161409d92610609565b613f4b565b8254614066565b9055565b6140b06140b592916021613b8c565b614081565b565b9160206140d89294936140d160408201965f8301906113af565b01906107cb565b565b906140ef6140e983839061267a565b15610443565b6140f7575050565b6141115f92839263e2517d3f60e01b8452600484016140b7565b0390fd5b61411d6125ea565b506141385f61413261412d612515565b6142c1565b01612623565b90565b90614145826142c4565b816141707fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91610609565b906141796103e4565b8061418381610a6c565b0390a261418f81613eb9565b6141a161419b5f6120ed565b916107ec565b115f146141b5576141b191614394565b505b565b50506141bf614319565b6141b3565b6141d56141cf6143c3565b15610443565b6141db57565b5f631afcd79f60e31b8152806141f360048201610a6c565b0390fd5b6141ff6141c4565b614207614209565b565b61421d614214613b68565b5f809101612f00565b565b6142276141f7565b565b6142316141c4565b614239614248565b565b6142456001611a76565b90565b6142636142536143e1565b5f61425c61423b565b9101612f55565b565b61426d614229565b565b9190614282905f60208501940190614018565b565b61429f905f91829163c2a825f560e01b83526004830161426f565b0390fd5b5f8091368280378136915af43d5f803e5f146142bd573d5ff35b3d5ffd5b90565b803b6142d86142d25f6120ed565b916107ec565b146142fa576142f8905f6142f26142ed612515565b6142c1565b01614081565b565b614315905f918291634c9c8ce360e01b8352600483016113bc565b0390fd5b3461432c6143265f6120ed565b916107ec565b1161433357565b5f63b398979f60e01b81528061434b60048201610a6c565b0390fd5b606090565b9061436661436183610ec0565b610eab565b918252565b3d5f146143865761437b3d614354565b903d5f602084013e5b565b61438e61434f565b90614384565b5f806143c0936143a261434f565b508390602081019051915af4906143b761436b565b90919091614405565b90565b6143cb61206d565b506143de5f6143d8613dc5565b01612bcd565b90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b906144199061441261434f565b5015610443565b5f146144255750614489565b61442e82613eb9565b61444061443a5f6120ed565b916107ec565b148061446e575b61444f575090565b61446a905f918291639996b31560e01b8352600483016113bc565b0390fd5b50803b61448361447d5f6120ed565b916107ec565b14614447565b61449281613eb9565b6144a461449e5f6120ed565b916107ec565b115f146144b357805190602001fd5b5f63d6bda27560e01b8152806144cb60048201610a6c565b0390fdfea164736f6c634300081a000a
/// ```
#[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\xDCa\x03\x07\x829`\x80Q\x81\x81\x81a9\x07\x01R\x81\x81a9l\x01Ra;\x1B\x01RaD\xDC\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[6a5UW\0[a\0\x1F_5a\x03\xDEV[\x80c\x01\xFF\xC9\xA7\x14a\x03\xD9W\x80c\x05\xD6N8\x14a\x03\xD4W\x80c\n\xA8\xB1\x10\x14a\x03\xCFW\x80c\x12\xD9\x1C\x88\x14a\x03\xCAW\x80c\x18\x05m\xC2\x14a\x03\xC5W\x80c\x19\xE8.a\x14a\x03\xC0W\x80c$\x8A\x9C\xA3\x14a\x03\xBBW\x80c//\xF1]\x14a\x03\xB6W\x80c2'?a\x14a\x03\xB1W\x80c6V\x8A\xBE\x14a\x03\xACW\x80cE>\xCC\xEA\x14a\x03\xA7W\x80cF\xD1c\xAA\x14a\x03\xA2W\x80cI\x14t\x11\x14a\x03\x9DW\x80cIb\xF8\x8F\x14a\x03\x98W\x80cM\xE8\xAD\xDC\x14a\x03\x93W\x80cN\x9C\x92\x9A\x14a\x03\x8EW\x80cO\x1E\xF2\x86\x14a\x03\x89W\x80cP\x95\xAFd\x14a\x03\x84W\x80cR\xD1\x90-\x14a\x03\x7FW\x80cT\xDE# \x14a\x03zW\x80c\\\x97Z\xBB\x14a\x03uW\x80c`#V\xE3\x14a\x03pW\x80cf\xC3hu\x14a\x03kW\x80cr\xB5\x03-\x14a\x03fW\x80cu\xB28\xFC\x14a\x03aW\x80cw\xAB,\xF3\x14a\x03\\W\x80c}\xF9*\xDA\x14a\x03WW\x80c\x88\xC4\x7Fh\x14a\x03RW\x80c\x8A\x19\xC8\xBC\x14a\x03MW\x80c\x8A\x7F\xE6\x0F\x14a\x03HW\x80c\x90\x83\x7F\xF4\x14a\x03CW\x80c\x91\xD1HT\x14a\x03>W\x80c\x94\x80\xE4\xDD\x14a\x039W\x80c\x94\x94\xF4&\x14a\x034W\x80c\x96\x08Vs\x14a\x03/W\x80c\x97\"\xF4\xB9\x14a\x03*W\x80c\x9E\x87\x05\x85\x14a\x03%W\x80c\xA2\x17\xFD\xDF\x14a\x03 W\x80c\xA4W\xAF=\x14a\x03\x1BW\x80c\xA4\xB3-\xE8\x14a\x03\x16W\x80c\xA7\xFAo\x98\x14a\x03\x11W\x80c\xAA\xF5\xEBh\x14a\x03\x0CW\x80c\xAD<\xB1\xCC\x14a\x03\x07W\x80c\xB5K+\x9E\x14a\x03\x02W\x80c\xB6`\x84\t\x14a\x02\xFDW\x80c\xBA\x05\xBB\xF5\x14a\x02\xF8W\x80c\xC0tI\xE2\x14a\x02\xF3W\x80c\xC5P\xD98\x14a\x02\xEEW\x80c\xCB\xB6\xD6\xBD\x14a\x02\xE9W\x80c\xD2zo\x06\x14a\x02\xE4W\x80c\xD4_\xF5\x82\x14a\x02\xDFW\x80c\xD5Gt\x1F\x14a\x02\xDAW\x80c\xDB\x8A\x17:\x14a\x02\xD5W\x80c\xDDvJ\xBF\x14a\x02\xD0W\x80c\xE0}\xEC)\x14a\x02\xCBW\x80c\xE1\xA4R\x18\x14a\x02\xC6W\x80c\xE2~\x05\xC1\x14a\x02\xC1W\x80c\xF3\xC9\xB3\x11\x14a\x02\xBCW\x80c\xF7,\r\x8B\x14a\x02\xB7Wc\xF7\xCBx\x9A\x03a\0\x0EWa 8V[a\x1F\xF4V[a\x1F\x90V[a\x1F#V[a\x1E\xEEV[a\x1E\x85V[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\xCBV[a\x18XV[a\x17\xEBV[a\x17\x86V[a\x16dV[a\x15\xF4V[a\x15\x85V[a\x15/V[a\x14\xE0V[a\x14qV[a\x14;V[a\x14\x06V[a\x13\xD1V[a\x13zV[a\x138V[a\x12\xC9V[a\x12[V[a\x11\xEBV[a\x11\x86V[a\x11QV[a\x11\x1CV[a\x10\xB8V[a\x10\x83V[a\x10\x16V[a\x0F\xE1V[a\x0F\x88V[a\x0E,V[a\r}V[a\r8V[a\x0C\xCBV[a\x0C\x98V[a\x0CEV[a\x0B\xD9V[a\x0B\xA4V[a\x0B:V[a\n\xD8V[a\nqV[a\t\xAAV[a\t'V[a\x08\x82V[a\x05\x1FV[a\x04jV[`\xE0\x1C\x90V[`@Q\x90V[_\x80\xFD[_\x80\xFD[_\x80\xFD[c\xFF\xFF\xFF\xFF`\xE0\x1B\x16\x90V[a\x04\x0B\x81a\x03\xF6V[\x03a\x04\x12WV[_\x80\xFD[\x90P5\x90a\x04#\x82a\x04\x02V[V[\x90` \x82\x82\x03\x12a\x04>Wa\x04;\x91_\x01a\x04\x16V[\x90V[a\x03\xEEV[\x15\x15\x90V[a\x04Q\x90a\x04CV[\x90RV[\x91\x90a\x04h\x90_` \x85\x01\x94\x01\x90a\x04HV[V[4a\x04\x9AWa\x04\x96a\x04\x85a\x04\x806`\x04a\x04%V[a qV[a\x04\x8Da\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[_\x91\x03\x12a\x04\xA9WV[a\x03\xEEV[\x1C\x90V[`\x01\x80`@\x1B\x03\x16\x90V[a\x04\xCD\x90`\x08a\x04\xD2\x93\x02a\x04\xAEV[a\x04\xB2V[\x90V[\x90a\x04\xE0\x91Ta\x04\xBDV[\x90V[a\x04\xEF_`\x10\x90a\x04\xD5V[\x90V[`\x01\x80`@\x1B\x03\x16\x90V[a\x05\x06\x90a\x04\xF2V[\x90RV[\x91\x90a\x05\x1D\x90_` \x85\x01\x94\x01\x90a\x04\xFDV[V[4a\x05OWa\x05/6`\x04a\x04\x9FV[a\x05Ka\x05:a\x04\xE3V[a\x05Ba\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[`\x01\x80`\xA0\x1B\x03\x16\x90V[a\x05h\x90a\x05TV[\x90V[a\x05t\x81a\x05_V[\x03a\x05{WV[_\x80\xFD[\x90P5\x90a\x05\x8C\x82a\x05kV[V[a\x05\x97\x81a\x04\xF2V[\x03a\x05\x9EWV[_\x80\xFD[\x90P5\x90a\x05\xAF\x82a\x05\x8EV[V[\x91\x90`@\x83\x82\x03\x12a\x05\xD9W\x80a\x05\xCDa\x05\xD6\x92_\x86\x01a\x05\x7FV[\x93` \x01a\x05\xA2V[\x90V[a\x03\xEEV[\x90V[a\x05\xF5a\x05\xF0a\x05\xFA\x92a\x05TV[a\x05\xDEV[a\x05TV[\x90V[a\x06\x06\x90a\x05\xE1V[\x90V[a\x06\x12\x90a\x05\xFDV[\x90V[\x90a\x06\x1F\x90a\x06\tV[_R` R`@_ \x90V[a\x06?a\x06:a\x06D\x92a\x04\xF2V[a\x05\xDEV[a\x04\xF2V[\x90V[\x90a\x06Q\x90a\x06+V[_R` R`@_ \x90V[_\x1C\x90V[a\x06na\x06s\x91a\x06]V[a\x04\xB2V[\x90V[a\x06\x80\x90Ta\x06bV[\x90V[`@\x1C\x90V[a\x06\x95a\x06\x9A\x91a\x06\x83V[a\x04\xB2V[\x90V[a\x06\xA7\x90Ta\x06\x89V[\x90V[`\x80\x1C\x90V[a\x06\xBCa\x06\xC1\x91a\x06\xAAV[a\x04\xB2V[\x90V[a\x06\xCE\x90Ta\x06\xB0V[\x90V[\x90V[a\x06\xE0a\x06\xE5\x91a\x06]V[a\x06\xD1V[\x90V[a\x06\xF2\x90Ta\x06\xD4V[\x90V[a\xFF\xFF\x16\x90V[a\x07\x08a\x07\r\x91a\x06]V[a\x06\xF5V[\x90V[a\x07\x1A\x90Ta\x06\xFCV[\x90V[\x90V[a\x07,a\x071\x91a\x06]V[a\x07\x1DV[\x90V[a\x07>\x90Ta\x07 V[\x90V[\x90a\x07Pa\x07U\x92`Ua\x06\x15V[a\x06GV[a\x07`_\x82\x01a\x06vV[\x91a\x07l_\x83\x01a\x06\x9DV[\x91a\x07x_\x82\x01a\x06\xC4V[\x91a\x07\x85`\x01\x83\x01a\x06\xE8V[\x91a\x07\x92`\x02\x82\x01a\x07\x10V[\x91a\x07\x9F`\x03\x83\x01a\x074V[\x91a\x07\xAC`\x04\x82\x01a\x074V[\x91a\x07\xC5`\x06a\x07\xBE`\x05\x85\x01a\x074V[\x93\x01a\x06\xE8V[\x90V[\x90V[a\x07\xD4\x90a\x07\xC8V[\x90RV[a\xFF\xFF\x16\x90V[a\x07\xE8\x90a\x07\xD8V[\x90RV[\x90V[a\x07\xF8\x90a\x07\xECV[\x90RV[\x96\x94\x92\x90\x99\x98\x97\x95\x93\x91a\x01 \x88\x01\x9A_\x89\x01a\x08\x18\x91a\x04\xFDV[` \x88\x01a\x08%\x91a\x04\xFDV[`@\x87\x01a\x082\x91a\x04\xFDV[``\x86\x01a\x08?\x91a\x07\xCBV[`\x80\x85\x01a\x08L\x91a\x07\xDFV[`\xA0\x84\x01a\x08Y\x91a\x07\xEFV[`\xC0\x83\x01a\x08f\x91a\x07\xEFV[`\xE0\x82\x01a\x08s\x91a\x07\xEFV[a\x01\0\x01a\x08\x80\x91a\x07\xCBV[V[4a\x08\xBDWa\x08\xB9a\x08\x9Ea\x08\x986`\x04a\x05\xB1V[\x90a\x07AV[\x95a\x08\xB0\x99\x97\x99\x95\x91\x95\x94\x92\x94a\x03\xE4V[\x99\x8A\x99\x8Aa\x07\xFCV[\x03\x90\xF3[a\x03\xEAV[a\x08\xCB\x81a\x07\xC8V[\x03a\x08\xD2WV[_\x80\xFD[\x90P5\x90a\x08\xE3\x82a\x08\xC2V[V[\x91\x90`@\x83\x82\x03\x12a\t\rW\x80a\t\x01a\t\n\x92_\x86\x01a\x05\x7FV[\x93` \x01a\x08\xD6V[\x90V[a\x03\xEEV[\x91\x90a\t%\x90_` \x85\x01\x94\x01\x90a\x07\xEFV[V[4a\tXWa\tTa\tCa\t=6`\x04a\x08\xE5V[\x90a!\tV[a\tKa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\tta\toa\ty\x92a\t]V[a\x05\xDEV[a\x07\xD8V[\x90V[a\t\x87a*\xF8a\t`V[\x90V[a\t\x92a\t|V[\x90V[\x91\x90a\t\xA8\x90_` \x85\x01\x94\x01\x90a\x07\xDFV[V[4a\t\xDAWa\t\xBA6`\x04a\x04\x9FV[a\t\xD6a\t\xC5a\t\x8AV[a\t\xCDa\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[_\x80\xFD[_\x80\xFD[_\x80\xFD[\x90\x91\x82`\x1F\x83\x01\x12\x15a\n#W\x815\x91`\x01\x80`@\x1B\x03\x83\x11a\n\x1EW` \x01\x92` \x83\x02\x84\x01\x11a\n\x19WV[a\t\xE7V[a\t\xE3V[a\t\xDFV[\x91\x90\x91`@\x81\x84\x03\x12a\ngWa\nA\x83_\x83\x01a\x05\x7FV[\x92` \x82\x015`\x01\x80`@\x1B\x03\x81\x11a\nbWa\n^\x92\x01a\t\xEBV[\x90\x91V[a\x03\xF2V[a\x03\xEEV[_\x01\x90V[4a\n\xA0Wa\n\x8Aa\n\x846`\x04a\n(V[\x91a!\xDAV[a\n\x92a\x03\xE4V[\x80a\n\x9C\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\n\xBEWa\n\xBB\x91_\x01a\x08\xD6V[\x90V[a\x03\xEEV[\x91\x90a\n\xD6\x90_` \x85\x01\x94\x01\x90a\x07\xCBV[V[4a\x0B\x08Wa\x0B\x04a\n\xF3a\n\xEE6`\x04a\n\xA5V[a\"\x12V[a\n\xFBa\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x91\x90`@\x83\x82\x03\x12a\x0B5W\x80a\x0B)a\x0B2\x92_\x86\x01a\x08\xD6V[\x93` \x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x0BiWa\x0BSa\x0BM6`\x04a\x0B\rV[\x90a\"fV[a\x0B[a\x03\xE4V[\x80a\x0Be\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x0B~\x90`\x08a\x0B\x83\x93\x02a\x04\xAEV[a\x06\xF5V[\x90V[\x90a\x0B\x91\x91Ta\x0BnV[\x90V[a\x0B\xA1`\x01`\x10\x90a\x0B\x86V[\x90V[4a\x0B\xD4Wa\x0B\xB46`\x04a\x04\x9FV[a\x0B\xD0a\x0B\xBFa\x0B\x94V[a\x0B\xC7a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[4a\x0C\x08Wa\x0B\xF2a\x0B\xEC6`\x04a\x0B\rV[\x90a\"rV[a\x0B\xFAa\x03\xE4V[\x80a\x0C\x04\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x0C$a\x0C\x1Fa\x0C)\x92a\x0C\rV[a\x05\xDEV[a\x07\xD8V[\x90V[a\x0C7a>\x80a\x0C\x10V[\x90V[a\x0CBa\x0C,V[\x90V[4a\x0CuWa\x0CU6`\x04a\x04\x9FV[a\x0Cqa\x0C`a\x0C:V[a\x0Cha\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\x0C\x93Wa\x0C\x90\x91_\x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x0C\xC6Wa\x0C\xB0a\x0C\xAB6`\x04a\x0CzV[a#\xB0V[a\x0C\xB8a\x03\xE4V[\x80a\x0C\xC2\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[4a\x0C\xFBWa\x0C\xF7a\x0C\xE6a\x0C\xE16`\x04a\x0CzV[a$\x8EV[a\x0C\xEEa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\r\x17a\r\x12a\r\x1C\x92a\r\0V[a\x05\xDEV[a\x07\xD8V[\x90V[a\r*a'\x10a\r\x03V[\x90V[a\r5a\r\x1FV[\x90V[4a\rhWa\rH6`\x04a\x04\x9FV[a\rda\rSa\r-V[a\r[a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[a\rz`\x01`\x08\x90a\x04\xD5V[\x90V[4a\r\xADWa\r\x8D6`\x04a\x04\x9FV[a\r\xA9a\r\x98a\rmV[a\r\xA0a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x91\x90`@\x83\x82\x03\x12a\r\xDAW\x80a\r\xCEa\r\xD7\x92_\x86\x01a\x05\xA2V[\x93` \x01a\x05\x7FV[\x90V[a\x03\xEEV[\x90a\r\xE9\x90a\x06+V[_R` R`@_ \x90V[\x90a\r\xFF\x90a\x06\tV[_R` R`@_ \x90V[a\x0E$a\x0E)\x92a\x0E\x1F`X\x93_\x94a\r\xDFV[a\r\xF5V[a\x04\xD5V[\x90V[4a\x0E]Wa\x0EYa\x0EHa\x0EB6`\x04a\r\xB2V[\x90a\x0E\x0BV[a\x0EPa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[_\x80\xFD[`\x1F\x80\x19\x91\x01\x16\x90V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90a\x0E\x8E\x90a\x0EfV[\x81\x01\x90\x81\x10`\x01\x80`@\x1B\x03\x82\x11\x17a\x0E\xA6W`@RV[a\x0EpV[\x90a\x0E\xBEa\x0E\xB7a\x03\xE4V[\x92\x83a\x0E\x84V[V[`\x01\x80`@\x1B\x03\x81\x11a\x0E\xDCWa\x0E\xD8` \x91a\x0EfV[\x01\x90V[a\x0EpV[\x90\x82_\x93\x92\x827\x01RV[\x90\x92\x91\x92a\x0F\x01a\x0E\xFC\x82a\x0E\xC0V[a\x0E\xABV[\x93\x81\x85R` \x85\x01\x90\x82\x84\x01\x11a\x0F\x1DWa\x0F\x1B\x92a\x0E\xE1V[V[a\x0EbV[\x90\x80`\x1F\x83\x01\x12\x15a\x0F@W\x81` a\x0F=\x935\x91\x01a\x0E\xECV[\x90V[a\t\xDFV[\x91\x90\x91`@\x81\x84\x03\x12a\x0F\x83Wa\x0F^\x83_\x83\x01a\x05\x7FV[\x92` \x82\x015`\x01\x80`@\x1B\x03\x81\x11a\x0F~Wa\x0F{\x92\x01a\x0F\"V[\x90V[a\x03\xF2V[a\x03\xEEV[a\x0F\x9Ca\x0F\x966`\x04a\x0FEV[\x90a$\xD6V[a\x0F\xA4a\x03\xE4V[\x80a\x0F\xAE\x81a\nlV[\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\xDEa\x0F\xB2V[\x90V[4a\x10\x11Wa\x0F\xF16`\x04a\x04\x9FV[a\x10\ra\x0F\xFCa\x0F\xD6V[a\x10\x04a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[4a\x10FWa\x10&6`\x04a\x04\x9FV[a\x10Ba\x101a%MV[a\x109a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x10ba\x10]a\x10g\x92a\x10KV[a\x05\xDEV[a\x07\xD8V[\x90V[a\x10ua.\xE0a\x10NV[\x90V[a\x10\x80a\x10jV[\x90V[4a\x10\xB3Wa\x10\x936`\x04a\x04\x9FV[a\x10\xAFa\x10\x9Ea\x10xV[a\x10\xA6a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[4a\x10\xE8Wa\x10\xC86`\x04a\x04\x9FV[a\x10\xE4a\x10\xD3a%\x81V[a\x10\xDBa\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\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\x19a\x10\xEDV[\x90V[4a\x11LWa\x11,6`\x04a\x04\x9FV[a\x11Ha\x117a\x11\x11V[a\x11?a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[4a\x11\x81Wa\x11}a\x11la\x11g6`\x04a\x0CzV[a%\xA3V[a\x11ta\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[4a\x11\xB7Wa\x11\xB3a\x11\xA2a\x11\x9C6`\x04a\r\xB2V[\x90a%\xC2V[a\x11\xAAa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\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\xE8a\x11\xBCV[\x90V[4a\x12\x1BWa\x11\xFB6`\x04a\x04\x9FV[a\x12\x17a\x12\x06a\x11\xE0V[a\x12\x0Ea\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[`\xFF\x16\x90V[a\x126\x90`\x08a\x12;\x93\x02a\x04\xAEV[a\x12 V[\x90V[\x90a\x12I\x91Ta\x12&V[\x90V[a\x12X`\x05_\x90a\x12>V[\x90V[4a\x12\x8BWa\x12k6`\x04a\x04\x9FV[a\x12\x87a\x12va\x12LV[a\x12~a\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x12\xA7a\x12\xA2a\x12\xAC\x92a\x12\x90V[a\x05\xDEV[a\x04\xF2V[\x90V[a\x12\xBBbO\x1A\0a\x12\x93V[\x90V[a\x12\xC6a\x12\xAFV[\x90V[4a\x12\xF9Wa\x12\xD96`\x04a\x04\x9FV[a\x12\xF5a\x12\xE4a\x12\xBEV[a\x12\xECa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x13\x15a\x13\x10a\x13\x1A\x92a\x12\xFEV[a\x05\xDEV[a\x07\xECV[\x90V[a\x13*c\x05\xF5\xE1\0a\x13\x01V[\x90V[a\x135a\x13\x1DV[\x90V[4a\x13hWa\x13H6`\x04a\x04\x9FV[a\x13da\x13Sa\x13-V[a\x13[a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x13w_\x80a\x04\xD5V[\x90V[4a\x13\xAAWa\x13\x8A6`\x04a\x04\x9FV[a\x13\xA6a\x13\x95a\x13mV[a\x13\x9Da\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x13\xB8\x90a\x05_V[\x90RV[\x91\x90a\x13\xCF\x90_` \x85\x01\x94\x01\x90a\x13\xAFV[V[4a\x14\x01Wa\x13\xFDa\x13\xECa\x13\xE76`\x04a\x0CzV[a&0V[a\x13\xF4a\x03\xE4V[\x91\x82\x91\x82a\x13\xBCV[\x03\x90\xF3[a\x03\xEAV[4a\x146Wa\x142a\x14!a\x14\x1C6`\x04a\x04%V[a&OV[a\x14)a\x03\xE4V[\x91\x82\x91\x82a\x13\xBCV[\x03\x90\xF3[a\x03\xEAV[4a\x14lWa\x14ha\x14Wa\x14Q6`\x04a\x0B\rV[\x90a&zV[a\x14_a\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[4a\x14\xA1Wa\x14\x9Da\x14\x8Ca\x14\x876`\x04a\x0CzV[a&\xACV[a\x14\x94a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90\x91``\x82\x84\x03\x12a\x14\xDBWa\x14\xD8a\x14\xC1\x84_\x85\x01a\x05\x7FV[\x93a\x14\xCF\x81` \x86\x01a\x05\xA2V[\x93`@\x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x15\x11Wa\x15\ra\x14\xFCa\x14\xF66`\x04a\x14\xA6V[\x91a(\xE4V[a\x15\x04a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x15,\x90a\x15'`V\x91_\x92a\r\xF5V[a\x04\xD5V[\x90V[4a\x15_Wa\x15[a\x15Ja\x15E6`\x04a\x0CzV[a\x15\x16V[a\x15Ra\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x15}a\x15\x82\x92a\x15x`W\x93_\x94a\r\xDFV[a\r\xF5V[a\x04\xD5V[\x90V[4a\x15\xB6Wa\x15\xB2a\x15\xA1a\x15\x9B6`\x04a\r\xB2V[\x90a\x15dV[a\x15\xA9a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x15\xD2a\x15\xCDa\x15\xD7\x92a\x15\xBBV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x15\xE6b'\x8D\0a\x15\xBEV[\x90V[a\x15\xF1a\x15\xDAV[\x90V[4a\x16$Wa\x16\x046`\x04a\x04\x9FV[a\x16 a\x16\x0Fa\x15\xE9V[a\x16\x17a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[_\x1B\x90V[a\x16Ea\x16@a\x16J\x92a\x16)V[a\x16,V[a\x07\xC8V[\x90V[a\x16V_a\x161V[\x90V[a\x16aa\x16MV[\x90V[4a\x16\x94Wa\x16t6`\x04a\x04\x9FV[a\x16\x90a\x16\x7Fa\x16YV[a\x16\x87a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[a\x16\xA2\x90a\x04\xF2V[\x90RV[a\x16\xAF\x90a\x07\xC8V[\x90RV[a\x16\xBC\x90a\x07\xD8V[\x90RV[a\x16\xC9\x90a\x07\xECV[\x90RV[\x90a\x01\0\x80a\x17n\x93a\x16\xE6_\x82\x01Q_\x86\x01\x90a\x16\x99V[a\x16\xF8` \x82\x01Q` \x86\x01\x90a\x16\x99V[a\x17\n`@\x82\x01Q`@\x86\x01\x90a\x16\x99V[a\x17\x1C``\x82\x01Q``\x86\x01\x90a\x16\xA6V[a\x17.`\x80\x82\x01Q`\x80\x86\x01\x90a\x16\xB3V[a\x17@`\xA0\x82\x01Q`\xA0\x86\x01\x90a\x16\xC0V[a\x17R`\xC0\x82\x01Q`\xC0\x86\x01\x90a\x16\xC0V[a\x17d`\xE0\x82\x01Q`\xE0\x86\x01\x90a\x16\xC0V[\x01Q\x91\x01\x90a\x16\xA6V[V[\x91\x90a\x17\x84\x90_a\x01 \x85\x01\x94\x01\x90a\x16\xCDV[V[4a\x17\xB7Wa\x17\xB3a\x17\xA2a\x17\x9C6`\x04a\x05\xB1V[\x90a*\x92V[a\x17\xAAa\x03\xE4V[\x91\x82\x91\x82a\x17pV[\x03\x90\xF3[a\x03\xEAV[\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\xE8a\x17\xBCV[\x90V[4a\x18\x1BWa\x17\xFB6`\x04a\x04\x9FV[a\x18\x17a\x18\x06a\x17\xE0V[a\x18\x0Ea\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x187a\x182a\x18<\x92a\x18 V[a\x05\xDEV[a\x07\xD8V[\x90V[a\x18Ja2\xC8a\x18#V[\x90V[a\x18Ua\x18?V[\x90V[4a\x18\x88Wa\x18h6`\x04a\x04\x9FV[a\x18\x84a\x18sa\x18MV[a\x18{a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x18\xA4a\x18\x9Fa\x18\xA9\x92a\x18\x8DV[a\x05\xDEV[a\x07\xECV[\x90V[a\x18\xBDg\r\xE0\xB6\xB3\xA7d\0\0a\x18\x90V[\x90V[a\x18\xC8a\x18\xACV[\x90V[4a\x18\xFBWa\x18\xDB6`\x04a\x04\x9FV[a\x18\xF7a\x18\xE6a\x18\xC0V[a\x18\xEEa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[`\x01\x80`@\x1B\x03\x81\x11a\x19\x1CWa\x19\x18` \x91a\x0EfV[\x01\x90V[a\x0EpV[\x90a\x193a\x19.\x83a\x19\0V[a\x0E\xABV[\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\x0EfV[\x01\x90V[a\x19\xF7\x91` \x82\x01\x91_\x81\x84\x03\x91\x01Ra\x19\xB1V[\x90V[4a\x1A*Wa\x1A\n6`\x04a\x04\x9FV[a\x1A&a\x1A\x15a\x19\x8EV[a\x1A\x1Da\x03\xE4V[\x91\x82\x91\x82a\x19\xE2V[\x03\x90\xF3[a\x03\xEAV[a\x1A;`\x07_\x90a\x12>V[\x90V[4a\x1AnWa\x1AN6`\x04a\x04\x9FV[a\x1Aja\x1AYa\x1A/V[a\x1Aaa\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1A\x8Aa\x1A\x85a\x1A\x8F\x92a\x1AsV[a\x05\xDEV[a\x07\xECV[\x90V[a\x1A\x9C`\x01a\x1AvV[\x90V[a\x1A\xA7a\x1A\x92V[\x90V[4a\x1A\xDAWa\x1A\xBA6`\x04a\x04\x9FV[a\x1A\xD6a\x1A\xC5a\x1A\x9FV[a\x1A\xCDa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x1A\xEB_`\x18\x90a\x04\xD5V[\x90V[4a\x1B\x1EWa\x1A\xFE6`\x04a\x04\x9FV[a\x1B\x1Aa\x1B\ta\x1A\xDFV[a\x1B\x11a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90` \x80a\x1BE\x93a\x1B;_\x82\x01Q_\x86\x01\x90a\x16\xC0V[\x01Q\x91\x01\x90a\x16\xC0V[V[\x91\x90a\x1BZ\x90_`@\x85\x01\x94\x01\x90a\x1B#V[V[4a\x1B\x8DWa\x1B\x89a\x1Bxa\x1Br6`\x04a\r\xB2V[\x90a+iV[a\x1B\x80a\x03\xE4V[\x91\x82\x91\x82a\x1BGV[\x03\x90\xF3[a\x03\xEAV[4a\x1B\xC3Wa\x1B\xBFa\x1B\xAEa\x1B\xA86`\x04a\r\xB2V[\x90a+\x91V[a\x1B\xB6a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x1B\xD1\x81a\x07\xECV[\x03a\x1B\xD8WV[_\x80\xFD[\x90P5\x90a\x1B\xE9\x82a\x1B\xC8V[V[a\x1B\xF4\x81a\x07\xD8V[\x03a\x1B\xFBWV[_\x80\xFD[\x90P5\x90a\x1C\x0C\x82a\x1B\xEBV[V[`\x80\x81\x83\x03\x12a\x1COWa\x1C$\x82_\x83\x01a\x05\x7FV[\x92a\x1CLa\x1C5\x84` \x85\x01a\x1B\xDCV[\x93a\x1CC\x81`@\x86\x01a\x1B\xDCV[\x93``\x01a\x1B\xFFV[\x90V[a\x03\xEEV[4a\x1C\x86Wa\x1Cpa\x1Cg6`\x04a\x1C\x0EV[\x92\x91\x90\x91a3\x7FV[a\x1Cxa\x03\xE4V[\x80a\x1C\x82\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1C\xA2a\x1C\x9Da\x1C\xA7\x92a\x1C\x8BV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1C\xB6bv\xA7\0a\x1C\x8EV[\x90V[a\x1C\xC1a\x1C\xAAV[\x90V[4a\x1C\xF4Wa\x1C\xD46`\x04a\x04\x9FV[a\x1C\xF0a\x1C\xDFa\x1C\xB9V[a\x1C\xE7a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1D\x10a\x1D\x0Ba\x1D\x15\x92a\x1C\xF9V[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1D$b\t:\x80a\x1C\xFCV[\x90V[a\x1D/a\x1D\x18V[\x90V[4a\x1DbWa\x1DB6`\x04a\x04\x9FV[a\x1D^a\x1DMa\x1D'V[a\x1DUa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[4a\x1D\x96Wa\x1D\x80a\x1Dz6`\x04a\x0B\rV[\x90a3\xB7V[a\x1D\x88a\x03\xE4V[\x80a\x1D\x92\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x1D\xA7`\x01_\x90a\x04\xD5V[\x90V[4a\x1D\xDAWa\x1D\xBA6`\x04a\x04\x9FV[a\x1D\xD6a\x1D\xC5a\x1D\x9BV[a\x1D\xCDa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1D\xF6a\x1D\xF1a\x1D\xFB\x92a\x1D\xDFV[a\x05\xDEV[a\x07\xECV[\x90V[a\x1E\x0Ef#\x86\xF2o\xC1\0\0a\x1D\xE2V[\x90V[a\x1E\x19a\x1D\xFEV[\x90V[4a\x1ELWa\x1E,6`\x04a\x04\x9FV[a\x1EHa\x1E7a\x1E\x11V[a\x1E?a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\x1E\x80W_\x82\x015`\x01\x80`@\x1B\x03\x81\x11a\x1E{Wa\x1Ew\x92\x01a\t\xEBV[\x90\x91V[a\x03\xF2V[a\x03\xEEV[4a\x1E\xB4Wa\x1E\x9Ea\x1E\x986`\x04a\x1EQV[\x90a4\x18V[a\x1E\xA6a\x03\xE4V[\x80a\x1E\xB0\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x1E\xCDa\x1E\xC8a\x1E\xD2\x92a\r\0V[a\x05\xDEV[a\x07\xECV[\x90V[a\x1E\xE0a'\x10a\x1E\xB9V[\x90V[a\x1E\xEBa\x1E\xD5V[\x90V[4a\x1F\x1EWa\x1E\xFE6`\x04a\x04\x9FV[a\x1F\x1Aa\x1F\ta\x1E\xE3V[a\x1F\x11a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[4a\x1FRWa\x1F<a\x1F66`\x04a\x05\xB1V[\x90a5IV[a\x1FDa\x03\xE4V[\x80a\x1FN\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1Fna\x1Fia\x1Fs\x92a\x1FWV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1F\x82b\xEDN\0a\x1FZV[\x90V[a\x1F\x8Da\x1FvV[\x90V[4a\x1F\xC0Wa\x1F\xA06`\x04a\x04\x9FV[a\x1F\xBCa\x1F\xABa\x1F\x85V[a\x1F\xB3a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x7F\x18\x9A\xB7\xA9$M\xF0\x84\x81\"\x15C\x15\xAFq\xFE\x14\x0F=\xB0\xFE\x01@1x;\tF\xB8\xC9\xD2\xE3\x90V[a\x1F\xF1a\x1F\xC5V[\x90V[4a $Wa \x046`\x04a\x04\x9FV[a a \x0Fa\x1F\xE9V[a \x17a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[a 5_`\x08\x90a\x04\xD5V[\x90V[4a hWa H6`\x04a\x04\x9FV[a da Sa )V[a [a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[_\x90V[a ya mV[P\x80a \x94a \x8Ecye\xDB\x0B`\xE0\x1Ba\x03\xF6V[\x91a\x03\xF6V[\x14\x90\x81\x15a \xA1W[P\x90V[a \xAB\x91Pa5ZV[_a \x9DV[_\x90V[\x90a \xBF\x90a\x06\tV[_R` R`@_ \x90V[a \xD4\x90a\x07\xC8V[\x90V[\x90a \xE1\x90a \xCBV[_R` R`@_ \x90V[a!\x01a \xFCa!\x06\x92a\x16)V[a\x05\xDEV[a\x07\xECV[\x90V[a!.\x91a!$a!)\x92a!\x1Ca \xB1V[P`\x11a \xB5V[a \xD7V[a\x074V[\x80a!Aa!;_a \xEDV[\x91a\x07\xECV[\x14_\x14a!UWPa!Qa\x18\xACV[[\x90V[a!RV[`\x01\x80`@\x1B\x03\x81\x11a!pW` \x80\x91\x02\x01\x90V[a\x0EpV[\x90\x92\x91\x92a!\x8Aa!\x85\x82a!ZV[a\x0E\xABV[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a!\xC7W\x91[\x83\x83\x10a!\xAEWPPPPV[` \x80\x91a!\xBC\x84\x86a\x04\x16V[\x81R\x01\x92\x01\x91a!\xA1V[a\t\xE7V[a!\xD7\x916\x91a!uV[\x90V[a!\xF6\x92a!\xF0\x91a!\xEAa5\x92V[\x92a!\xCCV[\x90a5\xCDV[V[_\x90V[\x90a\"\x06\x90a \xCBV[_R` R`@_ \x90V[`\x01a\"3a\"9\x92a\"#a!\xF8V[P_a\"-a7AV[\x01a!\xFCV[\x01a\x06\xE8V[\x90V[\x90a\"W\x91a\"Ra\"M\x82a\"\x12V[a7eV[a\"YV[V[\x90a\"c\x91a7yV[PV[\x90a\"p\x91a\"<V[V[\x90\x80a\"\x8Da\"\x87a\"\x82a80V[a\x05_V[\x91a\x05_V[\x03a\"\x9EWa\"\x9B\x91a8=V[PV[_c3K\xD9\x19`\xE1\x1B\x81R\x80a\"\xB6`\x04\x82\x01a\nlV[\x03\x90\xFD[a\"\xC3\x90a\x05\xE1V[\x90V[a\"\xCF\x90a\"\xBAV[\x90V[a\"\xDB\x90a\x05\xFDV[\x90V[`\xE0\x1B\x90V[\x90PQ\x90a\"\xF1\x82a\x04\x02V[V[\x90\x92\x91\x92a#\x08a#\x03\x82a!ZV[a\x0E\xABV[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a#EW\x91[\x83\x83\x10a#,WPPPPV[` \x80\x91a#:\x84\x86a\"\xE4V[\x81R\x01\x92\x01\x91a#\x1FV[a\t\xE7V[\x90\x80`\x1F\x83\x01\x12\x15a#hW\x81` a#e\x93Q\x91\x01a\"\xF3V[\x90V[a\t\xDFV[\x90` \x82\x82\x03\x12a#\x9BW_\x82\x01Q`\x01\x80`@\x1B\x03\x81\x11a#\x96Wa#\x93\x92\x01a#JV[\x90V[a\x03\xF2V[a\x03\xEEV[a#\xA8a\x03\xE4V[=_\x82>=\x90\xFD[a#\xB8a5\x92V[a#\xE3_a#\xCDa#\xC8\x84a\"\xC6V[a\"\xD2V[cn%\xB9x\x90a#\xDBa\x03\xE4V[\x93\x84\x92a\"\xDEV[\x82R\x81\x80a#\xF3`\x04\x82\x01a\nlV[\x03\x91Z\xFA\x80\x15a$sWa$\x0F\x91_\x91a$QW[P\x82a5\xCDV[a$9\x7FM<0\xF5\x99?\x19\"\xA7y4Z\x0F~\xC1\xA1p\xF1\xE5.\x9D#\x08$\xF9\xC1~cYl\x90m\x91a\x06\tV[\x90a$Ba\x03\xE4V[\x80a$L\x81a\nlV[\x03\x90\xA2V[a$m\x91P=\x80_\x83>a$e\x81\x83a\x0E\x84V[\x81\x01\x90a#mV[_a$\x08V[a#\xA0V[\x90a$\x82\x90a\x06\tV[_R` R`@_ \x90V[a$\xA5a$\xAA\x91a$\x9Da \xB1V[P`\x1Ba$xV[a\x074V[\x90V[\x90a$\xBF\x91a$\xBAa8\xF6V[a$\xC1V[V[\x90a$\xD4\x91a$\xCF\x81a9\xB0V[a:\x0CV[V[\x90a$\xE0\x91a$\xADV[V[a$\xF3\x90a$\xEEa;\nV[a%AV[\x90V[\x90V[a%\ra%\x08a%\x12\x92a$\xF6V[a\x16,V[a\x07\xC8V[\x90V[a%>\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCa$\xF9V[\x90V[Pa%Ja%\x15V[\x90V[a%]a%Xa!\xF8V[a$\xE2V[\x90V[a%la%q\x91a\x06]V[a\x12 V[\x90V[a%~\x90Ta%`V[\x90V[a%\x89a mV[Pa%\x9C_a%\x96a;hV[\x01a%tV[\x90V[_\x90V[a%\xBAa%\xBF\x91a%\xB2a%\x9FV[P`Va\r\xF5V[a\x06vV[\x90V[a%\xE7\x91a%\xDDa%\xE2\x92a%\xD5a%\x9FV[P`Wa\r\xDFV[a\r\xF5V[a\x06vV[\x90V[_\x90V[\x90a%\xF8\x90a\x06\tV[_R` R`@_ \x90V[`\x01\x80`\xA0\x1B\x03\x16\x90V[a&\x1Ba& \x91a\x06]V[a&\x04V[\x90V[a&-\x90Ta&\x0FV[\x90V[a&Ga&L\x91a&?a%\xEAV[P`\x06a%\xEEV[a&#V[\x90V[a&a\x90a&[a%\xEAV[Pa;\xA2V[\x90V[\x90a&n\x90a\x06\tV[_R` R`@_ \x90V[a&\xA9\x91_a&\x9Ea&\xA4\x93a&\x8Ea mV[P\x82a&\x98a7AV[\x01a!\xFCV[\x01a&dV[a%tV[\x90V[a&\xC3a&\xC8\x91a&\xBBa%\x9FV[P`#a\r\xF5V[a\x06vV[\x90V[\x90a&\xD5\x90a\x04\xF2V[\x90RV[\x90a&\xE3\x90a\x07\xC8V[\x90RV[\x90a&\xF1\x90a\x07\xD8V[\x90RV[\x90a&\xFF\x90a\x07\xECV[\x90RV[a'\x0Ea\x01 a\x0E\xABV[\x90V[\x90a'\xEFa'\xE5`\x06a'\"a'\x03V[\x94a'9a'1_\x83\x01a\x06vV[_\x88\x01a&\xCBV[a'Pa'G_\x83\x01a\x06\x9DV[` \x88\x01a&\xCBV[a'ga'^_\x83\x01a\x06\xC4V[`@\x88\x01a&\xCBV[a'\x7Fa'v`\x01\x83\x01a\x06\xE8V[``\x88\x01a&\xD9V[a'\x97a'\x8E`\x02\x83\x01a\x07\x10V[`\x80\x88\x01a&\xE7V[a'\xAFa'\xA6`\x03\x83\x01a\x074V[`\xA0\x88\x01a&\xF5V[a'\xC7a'\xBE`\x04\x83\x01a\x074V[`\xC0\x88\x01a&\xF5V[a'\xDFa'\xD6`\x05\x83\x01a\x074V[`\xE0\x88\x01a&\xF5V[\x01a\x06\xE8V[a\x01\0\x84\x01a&\xD9V[V[a'\xFA\x90a'\x11V[\x90V[a(\x07\x90Qa\x04\xF2V[\x90V[a(\x1Ea(\x19a(#\x92a\x16)V[a\x05\xDEV[a\x04\xF2V[\x90V[a(0\x90Qa\x07\xC8V[\x90V[a(=\x90Qa\x07\xECV[\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[a(ca(i\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x82\x03\x91\x82\x11a(tWV[a(@V[a(\x88a(\x8E\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x91a(\x9A\x83\x82\x02a\x07\xECV[\x92\x81\x84\x04\x14\x90\x15\x17\x15a(\xA9WV[a(@V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[a(\xCEa(\xD4\x91a\x07\xECV[\x91a\x07\xECV[\x90\x81\x15a(\xDFW\x04\x90V[a(\xAEV[\x92\x91\x90\x92a)\ra)\x08a(\xF6a \xB1V[\x95a)\x03`U\x85\x90a\x06\x15V[a\x06GV[a'\xF1V[\x91a)\x19_\x84\x01a'\xFDV[a)+a)%_a(\nV[\x91a\x04\xF2V[\x14a)\xECW\x90a)H\x91\x90a)B``\x85\x01a(&V[\x91a<\xD6V[\x90\x81a)\\a)V_a \xEDV[\x91a\x07\xECV[\x14a)\xDCWa)m`\xC0\x82\x01a(3V[a)\x8Aa)\x84a)\x7F`\xE0\x85\x01a(3V[a\x07\xECV[\x91a\x07\xECV[\x11a)\x94W[PPV[a)\xD4\x92\x93P\x90a)\xC0\x82a)\xBA`\xE0a)\xB3`\xC0a)\xC6\x97\x01a(3V[\x92\x01a(3V[\x90a(TV[\x90a(yV[a)\xCEa\x18\xACV[\x90a(\xC2V[\x90_\x80a)\x90V[PP\x90Pa)\xE9_a \xEDV[\x90V[PPP\x90Pa)\xFA_a \xEDV[\x90V[_\x90V[_\x90V[_\x90V[_\x90V[a*\x15a'\x03V[\x90` \x80\x80\x80\x80\x80\x80\x80\x80\x8Aa*)a)\xFDV[\x81R\x01a*4a)\xFDV[\x81R\x01a*?a)\xFDV[\x81R\x01a*Ja*\x01V[\x81R\x01a*Ua*\x05V[\x81R\x01a*`a*\tV[\x81R\x01a*ka*\tV[\x81R\x01a*va*\tV[\x81R\x01a*\x81a*\x01V[\x81RPPV[a*\x8Fa*\rV[\x90V[a*\xB7\x91a*\xADa*\xB2\x92a*\xA5a*\x87V[P`Ua\x06\x15V[a\x06GV[a'\xF1V[\x90V[a*\xC4`@a\x0E\xABV[\x90V[a*\xCFa*\xBAV[\x90` \x80\x83a*\xDCa*\tV[\x81R\x01a*\xE7a*\tV[\x81RPPV[a*\xF5a*\xC7V[\x90V[\x90a+\x02\x90a\x06+V[_R` R`@_ \x90V[\x90a+\x18\x90a\x06\tV[_R` R`@_ \x90V[\x90a+[a+R`\x01a+5a*\xBAV[\x94a+La+D_\x83\x01a\x074V[_\x88\x01a&\xF5V[\x01a\x074V[` \x84\x01a&\xF5V[V[a+f\x90a+$V[\x90V[a+\x8E\x91a+\x84a+\x89\x92a+|a*\xEDV[P`\x10a*\xF8V[a+\x0EV[a+]V[\x90V[a+\xB6\x91a+\xACa+\xB1\x92a+\xA4a%\x9FV[P`Xa\r\xDFV[a\r\xF5V[a\x06vV[\x90V[a+\xC5a+\xCA\x91a\x06\x83V[a\x12 V[\x90V[a+\xD7\x90Ta+\xB9V[\x90V[a+\xEEa+\xE9a+\xF3\x92a\x1AsV[a\x05\xDEV[a\x04\xF2V[\x90V[a+\xFF\x90a\x05\xFDV[\x90V[\x90a,\x13`\x01\x80`@\x1B\x03\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x90a,5a,0a,<\x92a\x06+V[a,\x1DV[\x82Ta,\x02V[\x90UV[`@\x1B\x90V[\x90a,U`\xFF`@\x1B\x91a,@V[\x91\x81\x19\x16\x91\x16\x17\x90V[a,h\x90a\x04CV[\x90V[\x90V[\x90a,\x83a,~a,\x8A\x92a,_V[a,kV[\x82Ta,FV[\x90UV[a,\x97\x90a+\xDAV[\x90RV[\x91\x90a,\xAE\x90_` \x85\x01\x94\x01\x90a,\x8EV[V[\x90\x91\x92a,\xBBa=\xC5V[\x93a,\xD0a,\xCA_\x87\x01a+\xCDV[\x15a\x04CV[\x93a,\xDC_\x87\x01a\x06vV[\x80a,\xEFa,\xE9_a(\nV[\x91a\x04\xF2V[\x14\x80a.\tW[\x90a-\na-\x04`\x01a+\xDAV[\x91a\x04\xF2V[\x14\x80a-\xE1W[a-\x1C\x90\x91\x15a\x04CV[\x90\x81a-\xD0W[Pa-\xB4Wa-L\x93a-Aa-9`\x01a+\xDAV[_\x89\x01a, V[\x85a-\xA2W[a1\xC1V[a-TW[PV[a-a\x90_\x80\x91\x01a,nV[`\x01a-\x99\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-\x90a\x03\xE4V[\x91\x82\x91\x82a,\x9BV[\x03\x90\xA1_a-QV[a-\xAF`\x01_\x89\x01a,nV[a-GV[_c\xF9.\xE8\xA9`\xE0\x1B\x81R\x80a-\xCC`\x04\x82\x01a\nlV[\x03\x90\xFD[a-\xDB\x91P\x15a\x04CV[_a-#V[Pa-\x1Ca-\xEE0a+\xF6V[;a.\x01a-\xFB_a \xEDV[\x91a\x07\xECV[\x14\x90Pa-\x11V[P\x85a,\xF6V[a.$a.\x1Fa.)\x92a\x16)V[a\x05\xDEV[a\x05TV[\x90V[a.5\x90a.\x10V[\x90V[a.B`@a\x0E\xABV[\x90V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x02\x11\x15a.cWV[a.EV[\x90a.r\x82a.YV[V[\x90a.~\x90a.hV[\x90RV[\x90a.\x8C\x90a\x05_V[\x90RV[a.\xA4a.\x9Fa.\xA9\x92a\x07\xECV[a\x05\xDEV[a\x07\xD8V[\x90V[a.\xB6`\xC0a\x0E\xABV[\x90V[\x90a.\xC3\x90a\x04CV[\x90RV[\x90a.\xD1\x90a \xCBV[_R` R`@_ \x90V[a.\xE7\x90Qa\x04CV[\x90V[\x90a.\xF6`\xFF\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a/\x15a/\x10a/\x1C\x92a,_V[a,kV[\x82Ta.\xEAV[\x90UV[\x90a/,_\x19\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/Ja/Ea/O\x92a\x07\xECV[a\x05\xDEV[a\x07\xECV[\x90V[\x90V[\x90a/ja/ea/q\x92a/6V[a/RV[\x82Ta/ V[\x90UV[a/\x7F\x90Qa\x07\xD8V[\x90V[\x90a/\x8Fa\xFF\xFF\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/\xADa/\xA8a/\xB2\x92a\x07\xD8V[a\x05\xDEV[a\x07\xD8V[\x90V[\x90V[\x90a/\xCDa/\xC8a/\xD4\x92a/\x99V[a/\xB5V[\x82Ta/\x82V[\x90UV[\x90a0g`\xA0`\x05a0m\x94a/\xFB_\x82\x01a/\xF5_\x88\x01a.\xDDV[\x90a/\0V[a0\x14`\x01\x82\x01a0\x0E` \x88\x01a(3V[\x90a/UV[a0-`\x02\x82\x01a0'`@\x88\x01a(3V[\x90a/UV[a0F`\x03\x82\x01a0@``\x88\x01a(3V[\x90a/UV[a0_`\x04\x82\x01a0Y`\x80\x88\x01a(3V[\x90a/UV[\x01\x92\x01a/uV[\x90a/\xB8V[V[\x90a0y\x91a/\xD8V[V[`\x80\x1B\x90V[\x90a0\x91a\xFF\xFF`\x80\x1B\x91a0{V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0\xB0a0\xABa0\xB7\x92a/\x99V[a/\xB5V[\x82Ta0\x81V[\x90UV[\x90V[a0\xD2a0\xCDa0\xD7\x92a0\xBBV[a\x05\xDEV[a\x04\xF2V[\x90V[a0\xE5aT`a0\xBEV[\x90V[\x90a0\xFD`\x01`@\x1B`\x01`\x80\x1B\x03\x91a,@V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1\x1Ca1\x17a1#\x92a\x06+V[a,\x1DV[\x82Ta0\xE8V[\x90UV[\x90V[a1>a19a1C\x92a1'V[a\x05\xDEV[a\x04\xF2V[\x90V[a1P`\x1Ca1*V[\x90V[`\xC0\x1B\x90V[\x90a1k`\x01\x80`\xC0\x1B\x03\x19\x91a1SV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1\x8Aa1\x85a1\x91\x92a\x06+V[a,\x1DV[\x82Ta1YV[\x90UV[\x90V[a1\xACa1\xA7a1\xB1\x92a1\x95V[a\x05\xDEV[a\x04\xF2V[\x90V[a1\xBE`8a1\x98V[\x90V[\x91\x90\x91a1\xCCa=\xF3V[a1\xD4a>\x07V[a1\xDCa>-V[a1\xE4a>SV[a1\xECa\x16MV[\x81a1\xF6\x91a7yV[Pa1\xFFa\x11\xBCV[\x81a2\t\x91a7yV[Pa2\x12a\x17\xBCV[\x81a2\x1C\x91a7yV[Pa2%a\x1F\xC5V[\x90a2/\x91a7yV[P_\x80a2;\x90a.,V[a2Ca.8V[\x91_\x83\x01\x90a2Q\x91a.tV[` \x82\x01\x90a2_\x91a.\x82V[a2h\x90a>\xBDV[\x90`\x01\x92\x90_\x80\x91a2xa\x1E\xD5V[a2\x81\x90a.\x90V[\x93a2\x8Aa.\xACV[\x96_\x88\x01\x90a2\x98\x91a.\xB9V[` \x87\x01\x90a2\xA6\x91a&\xF5V[`@\x86\x01\x90a2\xB4\x91a&\xF5V[a2\xBD\x90a \xEDV[``\x85\x01\x90a2\xCB\x91a&\xF5V[a2\xD4\x90a \xEDV[`\x80\x84\x01\x90a2\xE2\x91a&\xF5V[`\xA0\x83\x01\x90a2\xF0\x91a&\xE7V[`\x02\x90a2\xFC\x91a.\xC7V[\x90a3\x06\x91a0oV[`\x01a3\x13\x90`\x05a/\0V[a3\x1E\x90`\x01a0\x9BV[`\x01a3)\x90a+\xDAV[a33\x90_a, V[a3;a0\xDAV[a3E\x90_a1\x07V[a3Ma1FV[a3W\x90_a1uV[a3_a1FV[a3j\x90`\x01a, V[a3ra1\xB4V[a3}\x90`\x01a1\x07V[V[\x90a3\x8B\x93\x92\x91a,\xB0V[V[\x90a3\xA8\x91a3\xA3a3\x9E\x82a\"\x12V[a7eV[a3\xAAV[V[\x90a3\xB4\x91a8=V[PV[\x90a3\xC1\x91a3\x8DV[V[`\x01a3\xCF\x91\x01a\x07\xECV[\x90V[P\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x91\x90\x81\x10\x15a3\xFAW` \x02\x01\x90V[a3\xD6V[5a4\t\x81a\x04\x02V[\x90V[a4\x15\x90a\x03\xF6V[\x90V[\x91\x90\x91a4#a5\x92V[a4,_a \xEDV[[\x80a4Ja4Da4?\x85\x88\x90a3\xD2V[a\x07\xECV[\x91a\x07\xECV[\x10\x15a4\xCEWa4\xC9\x90a4pa4ka4f\x85\x88\x85\x91a3\xEAV[a3\xFFV[a?\x84V[a4\x84a4\x7F\x84\x87\x84\x91a3\xEAV[a3\xFFV[a4\xAE\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\x91a4\x0CV[\x90a4\xB7a\x03\xE4V[\x80a4\xC1\x81a\nlV[\x03\x90\xA2a3\xC3V[a4-V[PP\x90PV[\x90a4\xEE\x91a4\xE9a4\xE4a\x11\xBCV[a7eV[a4\xF0V[V[a5\x05\x82a5\0`#\x84\x90a\r\xF5V[a, V[a5Da52\x7F\x90\xB3~Y\xA9B\xC5A<\xE0\n:\x84JG\xC2\0\x94\x97\x98\x97\xCCe6\x06\xD9%\xE9\t\x88_5\x92a\x06\tV[\x92a5;a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xA2V[\x90a5S\x91a4\xD4V[V[a?\x9AV[a5ba mV[Pa5|a5vc\x01\xFF\xC9\xA7`\xE0\x1Ba\x03\xF6V[\x91a\x03\xF6V[\x14\x90V[a5\x90a5\x8Ba\x11\xBCV[a7eV[V[a5\x9Aa5\x80V[V[Q\x90V[\x90a5\xAA\x82a5\x9CV[\x81\x10\x15a5\xBBW` \x80\x91\x02\x01\x01\x90V[a3\xD6V[a5\xCA\x90Qa\x03\xF6V[\x90V[\x91\x90\x82a5\xEAa5\xE4a5\xDF_a.,V[a\x05_V[\x91a\x05_V[\x14a7<W\x82;a6\x03a5\xFD_a \xEDV[\x91a\x07\xECV[\x14a76Wa6\x11_a \xEDV[[\x80a6-a6'a6\"\x85a5\x9CV[a\x07\xECV[\x91a\x07\xECV[\x10\x15a70Wa6Na6Ia6D\x84\x84\x90a5\xA0V[a5\xC0V[a;\xA2V[\x80a6ia6ca6^_a.,V[a\x05_V[\x91a\x05_V[\x14\x15\x80a7\x15W[a6\xFEWPa6\xF9\x90a6\x97a6\x90a6\x8B\x85\x84\x90a5\xA0V[a5\xC0V[\x86\x90a@\xA1V[a6\xAAa6\xA5\x84\x83\x90a5\xA0V[a5\xC0V[\x85a6\xDEa6\xD8\x7F\x12U\x7F%\xE4X\xD9h-|\x95\x9BZ\x96\x0B\xC93.\x8Bz\xF1\x12\x0BT\xA33\xBF\xC1\xFF(+9\x93a4\x0CV[\x91a\x06\tV[\x91a6\xE7a\x03\xE4V[\x80a6\xF1\x81a\nlV[\x03\x90\xA3a3\xC3V[a6\x12V[a7\x10a7\x0B\x83\x85a5\xA0V[a5\xC0V[a@HV[P\x80a7)a7#\x87a\x05_V[\x91a\x05_V[\x14\x15a6qV[PP\x90PV[\x82a?\xF9V[a?\xDDV[\x7F\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x90V[a7w\x90a7qa80V[\x90a@\xDAV[V[a7\x81a mV[Pa7\x8Aa7AV[a7\x9Ea7\x98\x83\x85\x90a&zV[\x15a\x04CV[_\x14a8)Wa7\xC8\x90a7\xC3_a7\xBB\x81`\x01\x94\x01\x86\x90a!\xFCV[\x01\x85\x90a&dV[a/\0V[\x90a7\xD1a80V[\x90a8\x0Ea8\x08a8\x02\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r\x95a \xCBV[\x92a\x06\tV[\x92a\x06\tV[\x92a8\x17a\x03\xE4V[\x80a8!\x81a\nlV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a88a%\xEAV[P3\x90V[a8Ea mV[Pa8Na7AV[a8Y\x82\x84\x90a&zV[_\x14a8\xE3Wa8\x82\x90a8}_a8u\x81\x80\x94\x01\x86\x90a!\xFCV[\x01\x85\x90a&dV[a/\0V[\x90a8\x8Ba80V[\x90a8\xC8a8\xC2a8\xBC\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x95a \xCBV[\x92a\x06\tV[\x92a\x06\tV[\x92a8\xD1a\x03\xE4V[\x80a8\xDB\x81a\nlV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a8\xF3\x90a\x05\xFDV[\x90V[a8\xFF0a8\xEAV[a91a9+\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\x05_V[\x91a\x05_V[\x14\x80\x15a9[W[a9?WV[_cp>F\xDD`\xE1\x1B\x81R\x80a9W`\x04\x82\x01a\nlV[\x03\x90\xFD[Pa9daA\x15V[a9\x96a9\x90\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\x05_V[\x91a\x05_V[\x14\x15a99V[Pa9\xAEa9\xA9a\x1F\xC5V[a7eV[V[a9\xB9\x90a9\x9DV[V[a9\xC4\x90a\x05\xE1V[\x90V[a9\xD0\x90a9\xBBV[\x90V[a9\xDC\x90a\x05\xFDV[\x90V[\x90PQ\x90a9\xEC\x82a\x08\xC2V[V[\x90` \x82\x82\x03\x12a:\x07Wa:\x04\x91_\x01a9\xDFV[\x90V[a\x03\xEEV[\x91\x90a::` a:$a:\x1F\x86a9\xC7V[a9\xD3V[cR\xD1\x90-\x90a:2a\x03\xE4V[\x93\x84\x92a\"\xDEV[\x82R\x81\x80a:J`\x04\x82\x01a\nlV[\x03\x91Z\xFA\x80\x91_\x92a:\xDAW[P\x15_\x14a:\x8BWPP\x90`\x01a:lWP[V[a:\x87\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[\x92\x83a:\xA6a:\xA0a:\x9Ba%\x15V[a\x07\xC8V[\x91a\x07\xC8V[\x03a:\xBBWa:\xB6\x92\x93PaA;V[a:jV[a:\xD6\x84_\x91\x82\x91c*\x87Ri`\xE2\x1B\x83R`\x04\x83\x01a\n\xC3V[\x03\x90\xFD[a:\xFC\x91\x92P` =\x81\x11a;\x03W[a:\xF4\x81\x83a\x0E\x84V[\x81\x01\x90a9\xEEV[\x90_a:WV[P=a:\xEAV[a;\x130a8\xEAV[a;Ea;?\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\x05_V[\x91a\x05_V[\x03a;LWV[_cp>F\xDD`\xE1\x1B\x81R\x80a;d`\x04\x82\x01a\nlV[\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;\x96\x90a4\x0CV[_R` R`@_ \x90V[a;\xB9a;\xBE\x91a;\xB1a%\xEAV[P`!a;\x8CV[a&#V[\x90V[\x90a;\xCB\x90a\x06\tV[_R` R`@_ \x90V[\x90V[T\x90V[_R` _ \x90V[a;\xF0\x81a;\xDAV[\x82\x10\x15a<\nWa<\x02`\x04\x91a;\xDEV[\x91\x02\x01\x90_\x90V[a3\xD6V[\x90V[`\xFF\x16\x90V[a<$a<)\x91a\x06]V[a<\x12V[\x90V[a<6\x90Ta<\x18V[\x90V[`\x08\x1C\x90V[a<Ka<P\x91a<9V[a&\x04V[\x90V[a<]\x90Ta<?V[\x90V[a<j`@a\x0E\xABV[\x90V[\x90a<\xA3a<\x9A_a<}a<`V[\x94a<\x94a<\x8C\x83\x83\x01a<,V[\x83\x88\x01a.tV[\x01a<SV[` \x84\x01a.\x82V[V[a<\xAE\x90a<mV[\x90V[a<\xC0a<\xC6\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x82\x01\x80\x92\x11a<\xD1WV[a(@V[\x92\x91\x92a<\xF4a<\xEFa<\xE7a \xB1V[\x92`\x15a;\xC1V[a;\xD7V[\x93a<\xFE\x85a;\xDAV[\x93a=\x08_a \xEDV[[\x80a=\x1Ca=\x16\x88a\x07\xECV[\x91a\x07\xECV[\x10\x15a=\xBCWa=6a=0\x88\x83\x90a;\xE7V[Pa<\x0FV[a=A_\x82\x01a&#V[a=Sa=M\x88a\x05_V[\x91a\x05_V[\x14\x80a=\x8FW[a=nW[Pa=i\x90a3\xC3V[a=\tV[a=i\x91\x94a=\x82`\x01a=\x88\x93\x01a\x074V[\x90a<\xB1V[\x93\x90a=_V[Pa=\xA4a=\x9F`\x02\x83\x01a<\xA5V[a>\xBDV[a=\xB6a=\xB0\x86a\x07\xC8V[\x91a\x07\xC8V[\x14a=ZV[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=\xF1aA\xC4V[V[a=\xFBa=\xE9V[V[a>\x05aA\xC4V[V[a>\x0Fa=\xFDV[V[a>\x19aA\xC4V[a>!a>#V[V[a>+aB\x1FV[V[a>5a>\x11V[V[a>?aA\xC4V[a>Ga>IV[V[a>QaBeV[V[a>[a>7V[V[a>g\x90Qa.hV[\x90V[a>t\x90Qa\x05_V[\x90V[a>\x80\x90a.hV[\x90V[a>\x8C\x90a>wV[\x90RV[\x91` a>\xB1\x92\x94\x93a>\xAA`@\x82\x01\x96_\x83\x01\x90a>\x83V[\x01\x90a\x13\xAFV[V[` \x01\x90V[Q\x90V[a>\xC5a!\xF8V[Pa?\x07a>\xE0` a>\xD9_\x85\x01a>]V[\x93\x01a>jV[\x91a>\xF8a>\xECa\x03\xE4V[\x93\x84\x92` \x84\x01a>\x90V[` \x82\x01\x81\x03\x82R\x03\x82a\x0E\x84V[a?\x19a?\x13\x82a>\xB9V[\x91a>\xB3V[ \x90V[\x1B\x90V[\x91\x90`\x08a?A\x91\x02\x91a?;`\x01\x80`\xA0\x1B\x03\x84a?\x1DV[\x92a?\x1DV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x91\x90a?da?_a?l\x93a\x06\tV[a?KV[\x90\x83Ta?!V[\x90UV[a?\x82\x91a?|a%\xEAV[\x91a?NV[V[_a?\x93a?\x98\x92`!a;\x8CV[a?pV[V[a?\xADc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16a;\xA2V[\x80a?\xC8a?\xC2a?\xBD_a.,V[a\x05_V[\x91a\x05_V[\x03aB\xA3Wc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16aB\x84V[_c\xD9.#=`\xE0\x1B\x81R\x80a?\xF5`\x04\x82\x01a\nlV[\x03\x90\xFD[a@\x14\x90_\x91\x82\x91c\"\xA2\xD0{`\xE2\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[a@!\x90a\x03\xF6V[\x90RV[\x91` a@F\x92\x94\x93a@?`@\x82\x01\x96_\x83\x01\x90a@\x18V[\x01\x90a\x13\xAFV[V[a@b_\x92\x83\x92c\x10\xAE\x11\xA9`\xE3\x1B\x84R`\x04\x84\x01a@%V[\x03\x90\xFD[\x90a@w`\x01\x80`\xA0\x1B\x03\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a@\x96a@\x91a@\x9D\x92a\x06\tV[a?KV[\x82Ta@fV[\x90UV[a@\xB0a@\xB5\x92\x91`!a;\x8CV[a@\x81V[V[\x91` a@\xD8\x92\x94\x93a@\xD1`@\x82\x01\x96_\x83\x01\x90a\x13\xAFV[\x01\x90a\x07\xCBV[V[\x90a@\xEFa@\xE9\x83\x83\x90a&zV[\x15a\x04CV[a@\xF7WPPV[aA\x11_\x92\x83\x92c\xE2Q}?`\xE0\x1B\x84R`\x04\x84\x01a@\xB7V[\x03\x90\xFD[aA\x1Da%\xEAV[PaA8_aA2aA-a%\x15V[aB\xC1V[\x01a&#V[\x90V[\x90aAE\x82aB\xC4V[\x81aAp\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x91a\x06\tV[\x90aAya\x03\xE4V[\x80aA\x83\x81a\nlV[\x03\x90\xA2aA\x8F\x81a>\xB9V[aA\xA1aA\x9B_a \xEDV[\x91a\x07\xECV[\x11_\x14aA\xB5WaA\xB1\x91aC\x94V[P[V[PPaA\xBFaC\x19V[aA\xB3V[aA\xD5aA\xCFaC\xC3V[\x15a\x04CV[aA\xDBWV[_c\x1A\xFC\xD7\x9F`\xE3\x1B\x81R\x80aA\xF3`\x04\x82\x01a\nlV[\x03\x90\xFD[aA\xFFaA\xC4V[aB\x07aB\tV[V[aB\x1DaB\x14a;hV[_\x80\x91\x01a/\0V[V[aB'aA\xF7V[V[aB1aA\xC4V[aB9aBHV[V[aBE`\x01a\x1AvV[\x90V[aBcaBSaC\xE1V[_aB\\aB;V[\x91\x01a/UV[V[aBmaB)V[V[\x91\x90aB\x82\x90_` \x85\x01\x94\x01\x90a@\x18V[V[aB\x9F\x90_\x91\x82\x91c\xC2\xA8%\xF5`\xE0\x1B\x83R`\x04\x83\x01aBoV[\x03\x90\xFD[_\x80\x916\x82\x807\x816\x91Z\xF4=_\x80>_\x14aB\xBDW=_\xF3[=_\xFD[\x90V[\x80;aB\xD8aB\xD2_a \xEDV[\x91a\x07\xECV[\x14aB\xFAWaB\xF8\x90_aB\xF2aB\xEDa%\x15V[aB\xC1V[\x01a@\x81V[V[aC\x15\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[4aC,aC&_a \xEDV[\x91a\x07\xECV[\x11aC3WV[_c\xB3\x98\x97\x9F`\xE0\x1B\x81R\x80aCK`\x04\x82\x01a\nlV[\x03\x90\xFD[``\x90V[\x90aCfaCa\x83a\x0E\xC0V[a\x0E\xABV[\x91\x82RV[=_\x14aC\x86WaC{=aCTV[\x90=_` \x84\x01>[V[aC\x8EaCOV[\x90aC\x84V[_\x80aC\xC0\x93aC\xA2aCOV[P\x83\x90` \x81\x01\x90Q\x91Z\xF4\x90aC\xB7aCkV[\x90\x91\x90\x91aD\x05V[\x90V[aC\xCBa mV[PaC\xDE_aC\xD8a=\xC5V[\x01a+\xCDV[\x90V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x90V[\x90aD\x19\x90aD\x12aCOV[P\x15a\x04CV[_\x14aD%WPaD\x89V[aD.\x82a>\xB9V[aD@aD:_a \xEDV[\x91a\x07\xECV[\x14\x80aDnW[aDOWP\x90V[aDj\x90_\x91\x82\x91c\x99\x96\xB3\x15`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[P\x80;aD\x83aD}_a \xEDV[\x91a\x07\xECV[\x14aDGV[aD\x92\x81a>\xB9V[aD\xA4aD\x9E_a \xEDV[\x91a\x07\xECV[\x11_\x14aD\xB3W\x80Q\x90` \x01\xFD[_c\xD6\xBD\xA2u`\xE0\x1B\x81R\x80aD\xCB`\x04\x82\x01a\nlV[\x03\x90\xFD\xFE\xA1dsolcC\0\x08\x1A\0\n",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x60806040526004361015610015575b3661355557005b61001f5f356103de565b806301ffc9a7146103d957806305d64e38146103d45780630aa8b110146103cf57806312d91c88146103ca57806318056dc2146103c557806319e82e61146103c0578063248a9ca3146103bb5780632f2ff15d146103b657806332273f61146103b157806336568abe146103ac578063453eccea146103a757806346d163aa146103a2578063491474111461039d5780634962f88f146103985780634de8addc146103935780634e9c929a1461038e5780634f1ef286146103895780635095af641461038457806352d1902d1461037f57806354de23201461037a5780635c975abb14610375578063602356e31461037057806366c368751461036b57806372b5032d1461036657806375b238fc1461036157806377ab2cf31461035c5780637df92ada1461035757806388c47f68146103525780638a19c8bc1461034d5780638a7fe60f1461034857806390837ff41461034357806391d148541461033e5780639480e4dd146103395780639494f42614610334578063960856731461032f5780639722f4b91461032a5780639e87058514610325578063a217fddf14610320578063a457af3d1461031b578063a4b32de814610316578063a7fa6f9814610311578063aaf5eb681461030c578063ad3cb1cc14610307578063b54b2b9e14610302578063b6608409146102fd578063ba05bbf5146102f8578063c07449e2146102f3578063c550d938146102ee578063cbb6d6bd146102e9578063d27a6f06146102e4578063d45ff582146102df578063d547741f146102da578063db8a173a146102d5578063dd764abf146102d0578063e07dec29146102cb578063e1a45218146102c6578063e27e05c1146102c1578063f3c9b311146102bc578063f72c0d8b146102b75763f7cb789a0361000e57612038565b611ff4565b611f90565b611f23565b611eee565b611e85565b611e1c565b611daa565b611d67565b611d32565b611cc4565b611c54565b611b92565b611b5c565b611aee565b611aaa565b611a3e565b6119fa565b6118cb565b611858565b6117eb565b611786565b611664565b6115f4565b611585565b61152f565b6114e0565b611471565b61143b565b611406565b6113d1565b61137a565b611338565b6112c9565b61125b565b6111eb565b611186565b611151565b61111c565b6110b8565b611083565b611016565b610fe1565b610f88565b610e2c565b610d7d565b610d38565b610ccb565b610c98565b610c45565b610bd9565b610ba4565b610b3a565b610ad8565b610a71565b6109aa565b610927565b610882565b61051f565b61046a565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b63ffffffff60e01b1690565b61040b816103f6565b0361041257565b5f80fd5b9050359061042382610402565b565b9060208282031261043e5761043b915f01610416565b90565b6103ee565b151590565b61045190610443565b9052565b9190610468905f60208501940190610448565b565b3461049a57610496610485610480366004610425565b612071565b61048d6103e4565b91829182610455565b0390f35b6103ea565b5f9103126104a957565b6103ee565b1c90565b60018060401b031690565b6104cd9060086104d293026104ae565b6104b2565b90565b906104e091546104bd565b90565b6104ef5f6010906104d5565b90565b60018060401b031690565b610506906104f2565b9052565b919061051d905f602085019401906104fd565b565b3461054f5761052f36600461049f565b61054b61053a6104e3565b6105426103e4565b9182918261050a565b0390f35b6103ea565b60018060a01b031690565b61056890610554565b90565b6105748161055f565b0361057b57565b5f80fd5b9050359061058c8261056b565b565b610597816104f2565b0361059e57565b5f80fd5b905035906105af8261058e565b565b91906040838203126105d957806105cd6105d6925f860161057f565b936020016105a2565b90565b6103ee565b90565b6105f56105f06105fa92610554565b6105de565b610554565b90565b610606906105e1565b90565b610612906105fd565b90565b9061061f90610609565b5f5260205260405f2090565b61063f61063a610644926104f2565b6105de565b6104f2565b90565b906106519061062b565b5f5260205260405f2090565b5f1c90565b61066e6106739161065d565b6104b2565b90565b6106809054610662565b90565b60401c90565b61069561069a91610683565b6104b2565b90565b6106a79054610689565b90565b60801c90565b6106bc6106c1916106aa565b6104b2565b90565b6106ce90546106b0565b90565b90565b6106e06106e59161065d565b6106d1565b90565b6106f290546106d4565b90565b61ffff1690565b61070861070d9161065d565b6106f5565b90565b61071a90546106fc565b90565b90565b61072c6107319161065d565b61071d565b90565b61073e9054610720565b90565b90610750610755926055610615565b610647565b6107605f8201610676565b9161076c5f830161069d565b916107785f82016106c4565b91610785600183016106e8565b9161079260028201610710565b9161079f60038301610734565b916107ac60048201610734565b916107c560066107be60058501610734565b93016106e8565b90565b90565b6107d4906107c8565b9052565b61ffff1690565b6107e8906107d8565b9052565b90565b6107f8906107ec565b9052565b9694929099989795939161012088019a5f8901610818916104fd565b60208801610825916104fd565b60408701610832916104fd565b6060860161083f916107cb565b6080850161084c916107df565b60a08401610859916107ef565b60c08301610866916107ef565b60e08201610873916107ef565b61010001610880916107cb565b565b346108bd576108b961089e6108983660046105b1565b90610741565b956108b09997999591959492946103e4565b998a998a6107fc565b0390f35b6103ea565b6108cb816107c8565b036108d257565b5f80fd5b905035906108e3826108c2565b565b919060408382031261090d578061090161090a925f860161057f565b936020016108d6565b90565b6103ee565b9190610925905f602085019401906107ef565b565b346109585761095461094361093d3660046108e5565b90612109565b61094b6103e4565b91829182610912565b0390f35b6103ea565b90565b61097461096f6109799261095d565b6105de565b6107d8565b90565b610987612af8610960565b90565b61099261097c565b90565b91906109a8905f602085019401906107df565b565b346109da576109ba36600461049f565b6109d66109c561098a565b6109cd6103e4565b91829182610995565b0390f35b6103ea565b5f80fd5b5f80fd5b5f80fd5b909182601f83011215610a235781359160018060401b038311610a1e576020019260208302840111610a1957565b6109e7565b6109e3565b6109df565b919091604081840312610a6757610a41835f830161057f565b92602082013560018060401b038111610a6257610a5e92016109eb565b9091565b6103f2565b6103ee565b5f0190565b34610aa057610a8a610a84366004610a28565b916121da565b610a926103e4565b80610a9c81610a6c565b0390f35b6103ea565b90602082820312610abe57610abb915f016108d6565b90565b6103ee565b9190610ad6905f602085019401906107cb565b565b34610b0857610b04610af3610aee366004610aa5565b612212565b610afb6103e4565b91829182610ac3565b0390f35b6103ea565b9190604083820312610b355780610b29610b32925f86016108d6565b9360200161057f565b90565b6103ee565b34610b6957610b53610b4d366004610b0d565b90612266565b610b5b6103e4565b80610b6581610a6c565b0390f35b6103ea565b610b7e906008610b8393026104ae565b6106f5565b90565b90610b919154610b6e565b90565b610ba16001601090610b86565b90565b34610bd457610bb436600461049f565b610bd0610bbf610b94565b610bc76103e4565b91829182610995565b0390f35b6103ea565b34610c0857610bf2610bec366004610b0d565b90612272565b610bfa6103e4565b80610c0481610a6c565b0390f35b6103ea565b90565b610c24610c1f610c2992610c0d565b6105de565b6107d8565b90565b610c37613e80610c10565b90565b610c42610c2c565b90565b34610c7557610c5536600461049f565b610c71610c60610c3a565b610c686103e4565b91829182610995565b0390f35b6103ea565b90602082820312610c9357610c90915f0161057f565b90565b6103ee565b34610cc657610cb0610cab366004610c7a565b6123b0565b610cb86103e4565b80610cc281610a6c565b0390f35b6103ea565b34610cfb57610cf7610ce6610ce1366004610c7a565b61248e565b610cee6103e4565b91829182610912565b0390f35b6103ea565b90565b610d17610d12610d1c92610d00565b6105de565b6107d8565b90565b610d2a612710610d03565b90565b610d35610d1f565b90565b34610d6857610d4836600461049f565b610d64610d53610d2d565b610d5b6103e4565b91829182610995565b0390f35b6103ea565b610d7a60016008906104d5565b90565b34610dad57610d8d36600461049f565b610da9610d98610d6d565b610da06103e4565b9182918261050a565b0390f35b6103ea565b9190604083820312610dda5780610dce610dd7925f86016105a2565b9360200161057f565b90565b6103ee565b90610de99061062b565b5f5260205260405f2090565b90610dff90610609565b5f5260205260405f2090565b610e24610e2992610e1f6058935f94610ddf565b610df5565b6104d5565b90565b34610e5d57610e59610e48610e42366004610db2565b90610e0b565b610e506103e4565b9182918261050a565b0390f35b6103ea565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610e8e90610e66565b810190811060018060401b03821117610ea657604052565b610e70565b90610ebe610eb76103e4565b9283610e84565b565b60018060401b038111610edc57610ed8602091610e66565b0190565b610e70565b90825f939282370152565b90929192610f01610efc82610ec0565b610eab565b93818552602085019082840111610f1d57610f1b92610ee1565b565b610e62565b9080601f83011215610f4057816020610f3d93359101610eec565b90565b6109df565b919091604081840312610f8357610f5e835f830161057f565b92602082013560018060401b038111610f7e57610f7b9201610f22565b90565b6103f2565b6103ee565b610f9c610f96366004610f45565b906124d6565b610fa46103e4565b80610fae81610a6c565b0390f35b7f12b42e8a160f6064dc959c6f251e3af0750ad213dbecf573b4710d67d6c28e3990565b610fde610fb2565b90565b3461101157610ff136600461049f565b61100d610ffc610fd6565b6110046103e4565b91829182610ac3565b0390f35b6103ea565b346110465761102636600461049f565b61104261103161254d565b6110396103e4565b91829182610ac3565b0390f35b6103ea565b90565b61106261105d6110679261104b565b6105de565b6107d8565b90565b611075612ee061104e565b90565b61108061106a565b90565b346110b35761109336600461049f565b6110af61109e611078565b6110a66103e4565b91829182610995565b0390f35b6103ea565b346110e8576110c836600461049f565b6110e46110d3612581565b6110db6103e4565b91829182610455565b0390f35b6103ea565b7f19449a4ad57e40a5aa77e785b4539e53ba9e7fedbf7076388ee3fb1bc2ddea1b90565b6111196110ed565b90565b3461114c5761112c36600461049f565b611148611137611111565b61113f6103e4565b91829182610ac3565b0390f35b6103ea565b346111815761117d61116c611167366004610c7a565b6125a3565b6111746103e4565b9182918261050a565b0390f35b6103ea565b346111b7576111b36111a261119c366004610db2565b906125c2565b6111aa6103e4565b9182918261050a565b0390f35b6103ea565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177590565b6111e86111bc565b90565b3461121b576111fb36600461049f565b6112176112066111e0565b61120e6103e4565b91829182610ac3565b0390f35b6103ea565b60ff1690565b61123690600861123b93026104ae565b611220565b90565b906112499154611226565b90565b61125860055f9061123e565b90565b3461128b5761126b36600461049f565b61128761127661124c565b61127e6103e4565b91829182610455565b0390f35b6103ea565b90565b6112a76112a26112ac92611290565b6105de565b6104f2565b90565b6112bb624f1a00611293565b90565b6112c66112af565b90565b346112f9576112d936600461049f565b6112f56112e46112be565b6112ec6103e4565b9182918261050a565b0390f35b6103ea565b90565b61131561131061131a926112fe565b6105de565b6107ec565b90565b61132a6305f5e100611301565b90565b61133561131d565b90565b346113685761134836600461049f565b61136461135361132d565b61135b6103e4565b91829182610912565b0390f35b6103ea565b6113775f806104d5565b90565b346113aa5761138a36600461049f565b6113a661139561136d565b61139d6103e4565b9182918261050a565b0390f35b6103ea565b6113b89061055f565b9052565b91906113cf905f602085019401906113af565b565b34611401576113fd6113ec6113e7366004610c7a565b612630565b6113f46103e4565b918291826113bc565b0390f35b6103ea565b346114365761143261142161141c366004610425565b61264f565b6114296103e4565b918291826113bc565b0390f35b6103ea565b3461146c57611468611457611451366004610b0d565b9061267a565b61145f6103e4565b91829182610455565b0390f35b6103ea565b346114a15761149d61148c611487366004610c7a565b6126ac565b6114946103e4565b9182918261050a565b0390f35b6103ea565b90916060828403126114db576114d86114c1845f850161057f565b936114cf81602086016105a2565b9360400161057f565b90565b6103ee565b346115115761150d6114fc6114f63660046114a6565b916128e4565b6115046103e4565b91829182610912565b0390f35b6103ea565b61152c906115276056915f92610df5565b6104d5565b90565b3461155f5761155b61154a611545366004610c7a565b611516565b6115526103e4565b9182918261050a565b0390f35b6103ea565b61157d611582926115786057935f94610ddf565b610df5565b6104d5565b90565b346115b6576115b26115a161159b366004610db2565b90611564565b6115a96103e4565b9182918261050a565b0390f35b6103ea565b90565b6115d26115cd6115d7926115bb565b6105de565b6104f2565b90565b6115e662278d006115be565b90565b6115f16115da565b90565b346116245761160436600461049f565b61162061160f6115e9565b6116176103e4565b9182918261050a565b0390f35b6103ea565b90565b5f1b90565b61164561164061164a92611629565b61162c565b6107c8565b90565b6116565f611631565b90565b61166161164d565b90565b346116945761167436600461049f565b61169061167f611659565b6116876103e4565b91829182610ac3565b0390f35b6103ea565b6116a2906104f2565b9052565b6116af906107c8565b9052565b6116bc906107d8565b9052565b6116c9906107ec565b9052565b906101008061176e936116e65f8201515f860190611699565b6116f860208201516020860190611699565b61170a60408201516040860190611699565b61171c606082015160608601906116a6565b61172e608082015160808601906116b3565b61174060a082015160a08601906116c0565b61175260c082015160c08601906116c0565b61176460e082015160e08601906116c0565b01519101906116a6565b565b9190611784905f61012085019401906116cd565b565b346117b7576117b36117a261179c3660046105b1565b90612a92565b6117aa6103e4565b91829182611770565b0390f35b6103ea565b7fb1fadd3142ab2ad7f1337ea4d97112bcc8337fc11ce5b20cb04ad038adf9981990565b6117e86117bc565b90565b3461181b576117fb36600461049f565b6118176118066117e0565b61180e6103e4565b91829182610ac3565b0390f35b6103ea565b90565b61183761183261183c92611820565b6105de565b6107d8565b90565b61184a6132c8611823565b90565b61185561183f565b90565b346118885761186836600461049f565b61188461187361184d565b61187b6103e4565b91829182610995565b0390f35b6103ea565b90565b6118a461189f6118a99261188d565b6105de565b6107ec565b90565b6118bd670de0b6b3a7640000611890565b90565b6118c86118ac565b90565b346118fb576118db36600461049f565b6118f76118e66118c0565b6118ee6103e4565b91829182610912565b0390f35b6103ea565b60018060401b03811161191c57611918602091610e66565b0190565b610e70565b9061193361192e83611900565b610eab565b918252565b5f7f352e302e30000000000000000000000000000000000000000000000000000000910152565b6119696005611921565b9061197660208301611938565b565b61198061195f565b90565b61198b611978565b90565b611996611983565b90565b5190565b60209181520190565b90825f9392825e0152565b6119d06119d96020936119de936119c781611999565b9384809361199d565b958691016119a6565b610e66565b0190565b6119f79160208201915f8184039101526119b1565b90565b34611a2a57611a0a36600461049f565b611a26611a1561198e565b611a1d6103e4565b918291826119e2565b0390f35b6103ea565b611a3b60075f9061123e565b90565b34611a6e57611a4e36600461049f565b611a6a611a59611a2f565b611a616103e4565b91829182610455565b0390f35b6103ea565b90565b611a8a611a85611a8f92611a73565b6105de565b6107ec565b90565b611a9c6001611a76565b90565b611aa7611a92565b90565b34611ada57611aba36600461049f565b611ad6611ac5611a9f565b611acd6103e4565b91829182610912565b0390f35b6103ea565b611aeb5f6018906104d5565b90565b34611b1e57611afe36600461049f565b611b1a611b09611adf565b611b116103e4565b9182918261050a565b0390f35b6103ea565b90602080611b4593611b3b5f8201515f8601906116c0565b01519101906116c0565b565b9190611b5a905f60408501940190611b23565b565b34611b8d57611b89611b78611b72366004610db2565b90612b69565b611b806103e4565b91829182611b47565b0390f35b6103ea565b34611bc357611bbf611bae611ba8366004610db2565b90612b91565b611bb66103e4565b9182918261050a565b0390f35b6103ea565b611bd1816107ec565b03611bd857565b5f80fd5b90503590611be982611bc8565b565b611bf4816107d8565b03611bfb57565b5f80fd5b90503590611c0c82611beb565b565b608081830312611c4f57611c24825f830161057f565b92611c4c611c358460208501611bdc565b93611c438160408601611bdc565b93606001611bff565b90565b6103ee565b34611c8657611c70611c67366004611c0e565b9291909161337f565b611c786103e4565b80611c8281610a6c565b0390f35b6103ea565b90565b611ca2611c9d611ca792611c8b565b6105de565b6104f2565b90565b611cb66276a700611c8e565b90565b611cc1611caa565b90565b34611cf457611cd436600461049f565b611cf0611cdf611cb9565b611ce76103e4565b9182918261050a565b0390f35b6103ea565b90565b611d10611d0b611d1592611cf9565b6105de565b6104f2565b90565b611d2462093a80611cfc565b90565b611d2f611d18565b90565b34611d6257611d4236600461049f565b611d5e611d4d611d27565b611d556103e4565b9182918261050a565b0390f35b6103ea565b34611d9657611d80611d7a366004610b0d565b906133b7565b611d886103e4565b80611d9281610a6c565b0390f35b6103ea565b611da760015f906104d5565b90565b34611dda57611dba36600461049f565b611dd6611dc5611d9b565b611dcd6103e4565b9182918261050a565b0390f35b6103ea565b90565b611df6611df1611dfb92611ddf565b6105de565b6107ec565b90565b611e0e662386f26fc10000611de2565b90565b611e19611dfe565b90565b34611e4c57611e2c36600461049f565b611e48611e37611e11565b611e3f6103e4565b91829182610912565b0390f35b6103ea565b90602082820312611e80575f82013560018060401b038111611e7b57611e7792016109eb565b9091565b6103f2565b6103ee565b34611eb457611e9e611e98366004611e51565b90613418565b611ea66103e4565b80611eb081610a6c565b0390f35b6103ea565b611ecd611ec8611ed292610d00565b6105de565b6107ec565b90565b611ee0612710611eb9565b90565b611eeb611ed5565b90565b34611f1e57611efe36600461049f565b611f1a611f09611ee3565b611f116103e4565b91829182610912565b0390f35b6103ea565b34611f5257611f3c611f363660046105b1565b90613549565b611f446103e4565b80611f4e81610a6c565b0390f35b6103ea565b90565b611f6e611f69611f7392611f57565b6105de565b6104f2565b90565b611f8262ed4e00611f5a565b90565b611f8d611f76565b90565b34611fc057611fa036600461049f565b611fbc611fab611f85565b611fb36103e4565b9182918261050a565b0390f35b6103ea565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e390565b611ff1611fc5565b90565b346120245761200436600461049f565b61202061200f611fe9565b6120176103e4565b91829182610ac3565b0390f35b6103ea565b6120355f6008906104d5565b90565b346120685761204836600461049f565b612064612053612029565b61205b6103e4565b9182918261050a565b0390f35b6103ea565b5f90565b61207961206d565b508061209461208e637965db0b60e01b6103f6565b916103f6565b149081156120a1575b5090565b6120ab915061355a565b5f61209d565b5f90565b906120bf90610609565b5f5260205260405f2090565b6120d4906107c8565b90565b906120e1906120cb565b5f5260205260405f2090565b6121016120fc61210692611629565b6105de565b6107ec565b90565b61212e916121246121299261211c6120b1565b5060116120b5565b6120d7565b610734565b8061214161213b5f6120ed565b916107ec565b145f1461215557506121516118ac565b5b90565b612152565b60018060401b0381116121705760208091020190565b610e70565b9092919261218a6121858261215a565b610eab565b93818552602080860192028301928184116121c757915b8383106121ae5750505050565b602080916121bc8486610416565b8152019201916121a1565b6109e7565b6121d7913691612175565b90565b6121f6926121f0916121ea613592565b926121cc565b906135cd565b565b5f90565b90612206906120cb565b5f5260205260405f2090565b6001612233612239926122236121f8565b505f61222d613741565b016121fc565b016106e8565b90565b906122579161225261224d82612212565b613765565b612259565b565b9061226391613779565b50565b906122709161223c565b565b908061228d612287612282613830565b61055f565b9161055f565b0361229e5761229b9161383d565b50565b5f63334bd91960e11b8152806122b660048201610a6c565b0390fd5b6122c3906105e1565b90565b6122cf906122ba565b90565b6122db906105fd565b90565b60e01b90565b905051906122f182610402565b565b909291926123086123038261215a565b610eab565b938185526020808601920283019281841161234557915b83831061232c5750505050565b6020809161233a84866122e4565b81520192019161231f565b6109e7565b9080601f8301121561236857816020612365935191016122f3565b90565b6109df565b9060208282031261239b575f82015160018060401b03811161239657612393920161234a565b90565b6103f2565b6103ee565b6123a86103e4565b3d5f823e3d90fd5b6123b8613592565b6123e35f6123cd6123c8846122c6565b6122d2565b636e25b978906123db6103e4565b9384926122de565b825281806123f360048201610a6c565b03915afa80156124735761240f915f91612451575b50826135cd565b6124397f4d3c30f5993f1922a779345a0f7ec1a170f1e52e9d230824f9c17e63596c906d91610609565b906124426103e4565b8061244c81610a6c565b0390a2565b61246d91503d805f833e6124658183610e84565b81019061236d565b5f612408565b6123a0565b9061248290610609565b5f5260205260405f2090565b6124a56124aa9161249d6120b1565b50601b612478565b610734565b90565b906124bf916124ba6138f6565b6124c1565b565b906124d4916124cf816139b0565b613a0c565b565b906124e0916124ad565b565b6124f3906124ee613b0a565b612541565b90565b90565b61250d612508612512926124f6565b61162c565b6107c8565b90565b61253e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6124f9565b90565b5061254a612515565b90565b61255d6125586121f8565b6124e2565b90565b61256c6125719161065d565b611220565b90565b61257e9054612560565b90565b61258961206d565b5061259c5f612596613b68565b01612574565b90565b5f90565b6125ba6125bf916125b261259f565b506056610df5565b610676565b90565b6125e7916125dd6125e2926125d561259f565b506057610ddf565b610df5565b610676565b90565b5f90565b906125f890610609565b5f5260205260405f2090565b60018060a01b031690565b61261b6126209161065d565b612604565b90565b61262d905461260f565b90565b61264761264c9161263f6125ea565b5060066125ee565b612623565b90565b6126619061265b6125ea565b50613ba2565b90565b9061266e90610609565b5f5260205260405f2090565b6126a9915f61269e6126a49361268e61206d565b5082612698613741565b016121fc565b01612664565b612574565b90565b6126c36126c8916126bb61259f565b506023610df5565b610676565b90565b906126d5906104f2565b9052565b906126e3906107c8565b9052565b906126f1906107d8565b9052565b906126ff906107ec565b9052565b61270e610120610eab565b90565b906127ef6127e56006612722612703565b946127396127315f8301610676565b5f88016126cb565b6127506127475f830161069d565b602088016126cb565b61276761275e5f83016106c4565b604088016126cb565b61277f612776600183016106e8565b606088016126d9565b61279761278e60028301610710565b608088016126e7565b6127af6127a660038301610734565b60a088016126f5565b6127c76127be60048301610734565b60c088016126f5565b6127df6127d660058301610734565b60e088016126f5565b016106e8565b61010084016126d9565b565b6127fa90612711565b90565b61280790516104f2565b90565b61281e61281961282392611629565b6105de565b6104f2565b90565b61283090516107c8565b90565b61283d90516107ec565b90565b634e487b7160e01b5f52601160045260245ffd5b612863612869919392936107ec565b926107ec565b820391821161287457565b612840565b61288861288e919392936107ec565b926107ec565b9161289a8382026107ec565b9281840414901517156128a957565b612840565b634e487b7160e01b5f52601260045260245ffd5b6128ce6128d4916107ec565b916107ec565b9081156128df570490565b6128ae565b9291909261290d6129086128f66120b1565b9561290360558590610615565b610647565b6127f1565b916129195f84016127fd565b61292b6129255f61280a565b916104f2565b146129ec5790612948919061294260608501612826565b91613cd6565b908161295c6129565f6120ed565b916107ec565b146129dc5761296d60c08201612833565b61298a61298461297f60e08501612833565b6107ec565b916107ec565b11612994575b5050565b6129d4929350906129c0826129ba60e06129b360c06129c69701612833565b9201612833565b90612854565b90612879565b6129ce6118ac565b906128c2565b905f80612990565b505090506129e95f6120ed565b90565b50505090506129fa5f6120ed565b90565b5f90565b5f90565b5f90565b5f90565b612a15612703565b90602080808080808080808a612a296129fd565b815201612a346129fd565b815201612a3f6129fd565b815201612a4a612a01565b815201612a55612a05565b815201612a60612a09565b815201612a6b612a09565b815201612a76612a09565b815201612a81612a01565b81525050565b612a8f612a0d565b90565b612ab791612aad612ab292612aa5612a87565b506055610615565b610647565b6127f1565b90565b612ac46040610eab565b90565b612acf612aba565b9060208083612adc612a09565b815201612ae7612a09565b81525050565b612af5612ac7565b90565b90612b029061062b565b5f5260205260405f2090565b90612b1890610609565b5f5260205260405f2090565b90612b5b612b526001612b35612aba565b94612b4c612b445f8301610734565b5f88016126f5565b01610734565b602084016126f5565b565b612b6690612b24565b90565b612b8e91612b84612b8992612b7c612aed565b506010612af8565b612b0e565b612b5d565b90565b612bb691612bac612bb192612ba461259f565b506058610ddf565b610df5565b610676565b90565b612bc5612bca91610683565b611220565b90565b612bd79054612bb9565b90565b612bee612be9612bf392611a73565b6105de565b6104f2565b90565b612bff906105fd565b90565b90612c1360018060401b039161162c565b9181191691161790565b90565b90612c35612c30612c3c9261062b565b612c1d565b8254612c02565b9055565b60401b90565b90612c5560ff60401b91612c40565b9181191691161790565b612c6890610443565b90565b90565b90612c83612c7e612c8a92612c5f565b612c6b565b8254612c46565b9055565b612c9790612bda565b9052565b9190612cae905f60208501940190612c8e565b565b909192612cbb613dc5565b93612cd0612cca5f8701612bcd565b15610443565b93612cdc5f8701610676565b80612cef612ce95f61280a565b916104f2565b1480612e09575b90612d0a612d046001612bda565b916104f2565b1480612de1575b612d1c909115610443565b9081612dd0575b50612db457612d4c93612d41612d396001612bda565b5f8901612c20565b85612da2575b6131c1565b612d54575b50565b612d61905f809101612c6e565b6001612d997fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291612d906103e4565b91829182612c9b565b0390a15f612d51565b612daf60015f8901612c6e565b612d47565b5f63f92ee8a960e01b815280612dcc60048201610a6c565b0390fd5b612ddb915015610443565b5f612d23565b50612d1c612dee30612bf6565b3b612e01612dfb5f6120ed565b916107ec565b149050612d11565b5085612cf6565b612e24612e1f612e2992611629565b6105de565b610554565b90565b612e3590612e10565b90565b612e426040610eab565b90565b634e487b7160e01b5f52602160045260245ffd5b60021115612e6357565b612e45565b90612e7282612e59565b565b90612e7e90612e68565b9052565b90612e8c9061055f565b9052565b612ea4612e9f612ea9926107ec565b6105de565b6107d8565b90565b612eb660c0610eab565b90565b90612ec390610443565b9052565b90612ed1906120cb565b5f5260205260405f2090565b612ee79051610443565b90565b90612ef660ff9161162c565b9181191691161790565b90612f15612f10612f1c92612c5f565b612c6b565b8254612eea565b9055565b90612f2c5f199161162c565b9181191691161790565b612f4a612f45612f4f926107ec565b6105de565b6107ec565b90565b90565b90612f6a612f65612f7192612f36565b612f52565b8254612f20565b9055565b612f7f90516107d8565b90565b90612f8f61ffff9161162c565b9181191691161790565b612fad612fa8612fb2926107d8565b6105de565b6107d8565b90565b90565b90612fcd612fc8612fd492612f99565b612fb5565b8254612f82565b9055565b9061306760a0600561306d94612ffb5f8201612ff55f8801612edd565b90612f00565b6130146001820161300e60208801612833565b90612f55565b61302d6002820161302760408801612833565b90612f55565b6130466003820161304060608801612833565b90612f55565b61305f6004820161305960808801612833565b90612f55565b019201612f75565b90612fb8565b565b9061307991612fd8565b565b60801b90565b9061309161ffff60801b9161307b565b9181191691161790565b906130b06130ab6130b792612f99565b612fb5565b8254613081565b9055565b90565b6130d26130cd6130d7926130bb565b6105de565b6104f2565b90565b6130e56154606130be565b90565b906130fd600160401b600160801b0391612c40565b9181191691161790565b9061311c6131176131239261062b565b612c1d565b82546130e8565b9055565b90565b61313e61313961314392613127565b6105de565b6104f2565b90565b613150601c61312a565b90565b60c01b90565b9061316b60018060c01b031991613153565b9181191691161790565b9061318a6131856131919261062b565b612c1d565b8254613159565b9055565b90565b6131ac6131a76131b192613195565b6105de565b6104f2565b90565b6131be6038613198565b90565b9190916131cc613df3565b6131d4613e07565b6131dc613e2d565b6131e4613e53565b6131ec61164d565b816131f691613779565b506131ff6111bc565b8161320991613779565b506132126117bc565b8161321c91613779565b50613225611fc5565b9061322f91613779565b505f8061323b90612e2c565b613243612e38565b915f83019061325191612e74565b602082019061325f91612e82565b61326890613ebd565b90600192905f8091613278611ed5565b61328190612e90565b9361328a612eac565b965f88019061329891612eb9565b60208701906132a6916126f5565b60408601906132b4916126f5565b6132bd906120ed565b60608501906132cb916126f5565b6132d4906120ed565b60808401906132e2916126f5565b60a08301906132f0916126e7565b6002906132fc91612ec7565b906133069161306f565b6001613313906005612f00565b61331e90600161309b565b600161332990612bda565b613333905f612c20565b61333b6130da565b613345905f613107565b61334d613146565b613357905f613175565b61335f613146565b61336a906001612c20565b6133726131b4565b61337d906001613107565b565b9061338b939291612cb0565b565b906133a8916133a361339e82612212565b613765565b6133aa565b565b906133b49161383d565b50565b906133c19161338d565b565b60016133cf91016107ec565b90565b5090565b634e487b7160e01b5f52603260045260245ffd5b91908110156133fa576020020190565b6133d6565b3561340981610402565b90565b613415906103f6565b90565b919091613423613592565b61342c5f6120ed565b5b8061344a61344461343f8588906133d2565b6107ec565b916107ec565b10156134ce576134c99061347061346b613466858885916133ea565b6133ff565b613f84565b61348461347f848784916133ea565b6133ff565b6134ae7fbeb27701828f515b03069d44da6519b6c491da13ef1ca7082e619959d1f48ddb9161340c565b906134b76103e4565b806134c181610a6c565b0390a26133c3565b61342d565b50509050565b906134ee916134e96134e46111bc565b613765565b6134f0565b565b6135058261350060238490610df5565b612c20565b6135446135327f90b37e59a942c5413ce00a3a844a47c20094979897cc653606d925e909885f3592610609565b9261353b6103e4565b9182918261050a565b0390a2565b90613553916134d4565b565b613f9a565b61356261206d565b5061357c6135766301ffc9a760e01b6103f6565b916103f6565b1490565b61359061358b6111bc565b613765565b565b61359a613580565b565b5190565b906135aa8261359c565b8110156135bb576020809102010190565b6133d6565b6135ca90516103f6565b90565b9190826135ea6135e46135df5f612e2c565b61055f565b9161055f565b1461373c57823b6136036135fd5f6120ed565b916107ec565b14613736576136115f6120ed565b5b8061362d6136276136228561359c565b6107ec565b916107ec565b10156137305761364e6136496136448484906135a0565b6135c0565b613ba2565b8061366961366361365e5f612e2c565b61055f565b9161055f565b141580613715575b6136fe57506136f99061369761369061368b8584906135a0565b6135c0565b86906140a1565b6136aa6136a58483906135a0565b6135c0565b856136de6136d87f12557f25e458d9682d7c959b5a960bc9332e8b7af1120b54a333bfc1ff282b399361340c565b91610609565b916136e76103e4565b806136f181610a6c565b0390a36133c3565b613612565b61371061370b83856135a0565b6135c0565b614048565b50806137296137238761055f565b9161055f565b1415613671565b50509050565b82613ff9565b613fdd565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b61377790613771613830565b906140da565b565b61378161206d565b5061378a613741565b61379e61379883859061267a565b15610443565b5f14613829576137c8906137c35f6137bb816001940186906121fc565b018590612664565b612f00565b906137d1613830565b9061380e6138086138027f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d956120cb565b92610609565b92610609565b926138176103e4565b8061382181610a6c565b0390a4600190565b5050505f90565b6138386125ea565b503390565b61384561206d565b5061384e613741565b61385982849061267a565b5f146138e3576138829061387d5f6138758180940186906121fc565b018590612664565b612f00565b9061388b613830565b906138c86138c26138bc7ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b956120cb565b92610609565b92610609565b926138d16103e4565b806138db81610a6c565b0390a4600190565b5050505f90565b6138f3906105fd565b90565b6138ff306138ea565b61393161392b7f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b14801561395b575b61393f57565b5f63703e46dd60e11b81528061395760048201610a6c565b0390fd5b50613964614115565b6139966139907f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b1415613939565b506139ae6139a9611fc5565b613765565b565b6139b99061399d565b565b6139c4906105e1565b90565b6139d0906139bb565b90565b6139dc906105fd565b90565b905051906139ec826108c2565b565b90602082820312613a0757613a04915f016139df565b90565b6103ee565b9190613a3a6020613a24613a1f866139c7565b6139d3565b6352d1902d90613a326103e4565b9384926122de565b82528180613a4a60048201610a6c565b03915afa80915f92613ada575b50155f14613a8b575050906001613a6c57505b565b613a87905f918291634c9c8ce360e01b8352600483016113bc565b0390fd5b9283613aa6613aa0613a9b612515565b6107c8565b916107c8565b03613abb57613ab692935061413b565b613a6a565b613ad6845f918291632a87526960e21b835260048301610ac3565b0390fd5b613afc91925060203d8111613b03575b613af48183610e84565b8101906139ee565b905f613a57565b503d613aea565b613b13306138ea565b613b45613b3f7f000000000000000000000000000000000000000000000000000000000000000061055f565b9161055f565b03613b4c57565b5f63703e46dd60e11b815280613b6460048201610a6c565b0390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b90613b969061340c565b5f5260205260405f2090565b613bb9613bbe91613bb16125ea565b506021613b8c565b612623565b90565b90613bcb90610609565b5f5260205260405f2090565b90565b5490565b5f5260205f2090565b613bf081613bda565b821015613c0a57613c02600491613bde565b910201905f90565b6133d6565b90565b60ff1690565b613c24613c299161065d565b613c12565b90565b613c369054613c18565b90565b60081c90565b613c4b613c5091613c39565b612604565b90565b613c5d9054613c3f565b90565b613c6a6040610eab565b90565b90613ca3613c9a5f613c7d613c60565b94613c94613c8c838301613c2c565b838801612e74565b01613c53565b60208401612e82565b565b613cae90613c6d565b90565b613cc0613cc6919392936107ec565b926107ec565b8201809211613cd157565b612840565b929192613cf4613cef613ce76120b1565b926015613bc1565b613bd7565b93613cfe85613bda565b93613d085f6120ed565b5b80613d1c613d16886107ec565b916107ec565b1015613dbc57613d36613d30888390613be7565b50613c0f565b613d415f8201612623565b613d53613d4d8861055f565b9161055f565b1480613d8f575b613d6e575b50613d69906133c3565b613d09565b613d699194613d826001613d889301610734565b90613cb1565b9390613d5f565b50613da4613d9f60028301613ca5565b613ebd565b613db6613db0866107c8565b916107c8565b14613d5a565b50935050925050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b613df16141c4565b565b613dfb613de9565b565b613e056141c4565b565b613e0f613dfd565b565b613e196141c4565b613e21613e23565b565b613e2b61421f565b565b613e35613e11565b565b613e3f6141c4565b613e47613e49565b565b613e51614265565b565b613e5b613e37565b565b613e679051612e68565b90565b613e74905161055f565b90565b613e8090612e68565b90565b613e8c90613e77565b9052565b916020613eb1929493613eaa60408201965f830190613e83565b01906113af565b565b60200190565b5190565b613ec56121f8565b50613f07613ee06020613ed95f8501613e5d565b9301613e6a565b91613ef8613eec6103e4565b93849260208401613e90565b60208201810382520382610e84565b613f19613f1382613eb9565b91613eb3565b2090565b1b90565b91906008613f41910291613f3b60018060a01b0384613f1d565b92613f1d565b9181191691161790565b90565b9190613f64613f5f613f6c93610609565b613f4b565b908354613f21565b9055565b613f8291613f7c6125ea565b91613f4e565b565b5f613f93613f98926021613b8c565b613f70565b565b613fad63ffffffff60e01b5f3516613ba2565b80613fc8613fc2613fbd5f612e2c565b61055f565b9161055f565b036142a35763ffffffff60e01b5f3516614284565b5f63d92e233d60e01b815280613ff560048201610a6c565b0390fd5b614014905f9182916322a2d07b60e21b8352600483016113bc565b0390fd5b614021906103f6565b9052565b91602061404692949361403f60408201965f830190614018565b01906113af565b565b6140625f9283926310ae11a960e31b845260048401614025565b0390fd5b9061407760018060a01b039161162c565b9181191691161790565b9061409661409161409d92610609565b613f4b565b8254614066565b9055565b6140b06140b592916021613b8c565b614081565b565b9160206140d89294936140d160408201965f8301906113af565b01906107cb565b565b906140ef6140e983839061267a565b15610443565b6140f7575050565b6141115f92839263e2517d3f60e01b8452600484016140b7565b0390fd5b61411d6125ea565b506141385f61413261412d612515565b6142c1565b01612623565b90565b90614145826142c4565b816141707fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91610609565b906141796103e4565b8061418381610a6c565b0390a261418f81613eb9565b6141a161419b5f6120ed565b916107ec565b115f146141b5576141b191614394565b505b565b50506141bf614319565b6141b3565b6141d56141cf6143c3565b15610443565b6141db57565b5f631afcd79f60e31b8152806141f360048201610a6c565b0390fd5b6141ff6141c4565b614207614209565b565b61421d614214613b68565b5f809101612f00565b565b6142276141f7565b565b6142316141c4565b614239614248565b565b6142456001611a76565b90565b6142636142536143e1565b5f61425c61423b565b9101612f55565b565b61426d614229565b565b9190614282905f60208501940190614018565b565b61429f905f91829163c2a825f560e01b83526004830161426f565b0390fd5b5f8091368280378136915af43d5f803e5f146142bd573d5ff35b3d5ffd5b90565b803b6142d86142d25f6120ed565b916107ec565b146142fa576142f8905f6142f26142ed612515565b6142c1565b01614081565b565b614315905f918291634c9c8ce360e01b8352600483016113bc565b0390fd5b3461432c6143265f6120ed565b916107ec565b1161433357565b5f63b398979f60e01b81528061434b60048201610a6c565b0390fd5b606090565b9061436661436183610ec0565b610eab565b918252565b3d5f146143865761437b3d614354565b903d5f602084013e5b565b61438e61434f565b90614384565b5f806143c0936143a261434f565b508390602081019051915af4906143b761436b565b90919091614405565b90565b6143cb61206d565b506143de5f6143d8613dc5565b01612bcd565b90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b906144199061441261434f565b5015610443565b5f146144255750614489565b61442e82613eb9565b61444061443a5f6120ed565b916107ec565b148061446e575b61444f575090565b61446a905f918291639996b31560e01b8352600483016113bc565b0390fd5b50803b61448361447d5f6120ed565b916107ec565b14614447565b61449281613eb9565b6144a461449e5f6120ed565b916107ec565b115f146144b357805190602001fd5b5f63d6bda27560e01b8152806144cb60048201610a6c565b0390fdfea164736f6c634300081a000a
/// ```
#[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[6a5UW\0[a\0\x1F_5a\x03\xDEV[\x80c\x01\xFF\xC9\xA7\x14a\x03\xD9W\x80c\x05\xD6N8\x14a\x03\xD4W\x80c\n\xA8\xB1\x10\x14a\x03\xCFW\x80c\x12\xD9\x1C\x88\x14a\x03\xCAW\x80c\x18\x05m\xC2\x14a\x03\xC5W\x80c\x19\xE8.a\x14a\x03\xC0W\x80c$\x8A\x9C\xA3\x14a\x03\xBBW\x80c//\xF1]\x14a\x03\xB6W\x80c2'?a\x14a\x03\xB1W\x80c6V\x8A\xBE\x14a\x03\xACW\x80cE>\xCC\xEA\x14a\x03\xA7W\x80cF\xD1c\xAA\x14a\x03\xA2W\x80cI\x14t\x11\x14a\x03\x9DW\x80cIb\xF8\x8F\x14a\x03\x98W\x80cM\xE8\xAD\xDC\x14a\x03\x93W\x80cN\x9C\x92\x9A\x14a\x03\x8EW\x80cO\x1E\xF2\x86\x14a\x03\x89W\x80cP\x95\xAFd\x14a\x03\x84W\x80cR\xD1\x90-\x14a\x03\x7FW\x80cT\xDE# \x14a\x03zW\x80c\\\x97Z\xBB\x14a\x03uW\x80c`#V\xE3\x14a\x03pW\x80cf\xC3hu\x14a\x03kW\x80cr\xB5\x03-\x14a\x03fW\x80cu\xB28\xFC\x14a\x03aW\x80cw\xAB,\xF3\x14a\x03\\W\x80c}\xF9*\xDA\x14a\x03WW\x80c\x88\xC4\x7Fh\x14a\x03RW\x80c\x8A\x19\xC8\xBC\x14a\x03MW\x80c\x8A\x7F\xE6\x0F\x14a\x03HW\x80c\x90\x83\x7F\xF4\x14a\x03CW\x80c\x91\xD1HT\x14a\x03>W\x80c\x94\x80\xE4\xDD\x14a\x039W\x80c\x94\x94\xF4&\x14a\x034W\x80c\x96\x08Vs\x14a\x03/W\x80c\x97\"\xF4\xB9\x14a\x03*W\x80c\x9E\x87\x05\x85\x14a\x03%W\x80c\xA2\x17\xFD\xDF\x14a\x03 W\x80c\xA4W\xAF=\x14a\x03\x1BW\x80c\xA4\xB3-\xE8\x14a\x03\x16W\x80c\xA7\xFAo\x98\x14a\x03\x11W\x80c\xAA\xF5\xEBh\x14a\x03\x0CW\x80c\xAD<\xB1\xCC\x14a\x03\x07W\x80c\xB5K+\x9E\x14a\x03\x02W\x80c\xB6`\x84\t\x14a\x02\xFDW\x80c\xBA\x05\xBB\xF5\x14a\x02\xF8W\x80c\xC0tI\xE2\x14a\x02\xF3W\x80c\xC5P\xD98\x14a\x02\xEEW\x80c\xCB\xB6\xD6\xBD\x14a\x02\xE9W\x80c\xD2zo\x06\x14a\x02\xE4W\x80c\xD4_\xF5\x82\x14a\x02\xDFW\x80c\xD5Gt\x1F\x14a\x02\xDAW\x80c\xDB\x8A\x17:\x14a\x02\xD5W\x80c\xDDvJ\xBF\x14a\x02\xD0W\x80c\xE0}\xEC)\x14a\x02\xCBW\x80c\xE1\xA4R\x18\x14a\x02\xC6W\x80c\xE2~\x05\xC1\x14a\x02\xC1W\x80c\xF3\xC9\xB3\x11\x14a\x02\xBCW\x80c\xF7,\r\x8B\x14a\x02\xB7Wc\xF7\xCBx\x9A\x03a\0\x0EWa 8V[a\x1F\xF4V[a\x1F\x90V[a\x1F#V[a\x1E\xEEV[a\x1E\x85V[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\xCBV[a\x18XV[a\x17\xEBV[a\x17\x86V[a\x16dV[a\x15\xF4V[a\x15\x85V[a\x15/V[a\x14\xE0V[a\x14qV[a\x14;V[a\x14\x06V[a\x13\xD1V[a\x13zV[a\x138V[a\x12\xC9V[a\x12[V[a\x11\xEBV[a\x11\x86V[a\x11QV[a\x11\x1CV[a\x10\xB8V[a\x10\x83V[a\x10\x16V[a\x0F\xE1V[a\x0F\x88V[a\x0E,V[a\r}V[a\r8V[a\x0C\xCBV[a\x0C\x98V[a\x0CEV[a\x0B\xD9V[a\x0B\xA4V[a\x0B:V[a\n\xD8V[a\nqV[a\t\xAAV[a\t'V[a\x08\x82V[a\x05\x1FV[a\x04jV[`\xE0\x1C\x90V[`@Q\x90V[_\x80\xFD[_\x80\xFD[_\x80\xFD[c\xFF\xFF\xFF\xFF`\xE0\x1B\x16\x90V[a\x04\x0B\x81a\x03\xF6V[\x03a\x04\x12WV[_\x80\xFD[\x90P5\x90a\x04#\x82a\x04\x02V[V[\x90` \x82\x82\x03\x12a\x04>Wa\x04;\x91_\x01a\x04\x16V[\x90V[a\x03\xEEV[\x15\x15\x90V[a\x04Q\x90a\x04CV[\x90RV[\x91\x90a\x04h\x90_` \x85\x01\x94\x01\x90a\x04HV[V[4a\x04\x9AWa\x04\x96a\x04\x85a\x04\x806`\x04a\x04%V[a qV[a\x04\x8Da\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[_\x91\x03\x12a\x04\xA9WV[a\x03\xEEV[\x1C\x90V[`\x01\x80`@\x1B\x03\x16\x90V[a\x04\xCD\x90`\x08a\x04\xD2\x93\x02a\x04\xAEV[a\x04\xB2V[\x90V[\x90a\x04\xE0\x91Ta\x04\xBDV[\x90V[a\x04\xEF_`\x10\x90a\x04\xD5V[\x90V[`\x01\x80`@\x1B\x03\x16\x90V[a\x05\x06\x90a\x04\xF2V[\x90RV[\x91\x90a\x05\x1D\x90_` \x85\x01\x94\x01\x90a\x04\xFDV[V[4a\x05OWa\x05/6`\x04a\x04\x9FV[a\x05Ka\x05:a\x04\xE3V[a\x05Ba\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[`\x01\x80`\xA0\x1B\x03\x16\x90V[a\x05h\x90a\x05TV[\x90V[a\x05t\x81a\x05_V[\x03a\x05{WV[_\x80\xFD[\x90P5\x90a\x05\x8C\x82a\x05kV[V[a\x05\x97\x81a\x04\xF2V[\x03a\x05\x9EWV[_\x80\xFD[\x90P5\x90a\x05\xAF\x82a\x05\x8EV[V[\x91\x90`@\x83\x82\x03\x12a\x05\xD9W\x80a\x05\xCDa\x05\xD6\x92_\x86\x01a\x05\x7FV[\x93` \x01a\x05\xA2V[\x90V[a\x03\xEEV[\x90V[a\x05\xF5a\x05\xF0a\x05\xFA\x92a\x05TV[a\x05\xDEV[a\x05TV[\x90V[a\x06\x06\x90a\x05\xE1V[\x90V[a\x06\x12\x90a\x05\xFDV[\x90V[\x90a\x06\x1F\x90a\x06\tV[_R` R`@_ \x90V[a\x06?a\x06:a\x06D\x92a\x04\xF2V[a\x05\xDEV[a\x04\xF2V[\x90V[\x90a\x06Q\x90a\x06+V[_R` R`@_ \x90V[_\x1C\x90V[a\x06na\x06s\x91a\x06]V[a\x04\xB2V[\x90V[a\x06\x80\x90Ta\x06bV[\x90V[`@\x1C\x90V[a\x06\x95a\x06\x9A\x91a\x06\x83V[a\x04\xB2V[\x90V[a\x06\xA7\x90Ta\x06\x89V[\x90V[`\x80\x1C\x90V[a\x06\xBCa\x06\xC1\x91a\x06\xAAV[a\x04\xB2V[\x90V[a\x06\xCE\x90Ta\x06\xB0V[\x90V[\x90V[a\x06\xE0a\x06\xE5\x91a\x06]V[a\x06\xD1V[\x90V[a\x06\xF2\x90Ta\x06\xD4V[\x90V[a\xFF\xFF\x16\x90V[a\x07\x08a\x07\r\x91a\x06]V[a\x06\xF5V[\x90V[a\x07\x1A\x90Ta\x06\xFCV[\x90V[\x90V[a\x07,a\x071\x91a\x06]V[a\x07\x1DV[\x90V[a\x07>\x90Ta\x07 V[\x90V[\x90a\x07Pa\x07U\x92`Ua\x06\x15V[a\x06GV[a\x07`_\x82\x01a\x06vV[\x91a\x07l_\x83\x01a\x06\x9DV[\x91a\x07x_\x82\x01a\x06\xC4V[\x91a\x07\x85`\x01\x83\x01a\x06\xE8V[\x91a\x07\x92`\x02\x82\x01a\x07\x10V[\x91a\x07\x9F`\x03\x83\x01a\x074V[\x91a\x07\xAC`\x04\x82\x01a\x074V[\x91a\x07\xC5`\x06a\x07\xBE`\x05\x85\x01a\x074V[\x93\x01a\x06\xE8V[\x90V[\x90V[a\x07\xD4\x90a\x07\xC8V[\x90RV[a\xFF\xFF\x16\x90V[a\x07\xE8\x90a\x07\xD8V[\x90RV[\x90V[a\x07\xF8\x90a\x07\xECV[\x90RV[\x96\x94\x92\x90\x99\x98\x97\x95\x93\x91a\x01 \x88\x01\x9A_\x89\x01a\x08\x18\x91a\x04\xFDV[` \x88\x01a\x08%\x91a\x04\xFDV[`@\x87\x01a\x082\x91a\x04\xFDV[``\x86\x01a\x08?\x91a\x07\xCBV[`\x80\x85\x01a\x08L\x91a\x07\xDFV[`\xA0\x84\x01a\x08Y\x91a\x07\xEFV[`\xC0\x83\x01a\x08f\x91a\x07\xEFV[`\xE0\x82\x01a\x08s\x91a\x07\xEFV[a\x01\0\x01a\x08\x80\x91a\x07\xCBV[V[4a\x08\xBDWa\x08\xB9a\x08\x9Ea\x08\x986`\x04a\x05\xB1V[\x90a\x07AV[\x95a\x08\xB0\x99\x97\x99\x95\x91\x95\x94\x92\x94a\x03\xE4V[\x99\x8A\x99\x8Aa\x07\xFCV[\x03\x90\xF3[a\x03\xEAV[a\x08\xCB\x81a\x07\xC8V[\x03a\x08\xD2WV[_\x80\xFD[\x90P5\x90a\x08\xE3\x82a\x08\xC2V[V[\x91\x90`@\x83\x82\x03\x12a\t\rW\x80a\t\x01a\t\n\x92_\x86\x01a\x05\x7FV[\x93` \x01a\x08\xD6V[\x90V[a\x03\xEEV[\x91\x90a\t%\x90_` \x85\x01\x94\x01\x90a\x07\xEFV[V[4a\tXWa\tTa\tCa\t=6`\x04a\x08\xE5V[\x90a!\tV[a\tKa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\tta\toa\ty\x92a\t]V[a\x05\xDEV[a\x07\xD8V[\x90V[a\t\x87a*\xF8a\t`V[\x90V[a\t\x92a\t|V[\x90V[\x91\x90a\t\xA8\x90_` \x85\x01\x94\x01\x90a\x07\xDFV[V[4a\t\xDAWa\t\xBA6`\x04a\x04\x9FV[a\t\xD6a\t\xC5a\t\x8AV[a\t\xCDa\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[_\x80\xFD[_\x80\xFD[_\x80\xFD[\x90\x91\x82`\x1F\x83\x01\x12\x15a\n#W\x815\x91`\x01\x80`@\x1B\x03\x83\x11a\n\x1EW` \x01\x92` \x83\x02\x84\x01\x11a\n\x19WV[a\t\xE7V[a\t\xE3V[a\t\xDFV[\x91\x90\x91`@\x81\x84\x03\x12a\ngWa\nA\x83_\x83\x01a\x05\x7FV[\x92` \x82\x015`\x01\x80`@\x1B\x03\x81\x11a\nbWa\n^\x92\x01a\t\xEBV[\x90\x91V[a\x03\xF2V[a\x03\xEEV[_\x01\x90V[4a\n\xA0Wa\n\x8Aa\n\x846`\x04a\n(V[\x91a!\xDAV[a\n\x92a\x03\xE4V[\x80a\n\x9C\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\n\xBEWa\n\xBB\x91_\x01a\x08\xD6V[\x90V[a\x03\xEEV[\x91\x90a\n\xD6\x90_` \x85\x01\x94\x01\x90a\x07\xCBV[V[4a\x0B\x08Wa\x0B\x04a\n\xF3a\n\xEE6`\x04a\n\xA5V[a\"\x12V[a\n\xFBa\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x91\x90`@\x83\x82\x03\x12a\x0B5W\x80a\x0B)a\x0B2\x92_\x86\x01a\x08\xD6V[\x93` \x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x0BiWa\x0BSa\x0BM6`\x04a\x0B\rV[\x90a\"fV[a\x0B[a\x03\xE4V[\x80a\x0Be\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x0B~\x90`\x08a\x0B\x83\x93\x02a\x04\xAEV[a\x06\xF5V[\x90V[\x90a\x0B\x91\x91Ta\x0BnV[\x90V[a\x0B\xA1`\x01`\x10\x90a\x0B\x86V[\x90V[4a\x0B\xD4Wa\x0B\xB46`\x04a\x04\x9FV[a\x0B\xD0a\x0B\xBFa\x0B\x94V[a\x0B\xC7a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[4a\x0C\x08Wa\x0B\xF2a\x0B\xEC6`\x04a\x0B\rV[\x90a\"rV[a\x0B\xFAa\x03\xE4V[\x80a\x0C\x04\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x0C$a\x0C\x1Fa\x0C)\x92a\x0C\rV[a\x05\xDEV[a\x07\xD8V[\x90V[a\x0C7a>\x80a\x0C\x10V[\x90V[a\x0CBa\x0C,V[\x90V[4a\x0CuWa\x0CU6`\x04a\x04\x9FV[a\x0Cqa\x0C`a\x0C:V[a\x0Cha\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\x0C\x93Wa\x0C\x90\x91_\x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x0C\xC6Wa\x0C\xB0a\x0C\xAB6`\x04a\x0CzV[a#\xB0V[a\x0C\xB8a\x03\xE4V[\x80a\x0C\xC2\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[4a\x0C\xFBWa\x0C\xF7a\x0C\xE6a\x0C\xE16`\x04a\x0CzV[a$\x8EV[a\x0C\xEEa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\r\x17a\r\x12a\r\x1C\x92a\r\0V[a\x05\xDEV[a\x07\xD8V[\x90V[a\r*a'\x10a\r\x03V[\x90V[a\r5a\r\x1FV[\x90V[4a\rhWa\rH6`\x04a\x04\x9FV[a\rda\rSa\r-V[a\r[a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[a\rz`\x01`\x08\x90a\x04\xD5V[\x90V[4a\r\xADWa\r\x8D6`\x04a\x04\x9FV[a\r\xA9a\r\x98a\rmV[a\r\xA0a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x91\x90`@\x83\x82\x03\x12a\r\xDAW\x80a\r\xCEa\r\xD7\x92_\x86\x01a\x05\xA2V[\x93` \x01a\x05\x7FV[\x90V[a\x03\xEEV[\x90a\r\xE9\x90a\x06+V[_R` R`@_ \x90V[\x90a\r\xFF\x90a\x06\tV[_R` R`@_ \x90V[a\x0E$a\x0E)\x92a\x0E\x1F`X\x93_\x94a\r\xDFV[a\r\xF5V[a\x04\xD5V[\x90V[4a\x0E]Wa\x0EYa\x0EHa\x0EB6`\x04a\r\xB2V[\x90a\x0E\x0BV[a\x0EPa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[_\x80\xFD[`\x1F\x80\x19\x91\x01\x16\x90V[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90a\x0E\x8E\x90a\x0EfV[\x81\x01\x90\x81\x10`\x01\x80`@\x1B\x03\x82\x11\x17a\x0E\xA6W`@RV[a\x0EpV[\x90a\x0E\xBEa\x0E\xB7a\x03\xE4V[\x92\x83a\x0E\x84V[V[`\x01\x80`@\x1B\x03\x81\x11a\x0E\xDCWa\x0E\xD8` \x91a\x0EfV[\x01\x90V[a\x0EpV[\x90\x82_\x93\x92\x827\x01RV[\x90\x92\x91\x92a\x0F\x01a\x0E\xFC\x82a\x0E\xC0V[a\x0E\xABV[\x93\x81\x85R` \x85\x01\x90\x82\x84\x01\x11a\x0F\x1DWa\x0F\x1B\x92a\x0E\xE1V[V[a\x0EbV[\x90\x80`\x1F\x83\x01\x12\x15a\x0F@W\x81` a\x0F=\x935\x91\x01a\x0E\xECV[\x90V[a\t\xDFV[\x91\x90\x91`@\x81\x84\x03\x12a\x0F\x83Wa\x0F^\x83_\x83\x01a\x05\x7FV[\x92` \x82\x015`\x01\x80`@\x1B\x03\x81\x11a\x0F~Wa\x0F{\x92\x01a\x0F\"V[\x90V[a\x03\xF2V[a\x03\xEEV[a\x0F\x9Ca\x0F\x966`\x04a\x0FEV[\x90a$\xD6V[a\x0F\xA4a\x03\xE4V[\x80a\x0F\xAE\x81a\nlV[\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\xDEa\x0F\xB2V[\x90V[4a\x10\x11Wa\x0F\xF16`\x04a\x04\x9FV[a\x10\ra\x0F\xFCa\x0F\xD6V[a\x10\x04a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[4a\x10FWa\x10&6`\x04a\x04\x9FV[a\x10Ba\x101a%MV[a\x109a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x10ba\x10]a\x10g\x92a\x10KV[a\x05\xDEV[a\x07\xD8V[\x90V[a\x10ua.\xE0a\x10NV[\x90V[a\x10\x80a\x10jV[\x90V[4a\x10\xB3Wa\x10\x936`\x04a\x04\x9FV[a\x10\xAFa\x10\x9Ea\x10xV[a\x10\xA6a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[4a\x10\xE8Wa\x10\xC86`\x04a\x04\x9FV[a\x10\xE4a\x10\xD3a%\x81V[a\x10\xDBa\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\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\x19a\x10\xEDV[\x90V[4a\x11LWa\x11,6`\x04a\x04\x9FV[a\x11Ha\x117a\x11\x11V[a\x11?a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[4a\x11\x81Wa\x11}a\x11la\x11g6`\x04a\x0CzV[a%\xA3V[a\x11ta\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[4a\x11\xB7Wa\x11\xB3a\x11\xA2a\x11\x9C6`\x04a\r\xB2V[\x90a%\xC2V[a\x11\xAAa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\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\xE8a\x11\xBCV[\x90V[4a\x12\x1BWa\x11\xFB6`\x04a\x04\x9FV[a\x12\x17a\x12\x06a\x11\xE0V[a\x12\x0Ea\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[`\xFF\x16\x90V[a\x126\x90`\x08a\x12;\x93\x02a\x04\xAEV[a\x12 V[\x90V[\x90a\x12I\x91Ta\x12&V[\x90V[a\x12X`\x05_\x90a\x12>V[\x90V[4a\x12\x8BWa\x12k6`\x04a\x04\x9FV[a\x12\x87a\x12va\x12LV[a\x12~a\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x12\xA7a\x12\xA2a\x12\xAC\x92a\x12\x90V[a\x05\xDEV[a\x04\xF2V[\x90V[a\x12\xBBbO\x1A\0a\x12\x93V[\x90V[a\x12\xC6a\x12\xAFV[\x90V[4a\x12\xF9Wa\x12\xD96`\x04a\x04\x9FV[a\x12\xF5a\x12\xE4a\x12\xBEV[a\x12\xECa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x13\x15a\x13\x10a\x13\x1A\x92a\x12\xFEV[a\x05\xDEV[a\x07\xECV[\x90V[a\x13*c\x05\xF5\xE1\0a\x13\x01V[\x90V[a\x135a\x13\x1DV[\x90V[4a\x13hWa\x13H6`\x04a\x04\x9FV[a\x13da\x13Sa\x13-V[a\x13[a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x13w_\x80a\x04\xD5V[\x90V[4a\x13\xAAWa\x13\x8A6`\x04a\x04\x9FV[a\x13\xA6a\x13\x95a\x13mV[a\x13\x9Da\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x13\xB8\x90a\x05_V[\x90RV[\x91\x90a\x13\xCF\x90_` \x85\x01\x94\x01\x90a\x13\xAFV[V[4a\x14\x01Wa\x13\xFDa\x13\xECa\x13\xE76`\x04a\x0CzV[a&0V[a\x13\xF4a\x03\xE4V[\x91\x82\x91\x82a\x13\xBCV[\x03\x90\xF3[a\x03\xEAV[4a\x146Wa\x142a\x14!a\x14\x1C6`\x04a\x04%V[a&OV[a\x14)a\x03\xE4V[\x91\x82\x91\x82a\x13\xBCV[\x03\x90\xF3[a\x03\xEAV[4a\x14lWa\x14ha\x14Wa\x14Q6`\x04a\x0B\rV[\x90a&zV[a\x14_a\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[4a\x14\xA1Wa\x14\x9Da\x14\x8Ca\x14\x876`\x04a\x0CzV[a&\xACV[a\x14\x94a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90\x91``\x82\x84\x03\x12a\x14\xDBWa\x14\xD8a\x14\xC1\x84_\x85\x01a\x05\x7FV[\x93a\x14\xCF\x81` \x86\x01a\x05\xA2V[\x93`@\x01a\x05\x7FV[\x90V[a\x03\xEEV[4a\x15\x11Wa\x15\ra\x14\xFCa\x14\xF66`\x04a\x14\xA6V[\x91a(\xE4V[a\x15\x04a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x15,\x90a\x15'`V\x91_\x92a\r\xF5V[a\x04\xD5V[\x90V[4a\x15_Wa\x15[a\x15Ja\x15E6`\x04a\x0CzV[a\x15\x16V[a\x15Ra\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x15}a\x15\x82\x92a\x15x`W\x93_\x94a\r\xDFV[a\r\xF5V[a\x04\xD5V[\x90V[4a\x15\xB6Wa\x15\xB2a\x15\xA1a\x15\x9B6`\x04a\r\xB2V[\x90a\x15dV[a\x15\xA9a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x15\xD2a\x15\xCDa\x15\xD7\x92a\x15\xBBV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x15\xE6b'\x8D\0a\x15\xBEV[\x90V[a\x15\xF1a\x15\xDAV[\x90V[4a\x16$Wa\x16\x046`\x04a\x04\x9FV[a\x16 a\x16\x0Fa\x15\xE9V[a\x16\x17a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[_\x1B\x90V[a\x16Ea\x16@a\x16J\x92a\x16)V[a\x16,V[a\x07\xC8V[\x90V[a\x16V_a\x161V[\x90V[a\x16aa\x16MV[\x90V[4a\x16\x94Wa\x16t6`\x04a\x04\x9FV[a\x16\x90a\x16\x7Fa\x16YV[a\x16\x87a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[a\x16\xA2\x90a\x04\xF2V[\x90RV[a\x16\xAF\x90a\x07\xC8V[\x90RV[a\x16\xBC\x90a\x07\xD8V[\x90RV[a\x16\xC9\x90a\x07\xECV[\x90RV[\x90a\x01\0\x80a\x17n\x93a\x16\xE6_\x82\x01Q_\x86\x01\x90a\x16\x99V[a\x16\xF8` \x82\x01Q` \x86\x01\x90a\x16\x99V[a\x17\n`@\x82\x01Q`@\x86\x01\x90a\x16\x99V[a\x17\x1C``\x82\x01Q``\x86\x01\x90a\x16\xA6V[a\x17.`\x80\x82\x01Q`\x80\x86\x01\x90a\x16\xB3V[a\x17@`\xA0\x82\x01Q`\xA0\x86\x01\x90a\x16\xC0V[a\x17R`\xC0\x82\x01Q`\xC0\x86\x01\x90a\x16\xC0V[a\x17d`\xE0\x82\x01Q`\xE0\x86\x01\x90a\x16\xC0V[\x01Q\x91\x01\x90a\x16\xA6V[V[\x91\x90a\x17\x84\x90_a\x01 \x85\x01\x94\x01\x90a\x16\xCDV[V[4a\x17\xB7Wa\x17\xB3a\x17\xA2a\x17\x9C6`\x04a\x05\xB1V[\x90a*\x92V[a\x17\xAAa\x03\xE4V[\x91\x82\x91\x82a\x17pV[\x03\x90\xF3[a\x03\xEAV[\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\xE8a\x17\xBCV[\x90V[4a\x18\x1BWa\x17\xFB6`\x04a\x04\x9FV[a\x18\x17a\x18\x06a\x17\xE0V[a\x18\x0Ea\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x187a\x182a\x18<\x92a\x18 V[a\x05\xDEV[a\x07\xD8V[\x90V[a\x18Ja2\xC8a\x18#V[\x90V[a\x18Ua\x18?V[\x90V[4a\x18\x88Wa\x18h6`\x04a\x04\x9FV[a\x18\x84a\x18sa\x18MV[a\x18{a\x03\xE4V[\x91\x82\x91\x82a\t\x95V[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x18\xA4a\x18\x9Fa\x18\xA9\x92a\x18\x8DV[a\x05\xDEV[a\x07\xECV[\x90V[a\x18\xBDg\r\xE0\xB6\xB3\xA7d\0\0a\x18\x90V[\x90V[a\x18\xC8a\x18\xACV[\x90V[4a\x18\xFBWa\x18\xDB6`\x04a\x04\x9FV[a\x18\xF7a\x18\xE6a\x18\xC0V[a\x18\xEEa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[`\x01\x80`@\x1B\x03\x81\x11a\x19\x1CWa\x19\x18` \x91a\x0EfV[\x01\x90V[a\x0EpV[\x90a\x193a\x19.\x83a\x19\0V[a\x0E\xABV[\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\x0EfV[\x01\x90V[a\x19\xF7\x91` \x82\x01\x91_\x81\x84\x03\x91\x01Ra\x19\xB1V[\x90V[4a\x1A*Wa\x1A\n6`\x04a\x04\x9FV[a\x1A&a\x1A\x15a\x19\x8EV[a\x1A\x1Da\x03\xE4V[\x91\x82\x91\x82a\x19\xE2V[\x03\x90\xF3[a\x03\xEAV[a\x1A;`\x07_\x90a\x12>V[\x90V[4a\x1AnWa\x1AN6`\x04a\x04\x9FV[a\x1Aja\x1AYa\x1A/V[a\x1Aaa\x03\xE4V[\x91\x82\x91\x82a\x04UV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1A\x8Aa\x1A\x85a\x1A\x8F\x92a\x1AsV[a\x05\xDEV[a\x07\xECV[\x90V[a\x1A\x9C`\x01a\x1AvV[\x90V[a\x1A\xA7a\x1A\x92V[\x90V[4a\x1A\xDAWa\x1A\xBA6`\x04a\x04\x9FV[a\x1A\xD6a\x1A\xC5a\x1A\x9FV[a\x1A\xCDa\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[a\x1A\xEB_`\x18\x90a\x04\xD5V[\x90V[4a\x1B\x1EWa\x1A\xFE6`\x04a\x04\x9FV[a\x1B\x1Aa\x1B\ta\x1A\xDFV[a\x1B\x11a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90` \x80a\x1BE\x93a\x1B;_\x82\x01Q_\x86\x01\x90a\x16\xC0V[\x01Q\x91\x01\x90a\x16\xC0V[V[\x91\x90a\x1BZ\x90_`@\x85\x01\x94\x01\x90a\x1B#V[V[4a\x1B\x8DWa\x1B\x89a\x1Bxa\x1Br6`\x04a\r\xB2V[\x90a+iV[a\x1B\x80a\x03\xE4V[\x91\x82\x91\x82a\x1BGV[\x03\x90\xF3[a\x03\xEAV[4a\x1B\xC3Wa\x1B\xBFa\x1B\xAEa\x1B\xA86`\x04a\r\xB2V[\x90a+\x91V[a\x1B\xB6a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[a\x1B\xD1\x81a\x07\xECV[\x03a\x1B\xD8WV[_\x80\xFD[\x90P5\x90a\x1B\xE9\x82a\x1B\xC8V[V[a\x1B\xF4\x81a\x07\xD8V[\x03a\x1B\xFBWV[_\x80\xFD[\x90P5\x90a\x1C\x0C\x82a\x1B\xEBV[V[`\x80\x81\x83\x03\x12a\x1COWa\x1C$\x82_\x83\x01a\x05\x7FV[\x92a\x1CLa\x1C5\x84` \x85\x01a\x1B\xDCV[\x93a\x1CC\x81`@\x86\x01a\x1B\xDCV[\x93``\x01a\x1B\xFFV[\x90V[a\x03\xEEV[4a\x1C\x86Wa\x1Cpa\x1Cg6`\x04a\x1C\x0EV[\x92\x91\x90\x91a3\x7FV[a\x1Cxa\x03\xE4V[\x80a\x1C\x82\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1C\xA2a\x1C\x9Da\x1C\xA7\x92a\x1C\x8BV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1C\xB6bv\xA7\0a\x1C\x8EV[\x90V[a\x1C\xC1a\x1C\xAAV[\x90V[4a\x1C\xF4Wa\x1C\xD46`\x04a\x04\x9FV[a\x1C\xF0a\x1C\xDFa\x1C\xB9V[a\x1C\xE7a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1D\x10a\x1D\x0Ba\x1D\x15\x92a\x1C\xF9V[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1D$b\t:\x80a\x1C\xFCV[\x90V[a\x1D/a\x1D\x18V[\x90V[4a\x1DbWa\x1DB6`\x04a\x04\x9FV[a\x1D^a\x1DMa\x1D'V[a\x1DUa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[4a\x1D\x96Wa\x1D\x80a\x1Dz6`\x04a\x0B\rV[\x90a3\xB7V[a\x1D\x88a\x03\xE4V[\x80a\x1D\x92\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x1D\xA7`\x01_\x90a\x04\xD5V[\x90V[4a\x1D\xDAWa\x1D\xBA6`\x04a\x04\x9FV[a\x1D\xD6a\x1D\xC5a\x1D\x9BV[a\x1D\xCDa\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1D\xF6a\x1D\xF1a\x1D\xFB\x92a\x1D\xDFV[a\x05\xDEV[a\x07\xECV[\x90V[a\x1E\x0Ef#\x86\xF2o\xC1\0\0a\x1D\xE2V[\x90V[a\x1E\x19a\x1D\xFEV[\x90V[4a\x1ELWa\x1E,6`\x04a\x04\x9FV[a\x1EHa\x1E7a\x1E\x11V[a\x1E?a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[\x90` \x82\x82\x03\x12a\x1E\x80W_\x82\x015`\x01\x80`@\x1B\x03\x81\x11a\x1E{Wa\x1Ew\x92\x01a\t\xEBV[\x90\x91V[a\x03\xF2V[a\x03\xEEV[4a\x1E\xB4Wa\x1E\x9Ea\x1E\x986`\x04a\x1EQV[\x90a4\x18V[a\x1E\xA6a\x03\xE4V[\x80a\x1E\xB0\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[a\x1E\xCDa\x1E\xC8a\x1E\xD2\x92a\r\0V[a\x05\xDEV[a\x07\xECV[\x90V[a\x1E\xE0a'\x10a\x1E\xB9V[\x90V[a\x1E\xEBa\x1E\xD5V[\x90V[4a\x1F\x1EWa\x1E\xFE6`\x04a\x04\x9FV[a\x1F\x1Aa\x1F\ta\x1E\xE3V[a\x1F\x11a\x03\xE4V[\x91\x82\x91\x82a\t\x12V[\x03\x90\xF3[a\x03\xEAV[4a\x1FRWa\x1F<a\x1F66`\x04a\x05\xB1V[\x90a5IV[a\x1FDa\x03\xE4V[\x80a\x1FN\x81a\nlV[\x03\x90\xF3[a\x03\xEAV[\x90V[a\x1Fna\x1Fia\x1Fs\x92a\x1FWV[a\x05\xDEV[a\x04\xF2V[\x90V[a\x1F\x82b\xEDN\0a\x1FZV[\x90V[a\x1F\x8Da\x1FvV[\x90V[4a\x1F\xC0Wa\x1F\xA06`\x04a\x04\x9FV[a\x1F\xBCa\x1F\xABa\x1F\x85V[a\x1F\xB3a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[\x7F\x18\x9A\xB7\xA9$M\xF0\x84\x81\"\x15C\x15\xAFq\xFE\x14\x0F=\xB0\xFE\x01@1x;\tF\xB8\xC9\xD2\xE3\x90V[a\x1F\xF1a\x1F\xC5V[\x90V[4a $Wa \x046`\x04a\x04\x9FV[a a \x0Fa\x1F\xE9V[a \x17a\x03\xE4V[\x91\x82\x91\x82a\n\xC3V[\x03\x90\xF3[a\x03\xEAV[a 5_`\x08\x90a\x04\xD5V[\x90V[4a hWa H6`\x04a\x04\x9FV[a da Sa )V[a [a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xF3[a\x03\xEAV[_\x90V[a ya mV[P\x80a \x94a \x8Ecye\xDB\x0B`\xE0\x1Ba\x03\xF6V[\x91a\x03\xF6V[\x14\x90\x81\x15a \xA1W[P\x90V[a \xAB\x91Pa5ZV[_a \x9DV[_\x90V[\x90a \xBF\x90a\x06\tV[_R` R`@_ \x90V[a \xD4\x90a\x07\xC8V[\x90V[\x90a \xE1\x90a \xCBV[_R` R`@_ \x90V[a!\x01a \xFCa!\x06\x92a\x16)V[a\x05\xDEV[a\x07\xECV[\x90V[a!.\x91a!$a!)\x92a!\x1Ca \xB1V[P`\x11a \xB5V[a \xD7V[a\x074V[\x80a!Aa!;_a \xEDV[\x91a\x07\xECV[\x14_\x14a!UWPa!Qa\x18\xACV[[\x90V[a!RV[`\x01\x80`@\x1B\x03\x81\x11a!pW` \x80\x91\x02\x01\x90V[a\x0EpV[\x90\x92\x91\x92a!\x8Aa!\x85\x82a!ZV[a\x0E\xABV[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a!\xC7W\x91[\x83\x83\x10a!\xAEWPPPPV[` \x80\x91a!\xBC\x84\x86a\x04\x16V[\x81R\x01\x92\x01\x91a!\xA1V[a\t\xE7V[a!\xD7\x916\x91a!uV[\x90V[a!\xF6\x92a!\xF0\x91a!\xEAa5\x92V[\x92a!\xCCV[\x90a5\xCDV[V[_\x90V[\x90a\"\x06\x90a \xCBV[_R` R`@_ \x90V[`\x01a\"3a\"9\x92a\"#a!\xF8V[P_a\"-a7AV[\x01a!\xFCV[\x01a\x06\xE8V[\x90V[\x90a\"W\x91a\"Ra\"M\x82a\"\x12V[a7eV[a\"YV[V[\x90a\"c\x91a7yV[PV[\x90a\"p\x91a\"<V[V[\x90\x80a\"\x8Da\"\x87a\"\x82a80V[a\x05_V[\x91a\x05_V[\x03a\"\x9EWa\"\x9B\x91a8=V[PV[_c3K\xD9\x19`\xE1\x1B\x81R\x80a\"\xB6`\x04\x82\x01a\nlV[\x03\x90\xFD[a\"\xC3\x90a\x05\xE1V[\x90V[a\"\xCF\x90a\"\xBAV[\x90V[a\"\xDB\x90a\x05\xFDV[\x90V[`\xE0\x1B\x90V[\x90PQ\x90a\"\xF1\x82a\x04\x02V[V[\x90\x92\x91\x92a#\x08a#\x03\x82a!ZV[a\x0E\xABV[\x93\x81\x85R` \x80\x86\x01\x92\x02\x83\x01\x92\x81\x84\x11a#EW\x91[\x83\x83\x10a#,WPPPPV[` \x80\x91a#:\x84\x86a\"\xE4V[\x81R\x01\x92\x01\x91a#\x1FV[a\t\xE7V[\x90\x80`\x1F\x83\x01\x12\x15a#hW\x81` a#e\x93Q\x91\x01a\"\xF3V[\x90V[a\t\xDFV[\x90` \x82\x82\x03\x12a#\x9BW_\x82\x01Q`\x01\x80`@\x1B\x03\x81\x11a#\x96Wa#\x93\x92\x01a#JV[\x90V[a\x03\xF2V[a\x03\xEEV[a#\xA8a\x03\xE4V[=_\x82>=\x90\xFD[a#\xB8a5\x92V[a#\xE3_a#\xCDa#\xC8\x84a\"\xC6V[a\"\xD2V[cn%\xB9x\x90a#\xDBa\x03\xE4V[\x93\x84\x92a\"\xDEV[\x82R\x81\x80a#\xF3`\x04\x82\x01a\nlV[\x03\x91Z\xFA\x80\x15a$sWa$\x0F\x91_\x91a$QW[P\x82a5\xCDV[a$9\x7FM<0\xF5\x99?\x19\"\xA7y4Z\x0F~\xC1\xA1p\xF1\xE5.\x9D#\x08$\xF9\xC1~cYl\x90m\x91a\x06\tV[\x90a$Ba\x03\xE4V[\x80a$L\x81a\nlV[\x03\x90\xA2V[a$m\x91P=\x80_\x83>a$e\x81\x83a\x0E\x84V[\x81\x01\x90a#mV[_a$\x08V[a#\xA0V[\x90a$\x82\x90a\x06\tV[_R` R`@_ \x90V[a$\xA5a$\xAA\x91a$\x9Da \xB1V[P`\x1Ba$xV[a\x074V[\x90V[\x90a$\xBF\x91a$\xBAa8\xF6V[a$\xC1V[V[\x90a$\xD4\x91a$\xCF\x81a9\xB0V[a:\x0CV[V[\x90a$\xE0\x91a$\xADV[V[a$\xF3\x90a$\xEEa;\nV[a%AV[\x90V[\x90V[a%\ra%\x08a%\x12\x92a$\xF6V[a\x16,V[a\x07\xC8V[\x90V[a%>\x7F6\x08\x94\xA1;\xA1\xA3!\x06g\xC8(I-\xB9\x8D\xCA> v\xCC75\xA9 \xA3\xCAP]8+\xBCa$\xF9V[\x90V[Pa%Ja%\x15V[\x90V[a%]a%Xa!\xF8V[a$\xE2V[\x90V[a%la%q\x91a\x06]V[a\x12 V[\x90V[a%~\x90Ta%`V[\x90V[a%\x89a mV[Pa%\x9C_a%\x96a;hV[\x01a%tV[\x90V[_\x90V[a%\xBAa%\xBF\x91a%\xB2a%\x9FV[P`Va\r\xF5V[a\x06vV[\x90V[a%\xE7\x91a%\xDDa%\xE2\x92a%\xD5a%\x9FV[P`Wa\r\xDFV[a\r\xF5V[a\x06vV[\x90V[_\x90V[\x90a%\xF8\x90a\x06\tV[_R` R`@_ \x90V[`\x01\x80`\xA0\x1B\x03\x16\x90V[a&\x1Ba& \x91a\x06]V[a&\x04V[\x90V[a&-\x90Ta&\x0FV[\x90V[a&Ga&L\x91a&?a%\xEAV[P`\x06a%\xEEV[a&#V[\x90V[a&a\x90a&[a%\xEAV[Pa;\xA2V[\x90V[\x90a&n\x90a\x06\tV[_R` R`@_ \x90V[a&\xA9\x91_a&\x9Ea&\xA4\x93a&\x8Ea mV[P\x82a&\x98a7AV[\x01a!\xFCV[\x01a&dV[a%tV[\x90V[a&\xC3a&\xC8\x91a&\xBBa%\x9FV[P`#a\r\xF5V[a\x06vV[\x90V[\x90a&\xD5\x90a\x04\xF2V[\x90RV[\x90a&\xE3\x90a\x07\xC8V[\x90RV[\x90a&\xF1\x90a\x07\xD8V[\x90RV[\x90a&\xFF\x90a\x07\xECV[\x90RV[a'\x0Ea\x01 a\x0E\xABV[\x90V[\x90a'\xEFa'\xE5`\x06a'\"a'\x03V[\x94a'9a'1_\x83\x01a\x06vV[_\x88\x01a&\xCBV[a'Pa'G_\x83\x01a\x06\x9DV[` \x88\x01a&\xCBV[a'ga'^_\x83\x01a\x06\xC4V[`@\x88\x01a&\xCBV[a'\x7Fa'v`\x01\x83\x01a\x06\xE8V[``\x88\x01a&\xD9V[a'\x97a'\x8E`\x02\x83\x01a\x07\x10V[`\x80\x88\x01a&\xE7V[a'\xAFa'\xA6`\x03\x83\x01a\x074V[`\xA0\x88\x01a&\xF5V[a'\xC7a'\xBE`\x04\x83\x01a\x074V[`\xC0\x88\x01a&\xF5V[a'\xDFa'\xD6`\x05\x83\x01a\x074V[`\xE0\x88\x01a&\xF5V[\x01a\x06\xE8V[a\x01\0\x84\x01a&\xD9V[V[a'\xFA\x90a'\x11V[\x90V[a(\x07\x90Qa\x04\xF2V[\x90V[a(\x1Ea(\x19a(#\x92a\x16)V[a\x05\xDEV[a\x04\xF2V[\x90V[a(0\x90Qa\x07\xC8V[\x90V[a(=\x90Qa\x07\xECV[\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[a(ca(i\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x82\x03\x91\x82\x11a(tWV[a(@V[a(\x88a(\x8E\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x91a(\x9A\x83\x82\x02a\x07\xECV[\x92\x81\x84\x04\x14\x90\x15\x17\x15a(\xA9WV[a(@V[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[a(\xCEa(\xD4\x91a\x07\xECV[\x91a\x07\xECV[\x90\x81\x15a(\xDFW\x04\x90V[a(\xAEV[\x92\x91\x90\x92a)\ra)\x08a(\xF6a \xB1V[\x95a)\x03`U\x85\x90a\x06\x15V[a\x06GV[a'\xF1V[\x91a)\x19_\x84\x01a'\xFDV[a)+a)%_a(\nV[\x91a\x04\xF2V[\x14a)\xECW\x90a)H\x91\x90a)B``\x85\x01a(&V[\x91a<\xD6V[\x90\x81a)\\a)V_a \xEDV[\x91a\x07\xECV[\x14a)\xDCWa)m`\xC0\x82\x01a(3V[a)\x8Aa)\x84a)\x7F`\xE0\x85\x01a(3V[a\x07\xECV[\x91a\x07\xECV[\x11a)\x94W[PPV[a)\xD4\x92\x93P\x90a)\xC0\x82a)\xBA`\xE0a)\xB3`\xC0a)\xC6\x97\x01a(3V[\x92\x01a(3V[\x90a(TV[\x90a(yV[a)\xCEa\x18\xACV[\x90a(\xC2V[\x90_\x80a)\x90V[PP\x90Pa)\xE9_a \xEDV[\x90V[PPP\x90Pa)\xFA_a \xEDV[\x90V[_\x90V[_\x90V[_\x90V[_\x90V[a*\x15a'\x03V[\x90` \x80\x80\x80\x80\x80\x80\x80\x80\x8Aa*)a)\xFDV[\x81R\x01a*4a)\xFDV[\x81R\x01a*?a)\xFDV[\x81R\x01a*Ja*\x01V[\x81R\x01a*Ua*\x05V[\x81R\x01a*`a*\tV[\x81R\x01a*ka*\tV[\x81R\x01a*va*\tV[\x81R\x01a*\x81a*\x01V[\x81RPPV[a*\x8Fa*\rV[\x90V[a*\xB7\x91a*\xADa*\xB2\x92a*\xA5a*\x87V[P`Ua\x06\x15V[a\x06GV[a'\xF1V[\x90V[a*\xC4`@a\x0E\xABV[\x90V[a*\xCFa*\xBAV[\x90` \x80\x83a*\xDCa*\tV[\x81R\x01a*\xE7a*\tV[\x81RPPV[a*\xF5a*\xC7V[\x90V[\x90a+\x02\x90a\x06+V[_R` R`@_ \x90V[\x90a+\x18\x90a\x06\tV[_R` R`@_ \x90V[\x90a+[a+R`\x01a+5a*\xBAV[\x94a+La+D_\x83\x01a\x074V[_\x88\x01a&\xF5V[\x01a\x074V[` \x84\x01a&\xF5V[V[a+f\x90a+$V[\x90V[a+\x8E\x91a+\x84a+\x89\x92a+|a*\xEDV[P`\x10a*\xF8V[a+\x0EV[a+]V[\x90V[a+\xB6\x91a+\xACa+\xB1\x92a+\xA4a%\x9FV[P`Xa\r\xDFV[a\r\xF5V[a\x06vV[\x90V[a+\xC5a+\xCA\x91a\x06\x83V[a\x12 V[\x90V[a+\xD7\x90Ta+\xB9V[\x90V[a+\xEEa+\xE9a+\xF3\x92a\x1AsV[a\x05\xDEV[a\x04\xF2V[\x90V[a+\xFF\x90a\x05\xFDV[\x90V[\x90a,\x13`\x01\x80`@\x1B\x03\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x90a,5a,0a,<\x92a\x06+V[a,\x1DV[\x82Ta,\x02V[\x90UV[`@\x1B\x90V[\x90a,U`\xFF`@\x1B\x91a,@V[\x91\x81\x19\x16\x91\x16\x17\x90V[a,h\x90a\x04CV[\x90V[\x90V[\x90a,\x83a,~a,\x8A\x92a,_V[a,kV[\x82Ta,FV[\x90UV[a,\x97\x90a+\xDAV[\x90RV[\x91\x90a,\xAE\x90_` \x85\x01\x94\x01\x90a,\x8EV[V[\x90\x91\x92a,\xBBa=\xC5V[\x93a,\xD0a,\xCA_\x87\x01a+\xCDV[\x15a\x04CV[\x93a,\xDC_\x87\x01a\x06vV[\x80a,\xEFa,\xE9_a(\nV[\x91a\x04\xF2V[\x14\x80a.\tW[\x90a-\na-\x04`\x01a+\xDAV[\x91a\x04\xF2V[\x14\x80a-\xE1W[a-\x1C\x90\x91\x15a\x04CV[\x90\x81a-\xD0W[Pa-\xB4Wa-L\x93a-Aa-9`\x01a+\xDAV[_\x89\x01a, V[\x85a-\xA2W[a1\xC1V[a-TW[PV[a-a\x90_\x80\x91\x01a,nV[`\x01a-\x99\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-\x90a\x03\xE4V[\x91\x82\x91\x82a,\x9BV[\x03\x90\xA1_a-QV[a-\xAF`\x01_\x89\x01a,nV[a-GV[_c\xF9.\xE8\xA9`\xE0\x1B\x81R\x80a-\xCC`\x04\x82\x01a\nlV[\x03\x90\xFD[a-\xDB\x91P\x15a\x04CV[_a-#V[Pa-\x1Ca-\xEE0a+\xF6V[;a.\x01a-\xFB_a \xEDV[\x91a\x07\xECV[\x14\x90Pa-\x11V[P\x85a,\xF6V[a.$a.\x1Fa.)\x92a\x16)V[a\x05\xDEV[a\x05TV[\x90V[a.5\x90a.\x10V[\x90V[a.B`@a\x0E\xABV[\x90V[cNH{q`\xE0\x1B_R`!`\x04R`$_\xFD[`\x02\x11\x15a.cWV[a.EV[\x90a.r\x82a.YV[V[\x90a.~\x90a.hV[\x90RV[\x90a.\x8C\x90a\x05_V[\x90RV[a.\xA4a.\x9Fa.\xA9\x92a\x07\xECV[a\x05\xDEV[a\x07\xD8V[\x90V[a.\xB6`\xC0a\x0E\xABV[\x90V[\x90a.\xC3\x90a\x04CV[\x90RV[\x90a.\xD1\x90a \xCBV[_R` R`@_ \x90V[a.\xE7\x90Qa\x04CV[\x90V[\x90a.\xF6`\xFF\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a/\x15a/\x10a/\x1C\x92a,_V[a,kV[\x82Ta.\xEAV[\x90UV[\x90a/,_\x19\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/Ja/Ea/O\x92a\x07\xECV[a\x05\xDEV[a\x07\xECV[\x90V[\x90V[\x90a/ja/ea/q\x92a/6V[a/RV[\x82Ta/ V[\x90UV[a/\x7F\x90Qa\x07\xD8V[\x90V[\x90a/\x8Fa\xFF\xFF\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[a/\xADa/\xA8a/\xB2\x92a\x07\xD8V[a\x05\xDEV[a\x07\xD8V[\x90V[\x90V[\x90a/\xCDa/\xC8a/\xD4\x92a/\x99V[a/\xB5V[\x82Ta/\x82V[\x90UV[\x90a0g`\xA0`\x05a0m\x94a/\xFB_\x82\x01a/\xF5_\x88\x01a.\xDDV[\x90a/\0V[a0\x14`\x01\x82\x01a0\x0E` \x88\x01a(3V[\x90a/UV[a0-`\x02\x82\x01a0'`@\x88\x01a(3V[\x90a/UV[a0F`\x03\x82\x01a0@``\x88\x01a(3V[\x90a/UV[a0_`\x04\x82\x01a0Y`\x80\x88\x01a(3V[\x90a/UV[\x01\x92\x01a/uV[\x90a/\xB8V[V[\x90a0y\x91a/\xD8V[V[`\x80\x1B\x90V[\x90a0\x91a\xFF\xFF`\x80\x1B\x91a0{V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a0\xB0a0\xABa0\xB7\x92a/\x99V[a/\xB5V[\x82Ta0\x81V[\x90UV[\x90V[a0\xD2a0\xCDa0\xD7\x92a0\xBBV[a\x05\xDEV[a\x04\xF2V[\x90V[a0\xE5aT`a0\xBEV[\x90V[\x90a0\xFD`\x01`@\x1B`\x01`\x80\x1B\x03\x91a,@V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1\x1Ca1\x17a1#\x92a\x06+V[a,\x1DV[\x82Ta0\xE8V[\x90UV[\x90V[a1>a19a1C\x92a1'V[a\x05\xDEV[a\x04\xF2V[\x90V[a1P`\x1Ca1*V[\x90V[`\xC0\x1B\x90V[\x90a1k`\x01\x80`\xC0\x1B\x03\x19\x91a1SV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a1\x8Aa1\x85a1\x91\x92a\x06+V[a,\x1DV[\x82Ta1YV[\x90UV[\x90V[a1\xACa1\xA7a1\xB1\x92a1\x95V[a\x05\xDEV[a\x04\xF2V[\x90V[a1\xBE`8a1\x98V[\x90V[\x91\x90\x91a1\xCCa=\xF3V[a1\xD4a>\x07V[a1\xDCa>-V[a1\xE4a>SV[a1\xECa\x16MV[\x81a1\xF6\x91a7yV[Pa1\xFFa\x11\xBCV[\x81a2\t\x91a7yV[Pa2\x12a\x17\xBCV[\x81a2\x1C\x91a7yV[Pa2%a\x1F\xC5V[\x90a2/\x91a7yV[P_\x80a2;\x90a.,V[a2Ca.8V[\x91_\x83\x01\x90a2Q\x91a.tV[` \x82\x01\x90a2_\x91a.\x82V[a2h\x90a>\xBDV[\x90`\x01\x92\x90_\x80\x91a2xa\x1E\xD5V[a2\x81\x90a.\x90V[\x93a2\x8Aa.\xACV[\x96_\x88\x01\x90a2\x98\x91a.\xB9V[` \x87\x01\x90a2\xA6\x91a&\xF5V[`@\x86\x01\x90a2\xB4\x91a&\xF5V[a2\xBD\x90a \xEDV[``\x85\x01\x90a2\xCB\x91a&\xF5V[a2\xD4\x90a \xEDV[`\x80\x84\x01\x90a2\xE2\x91a&\xF5V[`\xA0\x83\x01\x90a2\xF0\x91a&\xE7V[`\x02\x90a2\xFC\x91a.\xC7V[\x90a3\x06\x91a0oV[`\x01a3\x13\x90`\x05a/\0V[a3\x1E\x90`\x01a0\x9BV[`\x01a3)\x90a+\xDAV[a33\x90_a, V[a3;a0\xDAV[a3E\x90_a1\x07V[a3Ma1FV[a3W\x90_a1uV[a3_a1FV[a3j\x90`\x01a, V[a3ra1\xB4V[a3}\x90`\x01a1\x07V[V[\x90a3\x8B\x93\x92\x91a,\xB0V[V[\x90a3\xA8\x91a3\xA3a3\x9E\x82a\"\x12V[a7eV[a3\xAAV[V[\x90a3\xB4\x91a8=V[PV[\x90a3\xC1\x91a3\x8DV[V[`\x01a3\xCF\x91\x01a\x07\xECV[\x90V[P\x90V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x91\x90\x81\x10\x15a3\xFAW` \x02\x01\x90V[a3\xD6V[5a4\t\x81a\x04\x02V[\x90V[a4\x15\x90a\x03\xF6V[\x90V[\x91\x90\x91a4#a5\x92V[a4,_a \xEDV[[\x80a4Ja4Da4?\x85\x88\x90a3\xD2V[a\x07\xECV[\x91a\x07\xECV[\x10\x15a4\xCEWa4\xC9\x90a4pa4ka4f\x85\x88\x85\x91a3\xEAV[a3\xFFV[a?\x84V[a4\x84a4\x7F\x84\x87\x84\x91a3\xEAV[a3\xFFV[a4\xAE\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\x91a4\x0CV[\x90a4\xB7a\x03\xE4V[\x80a4\xC1\x81a\nlV[\x03\x90\xA2a3\xC3V[a4-V[PP\x90PV[\x90a4\xEE\x91a4\xE9a4\xE4a\x11\xBCV[a7eV[a4\xF0V[V[a5\x05\x82a5\0`#\x84\x90a\r\xF5V[a, V[a5Da52\x7F\x90\xB3~Y\xA9B\xC5A<\xE0\n:\x84JG\xC2\0\x94\x97\x98\x97\xCCe6\x06\xD9%\xE9\t\x88_5\x92a\x06\tV[\x92a5;a\x03\xE4V[\x91\x82\x91\x82a\x05\nV[\x03\x90\xA2V[\x90a5S\x91a4\xD4V[V[a?\x9AV[a5ba mV[Pa5|a5vc\x01\xFF\xC9\xA7`\xE0\x1Ba\x03\xF6V[\x91a\x03\xF6V[\x14\x90V[a5\x90a5\x8Ba\x11\xBCV[a7eV[V[a5\x9Aa5\x80V[V[Q\x90V[\x90a5\xAA\x82a5\x9CV[\x81\x10\x15a5\xBBW` \x80\x91\x02\x01\x01\x90V[a3\xD6V[a5\xCA\x90Qa\x03\xF6V[\x90V[\x91\x90\x82a5\xEAa5\xE4a5\xDF_a.,V[a\x05_V[\x91a\x05_V[\x14a7<W\x82;a6\x03a5\xFD_a \xEDV[\x91a\x07\xECV[\x14a76Wa6\x11_a \xEDV[[\x80a6-a6'a6\"\x85a5\x9CV[a\x07\xECV[\x91a\x07\xECV[\x10\x15a70Wa6Na6Ia6D\x84\x84\x90a5\xA0V[a5\xC0V[a;\xA2V[\x80a6ia6ca6^_a.,V[a\x05_V[\x91a\x05_V[\x14\x15\x80a7\x15W[a6\xFEWPa6\xF9\x90a6\x97a6\x90a6\x8B\x85\x84\x90a5\xA0V[a5\xC0V[\x86\x90a@\xA1V[a6\xAAa6\xA5\x84\x83\x90a5\xA0V[a5\xC0V[\x85a6\xDEa6\xD8\x7F\x12U\x7F%\xE4X\xD9h-|\x95\x9BZ\x96\x0B\xC93.\x8Bz\xF1\x12\x0BT\xA33\xBF\xC1\xFF(+9\x93a4\x0CV[\x91a\x06\tV[\x91a6\xE7a\x03\xE4V[\x80a6\xF1\x81a\nlV[\x03\x90\xA3a3\xC3V[a6\x12V[a7\x10a7\x0B\x83\x85a5\xA0V[a5\xC0V[a@HV[P\x80a7)a7#\x87a\x05_V[\x91a\x05_V[\x14\x15a6qV[PP\x90PV[\x82a?\xF9V[a?\xDDV[\x7F\x02\xDD{\xC7\xDE\xC4\xDC\xEE\xDD\xA7u\xE5\x8D\xD5A\xE0\x8A\x11llS\x81\\\x0B\xD0(\x19/{bh\0\x90V[a7w\x90a7qa80V[\x90a@\xDAV[V[a7\x81a mV[Pa7\x8Aa7AV[a7\x9Ea7\x98\x83\x85\x90a&zV[\x15a\x04CV[_\x14a8)Wa7\xC8\x90a7\xC3_a7\xBB\x81`\x01\x94\x01\x86\x90a!\xFCV[\x01\x85\x90a&dV[a/\0V[\x90a7\xD1a80V[\x90a8\x0Ea8\x08a8\x02\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r\x95a \xCBV[\x92a\x06\tV[\x92a\x06\tV[\x92a8\x17a\x03\xE4V[\x80a8!\x81a\nlV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a88a%\xEAV[P3\x90V[a8Ea mV[Pa8Na7AV[a8Y\x82\x84\x90a&zV[_\x14a8\xE3Wa8\x82\x90a8}_a8u\x81\x80\x94\x01\x86\x90a!\xFCV[\x01\x85\x90a&dV[a/\0V[\x90a8\x8Ba80V[\x90a8\xC8a8\xC2a8\xBC\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x95a \xCBV[\x92a\x06\tV[\x92a\x06\tV[\x92a8\xD1a\x03\xE4V[\x80a8\xDB\x81a\nlV[\x03\x90\xA4`\x01\x90V[PPP_\x90V[a8\xF3\x90a\x05\xFDV[\x90V[a8\xFF0a8\xEAV[a91a9+\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\x05_V[\x91a\x05_V[\x14\x80\x15a9[W[a9?WV[_cp>F\xDD`\xE1\x1B\x81R\x80a9W`\x04\x82\x01a\nlV[\x03\x90\xFD[Pa9daA\x15V[a9\x96a9\x90\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\x05_V[\x91a\x05_V[\x14\x15a99V[Pa9\xAEa9\xA9a\x1F\xC5V[a7eV[V[a9\xB9\x90a9\x9DV[V[a9\xC4\x90a\x05\xE1V[\x90V[a9\xD0\x90a9\xBBV[\x90V[a9\xDC\x90a\x05\xFDV[\x90V[\x90PQ\x90a9\xEC\x82a\x08\xC2V[V[\x90` \x82\x82\x03\x12a:\x07Wa:\x04\x91_\x01a9\xDFV[\x90V[a\x03\xEEV[\x91\x90a::` a:$a:\x1F\x86a9\xC7V[a9\xD3V[cR\xD1\x90-\x90a:2a\x03\xE4V[\x93\x84\x92a\"\xDEV[\x82R\x81\x80a:J`\x04\x82\x01a\nlV[\x03\x91Z\xFA\x80\x91_\x92a:\xDAW[P\x15_\x14a:\x8BWPP\x90`\x01a:lWP[V[a:\x87\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[\x92\x83a:\xA6a:\xA0a:\x9Ba%\x15V[a\x07\xC8V[\x91a\x07\xC8V[\x03a:\xBBWa:\xB6\x92\x93PaA;V[a:jV[a:\xD6\x84_\x91\x82\x91c*\x87Ri`\xE2\x1B\x83R`\x04\x83\x01a\n\xC3V[\x03\x90\xFD[a:\xFC\x91\x92P` =\x81\x11a;\x03W[a:\xF4\x81\x83a\x0E\x84V[\x81\x01\x90a9\xEEV[\x90_a:WV[P=a:\xEAV[a;\x130a8\xEAV[a;Ea;?\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\x05_V[\x91a\x05_V[\x03a;LWV[_cp>F\xDD`\xE1\x1B\x81R\x80a;d`\x04\x82\x01a\nlV[\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;\x96\x90a4\x0CV[_R` R`@_ \x90V[a;\xB9a;\xBE\x91a;\xB1a%\xEAV[P`!a;\x8CV[a&#V[\x90V[\x90a;\xCB\x90a\x06\tV[_R` R`@_ \x90V[\x90V[T\x90V[_R` _ \x90V[a;\xF0\x81a;\xDAV[\x82\x10\x15a<\nWa<\x02`\x04\x91a;\xDEV[\x91\x02\x01\x90_\x90V[a3\xD6V[\x90V[`\xFF\x16\x90V[a<$a<)\x91a\x06]V[a<\x12V[\x90V[a<6\x90Ta<\x18V[\x90V[`\x08\x1C\x90V[a<Ka<P\x91a<9V[a&\x04V[\x90V[a<]\x90Ta<?V[\x90V[a<j`@a\x0E\xABV[\x90V[\x90a<\xA3a<\x9A_a<}a<`V[\x94a<\x94a<\x8C\x83\x83\x01a<,V[\x83\x88\x01a.tV[\x01a<SV[` \x84\x01a.\x82V[V[a<\xAE\x90a<mV[\x90V[a<\xC0a<\xC6\x91\x93\x92\x93a\x07\xECV[\x92a\x07\xECV[\x82\x01\x80\x92\x11a<\xD1WV[a(@V[\x92\x91\x92a<\xF4a<\xEFa<\xE7a \xB1V[\x92`\x15a;\xC1V[a;\xD7V[\x93a<\xFE\x85a;\xDAV[\x93a=\x08_a \xEDV[[\x80a=\x1Ca=\x16\x88a\x07\xECV[\x91a\x07\xECV[\x10\x15a=\xBCWa=6a=0\x88\x83\x90a;\xE7V[Pa<\x0FV[a=A_\x82\x01a&#V[a=Sa=M\x88a\x05_V[\x91a\x05_V[\x14\x80a=\x8FW[a=nW[Pa=i\x90a3\xC3V[a=\tV[a=i\x91\x94a=\x82`\x01a=\x88\x93\x01a\x074V[\x90a<\xB1V[\x93\x90a=_V[Pa=\xA4a=\x9F`\x02\x83\x01a<\xA5V[a>\xBDV[a=\xB6a=\xB0\x86a\x07\xC8V[\x91a\x07\xC8V[\x14a=ZV[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=\xF1aA\xC4V[V[a=\xFBa=\xE9V[V[a>\x05aA\xC4V[V[a>\x0Fa=\xFDV[V[a>\x19aA\xC4V[a>!a>#V[V[a>+aB\x1FV[V[a>5a>\x11V[V[a>?aA\xC4V[a>Ga>IV[V[a>QaBeV[V[a>[a>7V[V[a>g\x90Qa.hV[\x90V[a>t\x90Qa\x05_V[\x90V[a>\x80\x90a.hV[\x90V[a>\x8C\x90a>wV[\x90RV[\x91` a>\xB1\x92\x94\x93a>\xAA`@\x82\x01\x96_\x83\x01\x90a>\x83V[\x01\x90a\x13\xAFV[V[` \x01\x90V[Q\x90V[a>\xC5a!\xF8V[Pa?\x07a>\xE0` a>\xD9_\x85\x01a>]V[\x93\x01a>jV[\x91a>\xF8a>\xECa\x03\xE4V[\x93\x84\x92` \x84\x01a>\x90V[` \x82\x01\x81\x03\x82R\x03\x82a\x0E\x84V[a?\x19a?\x13\x82a>\xB9V[\x91a>\xB3V[ \x90V[\x1B\x90V[\x91\x90`\x08a?A\x91\x02\x91a?;`\x01\x80`\xA0\x1B\x03\x84a?\x1DV[\x92a?\x1DV[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90V[\x91\x90a?da?_a?l\x93a\x06\tV[a?KV[\x90\x83Ta?!V[\x90UV[a?\x82\x91a?|a%\xEAV[\x91a?NV[V[_a?\x93a?\x98\x92`!a;\x8CV[a?pV[V[a?\xADc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16a;\xA2V[\x80a?\xC8a?\xC2a?\xBD_a.,V[a\x05_V[\x91a\x05_V[\x03aB\xA3Wc\xFF\xFF\xFF\xFF`\xE0\x1B_5\x16aB\x84V[_c\xD9.#=`\xE0\x1B\x81R\x80a?\xF5`\x04\x82\x01a\nlV[\x03\x90\xFD[a@\x14\x90_\x91\x82\x91c\"\xA2\xD0{`\xE2\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[a@!\x90a\x03\xF6V[\x90RV[\x91` a@F\x92\x94\x93a@?`@\x82\x01\x96_\x83\x01\x90a@\x18V[\x01\x90a\x13\xAFV[V[a@b_\x92\x83\x92c\x10\xAE\x11\xA9`\xE3\x1B\x84R`\x04\x84\x01a@%V[\x03\x90\xFD[\x90a@w`\x01\x80`\xA0\x1B\x03\x91a\x16,V[\x91\x81\x19\x16\x91\x16\x17\x90V[\x90a@\x96a@\x91a@\x9D\x92a\x06\tV[a?KV[\x82Ta@fV[\x90UV[a@\xB0a@\xB5\x92\x91`!a;\x8CV[a@\x81V[V[\x91` a@\xD8\x92\x94\x93a@\xD1`@\x82\x01\x96_\x83\x01\x90a\x13\xAFV[\x01\x90a\x07\xCBV[V[\x90a@\xEFa@\xE9\x83\x83\x90a&zV[\x15a\x04CV[a@\xF7WPPV[aA\x11_\x92\x83\x92c\xE2Q}?`\xE0\x1B\x84R`\x04\x84\x01a@\xB7V[\x03\x90\xFD[aA\x1Da%\xEAV[PaA8_aA2aA-a%\x15V[aB\xC1V[\x01a&#V[\x90V[\x90aAE\x82aB\xC4V[\x81aAp\x7F\xBC|\xD7Z \xEE'\xFD\x9A\xDE\xBA\xB3 A\xF7U!M\xBCk\xFF\xA9\x0C\xC0\"[9\xDA.\\-;\x91a\x06\tV[\x90aAya\x03\xE4V[\x80aA\x83\x81a\nlV[\x03\x90\xA2aA\x8F\x81a>\xB9V[aA\xA1aA\x9B_a \xEDV[\x91a\x07\xECV[\x11_\x14aA\xB5WaA\xB1\x91aC\x94V[P[V[PPaA\xBFaC\x19V[aA\xB3V[aA\xD5aA\xCFaC\xC3V[\x15a\x04CV[aA\xDBWV[_c\x1A\xFC\xD7\x9F`\xE3\x1B\x81R\x80aA\xF3`\x04\x82\x01a\nlV[\x03\x90\xFD[aA\xFFaA\xC4V[aB\x07aB\tV[V[aB\x1DaB\x14a;hV[_\x80\x91\x01a/\0V[V[aB'aA\xF7V[V[aB1aA\xC4V[aB9aBHV[V[aBE`\x01a\x1AvV[\x90V[aBcaBSaC\xE1V[_aB\\aB;V[\x91\x01a/UV[V[aBmaB)V[V[\x91\x90aB\x82\x90_` \x85\x01\x94\x01\x90a@\x18V[V[aB\x9F\x90_\x91\x82\x91c\xC2\xA8%\xF5`\xE0\x1B\x83R`\x04\x83\x01aBoV[\x03\x90\xFD[_\x80\x916\x82\x807\x816\x91Z\xF4=_\x80>_\x14aB\xBDW=_\xF3[=_\xFD[\x90V[\x80;aB\xD8aB\xD2_a \xEDV[\x91a\x07\xECV[\x14aB\xFAWaB\xF8\x90_aB\xF2aB\xEDa%\x15V[aB\xC1V[\x01a@\x81V[V[aC\x15\x90_\x91\x82\x91cL\x9C\x8C\xE3`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[4aC,aC&_a \xEDV[\x91a\x07\xECV[\x11aC3WV[_c\xB3\x98\x97\x9F`\xE0\x1B\x81R\x80aCK`\x04\x82\x01a\nlV[\x03\x90\xFD[``\x90V[\x90aCfaCa\x83a\x0E\xC0V[a\x0E\xABV[\x91\x82RV[=_\x14aC\x86WaC{=aCTV[\x90=_` \x84\x01>[V[aC\x8EaCOV[\x90aC\x84V[_\x80aC\xC0\x93aC\xA2aCOV[P\x83\x90` \x81\x01\x90Q\x91Z\xF4\x90aC\xB7aCkV[\x90\x91\x90\x91aD\x05V[\x90V[aC\xCBa mV[PaC\xDE_aC\xD8a=\xC5V[\x01a+\xCDV[\x90V[\x7F\x9Bw\x9B\x17B-\r\xF9\"#\x01\x8B2\xB4\xD1\xFAF\xE0qr=h\x17\xE2Hm\0;\xEC\xC5_\0\x90V[\x90aD\x19\x90aD\x12aCOV[P\x15a\x04CV[_\x14aD%WPaD\x89V[aD.\x82a>\xB9V[aD@aD:_a \xEDV[\x91a\x07\xECV[\x14\x80aDnW[aDOWP\x90V[aDj\x90_\x91\x82\x91c\x99\x96\xB3\x15`\xE0\x1B\x83R`\x04\x83\x01a\x13\xBCV[\x03\x90\xFD[P\x80;aD\x83aD}_a \xEDV[\x91a\x07\xECV[\x14aDGV[aD\x92\x81a>\xB9V[aD\xA4aD\x9E_a \xEDV[\x91a\x07\xECV[\x11_\x14aD\xB3W\x80Q\x90` \x01\xFD[_c\xD6\xBD\xA2u`\xE0\x1B\x81R\x80aD\xCB`\x04\x82\x01a\nlV[\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 `UPGRADER_ROLE()` and selector `0xf72c0d8b`.
```solidity
function UPGRADER_ROLE() external view returns (bytes32);
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UPGRADER_ROLECall;
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Default, Debug, PartialEq, Eq, Hash)]
///Container type for the return parameters of the [`UPGRADER_ROLE()`](UPGRADER_ROLECall) function.
#[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
#[derive(Clone)]
pub struct UPGRADER_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<UPGRADER_ROLECall> for UnderlyingRustTuple<'_> {
fn from(value: UPGRADER_ROLECall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for UPGRADER_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<UPGRADER_ROLEReturn> for UnderlyingRustTuple<'_> {
fn from(value: UPGRADER_ROLEReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for UPGRADER_ROLEReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for UPGRADER_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 = "UPGRADER_ROLE()";
const SELECTOR: [u8; 4] = [247u8, 44u8, 13u8, 139u8];
#[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: UPGRADER_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: UPGRADER_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)]
UPGRADER_ROLE(UPGRADER_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, 44u8, 13u8, 139u8],
[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!(UPGRADER_ROLE),
::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,
<UPGRADER_ROLECall 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 = 60usize;
#[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::UPGRADER_ROLE(_) => {
<UPGRADER_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 UPGRADER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<UPGRADER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
)
.map(MultiAssetDelegationCalls::UPGRADER_ROLE)
}
UPGRADER_ROLE
},
{
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 UPGRADER_ROLE(
data: &[u8],
) -> alloy_sol_types::Result<MultiAssetDelegationCalls> {
<UPGRADER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
data,
)
.map(MultiAssetDelegationCalls::UPGRADER_ROLE)
}
UPGRADER_ROLE
},
{
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::UPGRADER_ROLE(inner) => {
<UPGRADER_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::UPGRADER_ROLE(inner) => {
<UPGRADER_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 [`UPGRADER_ROLE`] function.
pub fn UPGRADER_ROLE(
&self,
) -> alloy_contract::SolCallBuilder<&P, UPGRADER_ROLECall, N> {
self.call_builder(&UPGRADER_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>()
}
}
}