openzeppelin_rs/contracts/
ERC165Checker.rs

1pub use erc165_checker::*;
2/// This module was auto-generated with ethers-rs Abigen.
3/// More information at: <https://github.com/gakonst/ethers-rs>
4#[allow(
5    clippy::enum_variant_names,
6    clippy::too_many_arguments,
7    clippy::upper_case_acronyms,
8    clippy::type_complexity,
9    dead_code,
10    non_camel_case_types,
11)]
12pub mod erc165_checker {
13    #[rustfmt::skip]
14    const __ABI: &str = "[]";
15    ///The parsed JSON ABI of the contract.
16    pub static ERC165CHECKER_ABI: ::ethers_contract::Lazy<::ethers_core::abi::Abi> = ::ethers_contract::Lazy::new(||
17    ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid"));
18    #[rustfmt::skip]
19    const __BYTECODE: &[u8] = &[
20        96,
21        86,
22        96,
23        55,
24        96,
25        11,
26        130,
27        130,
28        130,
29        57,
30        128,
31        81,
32        96,
33        0,
34        26,
35        96,
36        115,
37        20,
38        96,
39        42,
40        87,
41        99,
42        78,
43        72,
44        123,
45        113,
46        96,
47        224,
48        27,
49        96,
50        0,
51        82,
52        96,
53        0,
54        96,
55        4,
56        82,
57        96,
58        36,
59        96,
60        0,
61        253,
62        91,
63        48,
64        96,
65        0,
66        82,
67        96,
68        115,
69        129,
70        83,
71        130,
72        129,
73        243,
74        254,
75        115,
76        0,
77        0,
78        0,
79        0,
80        0,
81        0,
82        0,
83        0,
84        0,
85        0,
86        0,
87        0,
88        0,
89        0,
90        0,
91        0,
92        0,
93        0,
94        0,
95        0,
96        48,
97        20,
98        96,
99        128,
100        96,
101        64,
102        82,
103        96,
104        0,
105        128,
106        253,
107        254,
108        162,
109        100,
110        105,
111        112,
112        102,
113        115,
114        88,
115        34,
116        18,
117        32,
118        230,
119        205,
120        72,
121        138,
122        149,
123        235,
124        198,
125        62,
126        0,
127        34,
128        221,
129        151,
130        95,
131        220,
132        33,
133        140,
134        227,
135        183,
136        192,
137        78,
138        129,
139        0,
140        228,
141        29,
142        89,
143        82,
144        153,
145        159,
146        32,
147        203,
148        41,
149        225,
150        100,
151        115,
152        111,
153        108,
154        99,
155        67,
156        0,
157        8,
158        13,
159        0,
160        51,
161    ];
162    ///The bytecode of the contract.
163    pub static ERC165CHECKER_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
164        __BYTECODE,
165    );
166    #[rustfmt::skip]
167    const __DEPLOYED_BYTECODE: &[u8] = &[
168        115,
169        0,
170        0,
171        0,
172        0,
173        0,
174        0,
175        0,
176        0,
177        0,
178        0,
179        0,
180        0,
181        0,
182        0,
183        0,
184        0,
185        0,
186        0,
187        0,
188        0,
189        48,
190        20,
191        96,
192        128,
193        96,
194        64,
195        82,
196        96,
197        0,
198        128,
199        253,
200        254,
201        162,
202        100,
203        105,
204        112,
205        102,
206        115,
207        88,
208        34,
209        18,
210        32,
211        230,
212        205,
213        72,
214        138,
215        149,
216        235,
217        198,
218        62,
219        0,
220        34,
221        221,
222        151,
223        95,
224        220,
225        33,
226        140,
227        227,
228        183,
229        192,
230        78,
231        129,
232        0,
233        228,
234        29,
235        89,
236        82,
237        153,
238        159,
239        32,
240        203,
241        41,
242        225,
243        100,
244        115,
245        111,
246        108,
247        99,
248        67,
249        0,
250        8,
251        13,
252        0,
253        51,
254    ];
255    ///The deployed bytecode of the contract.
256    pub static ERC165CHECKER_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257        __DEPLOYED_BYTECODE,
258    );
259    pub struct ERC165Checker<M>(::ethers_contract::Contract<M>);
260    impl<M> ::core::clone::Clone for ERC165Checker<M> {
261        fn clone(&self) -> Self {
262            Self(::core::clone::Clone::clone(&self.0))
263        }
264    }
265    impl<M> ::core::ops::Deref for ERC165Checker<M> {
266        type Target = ::ethers_contract::Contract<M>;
267        fn deref(&self) -> &Self::Target {
268            &self.0
269        }
270    }
271    impl<M> ::core::ops::DerefMut for ERC165Checker<M> {
272        fn deref_mut(&mut self) -> &mut Self::Target {
273            &mut self.0
274        }
275    }
276    impl<M> ::core::fmt::Debug for ERC165Checker<M> {
277        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278            f.debug_tuple(stringify!(ERC165Checker)).field(&self.address()).finish()
279        }
280    }
281    impl<M: ::ethers_providers::Middleware> ERC165Checker<M> {
282        /// Creates a new contract instance with the specified `ethers` client at
283        /// `address`. The contract derefs to a `ethers::Contract` object.
284        pub fn new<T: Into<::ethers_core::types::Address>>(
285            address: T,
286            client: ::std::sync::Arc<M>,
287        ) -> Self {
288            Self(
289                ::ethers_contract::Contract::new(
290                    address.into(),
291                    ERC165CHECKER_ABI.clone(),
292                    client,
293                ),
294            )
295        }
296        /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
297        /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
298        ///
299        /// Notes:
300        /// - If there are no constructor arguments, you should pass `()` as the argument.
301        /// - The default poll duration is 7 seconds.
302        /// - The default number of confirmations is 1 block.
303        ///
304        ///
305        /// # Example
306        ///
307        /// Generate contract bindings with `abigen!` and deploy a new contract instance.
308        ///
309        /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact.
310        ///
311        /// ```ignore
312        /// # async fn deploy<M: ethers::providers::Middleware>(client: ::std::sync::Arc<M>) {
313        ///     abigen!(Greeter, "../greeter.json");
314        ///
315        ///    let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap();
316        ///    let msg = greeter_contract.greet().call().await.unwrap();
317        /// # }
318        /// ```
319        pub fn deploy<T: ::ethers_core::abi::Tokenize>(
320            client: ::std::sync::Arc<M>,
321            constructor_args: T,
322        ) -> ::core::result::Result<
323            ::ethers_contract::builders::ContractDeployer<M, Self>,
324            ::ethers_contract::ContractError<M>,
325        > {
326            let factory = ::ethers_contract::ContractFactory::new(
327                ERC165CHECKER_ABI.clone(),
328                ERC165CHECKER_BYTECODE.clone().into(),
329                client,
330            );
331            let deployer = factory.deploy(constructor_args)?;
332            let deployer = ::ethers_contract::ContractDeployer::new(deployer);
333            Ok(deployer)
334        }
335    }
336    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
337    for ERC165Checker<M> {
338        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339            Self::new(contract.address(), contract.client())
340        }
341    }
342}