pod_contracts/
deadline.rs

1/**
2
3Generated by the following Solidity interface...
4```solidity
5interface Deadline {}
6```
7
8...which was generated by the following JSON ABI:
9```json
10[]
11```*/
12#[allow(
13    non_camel_case_types,
14    non_snake_case,
15    clippy::pub_underscore_fields,
16    clippy::style,
17    clippy::empty_structs_with_brackets
18)]
19pub mod Deadline {
20    use super::*;
21    use alloy::sol_types as alloy_sol_types;
22    /// The creation / init bytecode of the contract.
23    ///
24    /// ```text
25    ///0x61024b610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bb4a6271461004557806385f3c36a1461006e575b600080fd5b81801561005157600080fd5b5061006c600480360381019061006791906101f4565b610097565b005b81801561007a57600080fd5b50610095600480360381019061009091906101f4565b610128565b005b7fd3e77021f6e45491cee4ca3334ef9c72d7557b72b384eca2bf1a57974d46ffde60001c73ffffffffffffffffffffffffffffffffffffffff16634bb4a627826040518263ffffffff1660e01b81526004016100f39190610230565b600060405180830381600087803b15801561010d57600080fd5b505af1158015610121573d6000803e3d6000fd5b5050505050565b7fd3e77021f6e45491cee4ca3334ef9c72d7557b72b384eca2bf1a57974d46ffde60001c73ffffffffffffffffffffffffffffffffffffffff166385f3c36a826040518263ffffffff1660e01b81526004016101849190610230565b600060405180830381600087803b15801561019e57600080fd5b505af11580156101b2573d6000803e3d6000fd5b5050505050565b600080fd5b6000819050919050565b6101d1816101be565b81146101dc57600080fd5b50565b6000813590506101ee816101c8565b92915050565b60006020828403121561020a576102096101b9565b5b6000610218848285016101df565b91505092915050565b61022a816101be565b82525050565b60006020820190506102456000830184610221565b9291505056
26    /// ```
27    #[rustfmt::skip]
28    #[allow(clippy::all)]
29    pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
30        b"a\x02Ka\0R`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`EW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\0@W`\x005`\xE0\x1C\x80cK\xB4\xA6'\x14a\0EW\x80c\x85\xF3\xC3j\x14a\0nW[`\0\x80\xFD[\x81\x80\x15a\0QW`\0\x80\xFD[Pa\0l`\x04\x806\x03\x81\x01\x90a\0g\x91\x90a\x01\xF4V[a\0\x97V[\0[\x81\x80\x15a\0zW`\0\x80\xFD[Pa\0\x95`\x04\x806\x03\x81\x01\x90a\0\x90\x91\x90a\x01\xF4V[a\x01(V[\0[\x7F\xD3\xE7p!\xF6\xE4T\x91\xCE\xE4\xCA34\xEF\x9Cr\xD7U{r\xB3\x84\xEC\xA2\xBF\x1AW\x97MF\xFF\xDE`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cK\xB4\xA6'\x82`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xF3\x91\x90a\x020V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\rW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01!W=`\0\x80>=`\0\xFD[PPPPPV[\x7F\xD3\xE7p!\xF6\xE4T\x91\xCE\xE4\xCA34\xEF\x9Cr\xD7U{r\xB3\x84\xEC\xA2\xBF\x1AW\x97MF\xFF\xDE`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x85\xF3\xC3j\x82`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x01\x84\x91\x90a\x020V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\x9EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xB2W=`\0\x80>=`\0\xFD[PPPPPV[`\0\x80\xFD[`\0\x81\x90P\x91\x90PV[a\x01\xD1\x81a\x01\xBEV[\x81\x14a\x01\xDCW`\0\x80\xFD[PV[`\0\x815\x90Pa\x01\xEE\x81a\x01\xC8V[\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x02\nWa\x02\ta\x01\xB9V[[`\0a\x02\x18\x84\x82\x85\x01a\x01\xDFV[\x91PP\x92\x91PPV[a\x02*\x81a\x01\xBEV[\x82RPPV[`\0` \x82\x01\x90Pa\x02E`\0\x83\x01\x84a\x02!V[\x92\x91PPV",
31    );
32    /// The runtime bytecode of the contract, as deployed on the network.
33    ///
34    /// ```text
35    ///0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634bb4a6271461004557806385f3c36a1461006e575b600080fd5b81801561005157600080fd5b5061006c600480360381019061006791906101f4565b610097565b005b81801561007a57600080fd5b50610095600480360381019061009091906101f4565b610128565b005b7fd3e77021f6e45491cee4ca3334ef9c72d7557b72b384eca2bf1a57974d46ffde60001c73ffffffffffffffffffffffffffffffffffffffff16634bb4a627826040518263ffffffff1660e01b81526004016100f39190610230565b600060405180830381600087803b15801561010d57600080fd5b505af1158015610121573d6000803e3d6000fd5b5050505050565b7fd3e77021f6e45491cee4ca3334ef9c72d7557b72b384eca2bf1a57974d46ffde60001c73ffffffffffffffffffffffffffffffffffffffff166385f3c36a826040518263ffffffff1660e01b81526004016101849190610230565b600060405180830381600087803b15801561019e57600080fd5b505af11580156101b2573d6000803e3d6000fd5b5050505050565b600080fd5b6000819050919050565b6101d1816101be565b81146101dc57600080fd5b50565b6000813590506101ee816101c8565b92915050565b60006020828403121561020a576102096101b9565b5b6000610218848285016101df565b91505092915050565b61022a816101be565b82525050565b60006020820190506102456000830184610221565b9291505056
36    /// ```
37    #[rustfmt::skip]
38    #[allow(clippy::all)]
39    pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
40        b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\0@W`\x005`\xE0\x1C\x80cK\xB4\xA6'\x14a\0EW\x80c\x85\xF3\xC3j\x14a\0nW[`\0\x80\xFD[\x81\x80\x15a\0QW`\0\x80\xFD[Pa\0l`\x04\x806\x03\x81\x01\x90a\0g\x91\x90a\x01\xF4V[a\0\x97V[\0[\x81\x80\x15a\0zW`\0\x80\xFD[Pa\0\x95`\x04\x806\x03\x81\x01\x90a\0\x90\x91\x90a\x01\xF4V[a\x01(V[\0[\x7F\xD3\xE7p!\xF6\xE4T\x91\xCE\xE4\xCA34\xEF\x9Cr\xD7U{r\xB3\x84\xEC\xA2\xBF\x1AW\x97MF\xFF\xDE`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cK\xB4\xA6'\x82`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xF3\x91\x90a\x020V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\rW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01!W=`\0\x80>=`\0\xFD[PPPPPV[\x7F\xD3\xE7p!\xF6\xE4T\x91\xCE\xE4\xCA34\xEF\x9Cr\xD7U{r\xB3\x84\xEC\xA2\xBF\x1AW\x97MF\xFF\xDE`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x85\xF3\xC3j\x82`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x01\x84\x91\x90a\x020V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\x9EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xB2W=`\0\x80>=`\0\xFD[PPPPPV[`\0\x80\xFD[`\0\x81\x90P\x91\x90PV[a\x01\xD1\x81a\x01\xBEV[\x81\x14a\x01\xDCW`\0\x80\xFD[PV[`\0\x815\x90Pa\x01\xEE\x81a\x01\xC8V[\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x02\nWa\x02\ta\x01\xB9V[[`\0a\x02\x18\x84\x82\x85\x01a\x01\xDFV[\x91PP\x92\x91PPV[a\x02*\x81a\x01\xBEV[\x82RPPV[`\0` \x82\x01\x90Pa\x02E`\0\x83\x01\x84a\x02!V[\x92\x91PPV",
41    );
42    use alloy::contract as alloy_contract;
43    /**Creates a new wrapper around an on-chain [`Deadline`](self) contract instance.
44
45See the [wrapper's documentation](`DeadlineInstance`) for more details.*/
46    #[inline]
47    pub const fn new<
48        T: alloy_contract::private::Transport + ::core::clone::Clone,
49        P: alloy_contract::private::Provider<T, N>,
50        N: alloy_contract::private::Network,
51    >(
52        address: alloy_sol_types::private::Address,
53        provider: P,
54    ) -> DeadlineInstance<T, P, N> {
55        DeadlineInstance::<T, P, N>::new(address, provider)
56    }
57    /**Deploys this contract using the given `provider` and constructor arguments, if any.
58
59Returns a new instance of the contract, if the deployment was successful.
60
61For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
62    #[inline]
63    pub fn deploy<
64        T: alloy_contract::private::Transport + ::core::clone::Clone,
65        P: alloy_contract::private::Provider<T, N>,
66        N: alloy_contract::private::Network,
67    >(
68        provider: P,
69    ) -> impl ::core::future::Future<
70        Output = alloy_contract::Result<DeadlineInstance<T, P, N>>,
71    > {
72        DeadlineInstance::<T, P, N>::deploy(provider)
73    }
74    /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
75and constructor arguments, if any.
76
77This is a simple wrapper around creating a `RawCallBuilder` with the data set to
78the bytecode concatenated with the constructor's ABI-encoded arguments.*/
79    #[inline]
80    pub fn deploy_builder<
81        T: alloy_contract::private::Transport + ::core::clone::Clone,
82        P: alloy_contract::private::Provider<T, N>,
83        N: alloy_contract::private::Network,
84    >(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
85        DeadlineInstance::<T, P, N>::deploy_builder(provider)
86    }
87    /**A [`Deadline`](self) instance.
88
89Contains type-safe methods for interacting with an on-chain instance of the
90[`Deadline`](self) contract located at a given `address`, using a given
91provider `P`.
92
93If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
94documentation on how to provide it), the `deploy` and `deploy_builder` methods can
95be used to deploy a new instance of the contract.
96
97See the [module-level documentation](self) for all the available methods.*/
98    #[derive(Clone)]
99    pub struct DeadlineInstance<T, P, N = alloy_contract::private::Ethereum> {
100        address: alloy_sol_types::private::Address,
101        provider: P,
102        _network_transport: ::core::marker::PhantomData<(N, T)>,
103    }
104    #[automatically_derived]
105    impl<T, P, N> ::core::fmt::Debug for DeadlineInstance<T, P, N> {
106        #[inline]
107        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
108            f.debug_tuple("DeadlineInstance").field(&self.address).finish()
109        }
110    }
111    /// Instantiation and getters/setters.
112    #[automatically_derived]
113    impl<
114        T: alloy_contract::private::Transport + ::core::clone::Clone,
115        P: alloy_contract::private::Provider<T, N>,
116        N: alloy_contract::private::Network,
117    > DeadlineInstance<T, P, N> {
118        /**Creates a new wrapper around an on-chain [`Deadline`](self) contract instance.
119
120See the [wrapper's documentation](`DeadlineInstance`) for more details.*/
121        #[inline]
122        pub const fn new(
123            address: alloy_sol_types::private::Address,
124            provider: P,
125        ) -> Self {
126            Self {
127                address,
128                provider,
129                _network_transport: ::core::marker::PhantomData,
130            }
131        }
132        /**Deploys this contract using the given `provider` and constructor arguments, if any.
133
134Returns a new instance of the contract, if the deployment was successful.
135
136For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
137        #[inline]
138        pub async fn deploy(
139            provider: P,
140        ) -> alloy_contract::Result<DeadlineInstance<T, P, N>> {
141            let call_builder = Self::deploy_builder(provider);
142            let contract_address = call_builder.deploy().await?;
143            Ok(Self::new(contract_address, call_builder.provider))
144        }
145        /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
146and constructor arguments, if any.
147
148This is a simple wrapper around creating a `RawCallBuilder` with the data set to
149the bytecode concatenated with the constructor's ABI-encoded arguments.*/
150        #[inline]
151        pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
152            alloy_contract::RawCallBuilder::new_raw_deploy(
153                provider,
154                ::core::clone::Clone::clone(&BYTECODE),
155            )
156        }
157        /// Returns a reference to the address.
158        #[inline]
159        pub const fn address(&self) -> &alloy_sol_types::private::Address {
160            &self.address
161        }
162        /// Sets the address.
163        #[inline]
164        pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
165            self.address = address;
166        }
167        /// Sets the address and returns `self`.
168        pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
169            self.set_address(address);
170            self
171        }
172        /// Returns a reference to the provider.
173        #[inline]
174        pub const fn provider(&self) -> &P {
175            &self.provider
176        }
177    }
178    impl<T, P: ::core::clone::Clone, N> DeadlineInstance<T, &P, N> {
179        /// Clones the provider and returns a new instance with the cloned provider.
180        #[inline]
181        pub fn with_cloned_provider(self) -> DeadlineInstance<T, P, N> {
182            DeadlineInstance {
183                address: self.address,
184                provider: ::core::clone::Clone::clone(&self.provider),
185                _network_transport: ::core::marker::PhantomData,
186            }
187        }
188    }
189    /// Function calls.
190    #[automatically_derived]
191    impl<
192        T: alloy_contract::private::Transport + ::core::clone::Clone,
193        P: alloy_contract::private::Provider<T, N>,
194        N: alloy_contract::private::Network,
195    > DeadlineInstance<T, P, N> {
196        /// Creates a new call builder using this contract instance's provider and address.
197        ///
198        /// Note that the call can be any function call, not just those defined in this
199        /// contract. Prefer using the other methods for building type-safe contract calls.
200        pub fn call_builder<C: alloy_sol_types::SolCall>(
201            &self,
202            call: &C,
203        ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
204            alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
205        }
206    }
207    /// Event filters.
208    #[automatically_derived]
209    impl<
210        T: alloy_contract::private::Transport + ::core::clone::Clone,
211        P: alloy_contract::private::Provider<T, N>,
212        N: alloy_contract::private::Network,
213    > DeadlineInstance<T, P, N> {
214        /// Creates a new event filter using this contract instance's provider and address.
215        ///
216        /// Note that the type can be any event, not just those defined in this contract.
217        /// Prefer using the other methods for building type-safe event filters.
218        pub fn event_filter<E: alloy_sol_types::SolEvent>(
219            &self,
220        ) -> alloy_contract::Event<T, &P, E, N> {
221            alloy_contract::Event::new_sol(&self.provider, &self.address)
222        }
223    }
224}