openzeppelin_rs/contracts/
ERC721Pausable.rs

1pub use erc721_pausable::*;
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 erc721_pausable {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ApprovalForAll\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Paused\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Unpaused\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"safeTransferFrom\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"safeTransferFrom\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setApprovalForAll\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[]}]";
15    ///The parsed JSON ABI of the contract.
16    pub static ERC721PAUSABLE_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    pub struct ERC721Pausable<M>(::ethers_contract::Contract<M>);
19    impl<M> ::core::clone::Clone for ERC721Pausable<M> {
20        fn clone(&self) -> Self {
21            Self(::core::clone::Clone::clone(&self.0))
22        }
23    }
24    impl<M> ::core::ops::Deref for ERC721Pausable<M> {
25        type Target = ::ethers_contract::Contract<M>;
26        fn deref(&self) -> &Self::Target {
27            &self.0
28        }
29    }
30    impl<M> ::core::ops::DerefMut for ERC721Pausable<M> {
31        fn deref_mut(&mut self) -> &mut Self::Target {
32            &mut self.0
33        }
34    }
35    impl<M> ::core::fmt::Debug for ERC721Pausable<M> {
36        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37            f.debug_tuple(stringify!(ERC721Pausable)).field(&self.address()).finish()
38        }
39    }
40    impl<M: ::ethers_providers::Middleware> ERC721Pausable<M> {
41        /// Creates a new contract instance with the specified `ethers` client at
42        /// `address`. The contract derefs to a `ethers::Contract` object.
43        pub fn new<T: Into<::ethers_core::types::Address>>(
44            address: T,
45            client: ::std::sync::Arc<M>,
46        ) -> Self {
47            Self(
48                ::ethers_contract::Contract::new(
49                    address.into(),
50                    ERC721PAUSABLE_ABI.clone(),
51                    client,
52                ),
53            )
54        }
55        ///Calls the contract's `approve` (0x095ea7b3) function
56        pub fn approve(
57            &self,
58            to: ::ethers_core::types::Address,
59            token_id: ::ethers_core::types::U256,
60        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
61            self.0
62                .method_hash([9, 94, 167, 179], (to, token_id))
63                .expect("method not found (this should never happen)")
64        }
65        ///Calls the contract's `balanceOf` (0x70a08231) function
66        pub fn balance_of(
67            &self,
68            owner: ::ethers_core::types::Address,
69        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
70            self.0
71                .method_hash([112, 160, 130, 49], owner)
72                .expect("method not found (this should never happen)")
73        }
74        ///Calls the contract's `getApproved` (0x081812fc) function
75        pub fn get_approved(
76            &self,
77            token_id: ::ethers_core::types::U256,
78        ) -> ::ethers_contract::builders::ContractCall<
79            M,
80            ::ethers_core::types::Address,
81        > {
82            self.0
83                .method_hash([8, 24, 18, 252], token_id)
84                .expect("method not found (this should never happen)")
85        }
86        ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function
87        pub fn is_approved_for_all(
88            &self,
89            owner: ::ethers_core::types::Address,
90            operator: ::ethers_core::types::Address,
91        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
92            self.0
93                .method_hash([233, 133, 233, 197], (owner, operator))
94                .expect("method not found (this should never happen)")
95        }
96        ///Calls the contract's `name` (0x06fdde03) function
97        pub fn name(
98            &self,
99        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
100            self.0
101                .method_hash([6, 253, 222, 3], ())
102                .expect("method not found (this should never happen)")
103        }
104        ///Calls the contract's `ownerOf` (0x6352211e) function
105        pub fn owner_of(
106            &self,
107            token_id: ::ethers_core::types::U256,
108        ) -> ::ethers_contract::builders::ContractCall<
109            M,
110            ::ethers_core::types::Address,
111        > {
112            self.0
113                .method_hash([99, 82, 33, 30], token_id)
114                .expect("method not found (this should never happen)")
115        }
116        ///Calls the contract's `paused` (0x5c975abb) function
117        pub fn paused(&self) -> ::ethers_contract::builders::ContractCall<M, bool> {
118            self.0
119                .method_hash([92, 151, 90, 187], ())
120                .expect("method not found (this should never happen)")
121        }
122        ///Calls the contract's `safeTransferFrom` (0x42842e0e) function
123        pub fn safe_transfer_from(
124            &self,
125            from: ::ethers_core::types::Address,
126            to: ::ethers_core::types::Address,
127            token_id: ::ethers_core::types::U256,
128        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
129            self.0
130                .method_hash([66, 132, 46, 14], (from, to, token_id))
131                .expect("method not found (this should never happen)")
132        }
133        ///Calls the contract's `safeTransferFrom` (0xb88d4fde) function
134        pub fn safe_transfer_from_with_from_and_to_and_data(
135            &self,
136            from: ::ethers_core::types::Address,
137            to: ::ethers_core::types::Address,
138            token_id: ::ethers_core::types::U256,
139            data: ::ethers_core::types::Bytes,
140        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
141            self.0
142                .method_hash([184, 141, 79, 222], (from, to, token_id, data))
143                .expect("method not found (this should never happen)")
144        }
145        ///Calls the contract's `setApprovalForAll` (0xa22cb465) function
146        pub fn set_approval_for_all(
147            &self,
148            operator: ::ethers_core::types::Address,
149            approved: bool,
150        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
151            self.0
152                .method_hash([162, 44, 180, 101], (operator, approved))
153                .expect("method not found (this should never happen)")
154        }
155        ///Calls the contract's `supportsInterface` (0x01ffc9a7) function
156        pub fn supports_interface(
157            &self,
158            interface_id: [u8; 4],
159        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
160            self.0
161                .method_hash([1, 255, 201, 167], interface_id)
162                .expect("method not found (this should never happen)")
163        }
164        ///Calls the contract's `symbol` (0x95d89b41) function
165        pub fn symbol(
166            &self,
167        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
168            self.0
169                .method_hash([149, 216, 155, 65], ())
170                .expect("method not found (this should never happen)")
171        }
172        ///Calls the contract's `tokenURI` (0xc87b56dd) function
173        pub fn token_uri(
174            &self,
175            token_id: ::ethers_core::types::U256,
176        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
177            self.0
178                .method_hash([200, 123, 86, 221], token_id)
179                .expect("method not found (this should never happen)")
180        }
181        ///Calls the contract's `transferFrom` (0x23b872dd) function
182        pub fn transfer_from(
183            &self,
184            from: ::ethers_core::types::Address,
185            to: ::ethers_core::types::Address,
186            token_id: ::ethers_core::types::U256,
187        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
188            self.0
189                .method_hash([35, 184, 114, 221], (from, to, token_id))
190                .expect("method not found (this should never happen)")
191        }
192        ///Gets the contract's `Approval` event
193        pub fn approval_filter(
194            &self,
195        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, ApprovalFilter> {
196            self.0.event()
197        }
198        ///Gets the contract's `ApprovalForAll` event
199        pub fn approval_for_all_filter(
200            &self,
201        ) -> ::ethers_contract::builders::Event<
202            ::std::sync::Arc<M>,
203            M,
204            ApprovalForAllFilter,
205        > {
206            self.0.event()
207        }
208        ///Gets the contract's `Paused` event
209        pub fn paused_filter(
210            &self,
211        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, PausedFilter> {
212            self.0.event()
213        }
214        ///Gets the contract's `Transfer` event
215        pub fn transfer_filter(
216            &self,
217        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, TransferFilter> {
218            self.0.event()
219        }
220        ///Gets the contract's `Unpaused` event
221        pub fn unpaused_filter(
222            &self,
223        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, UnpausedFilter> {
224            self.0.event()
225        }
226        /// Returns an `Event` builder for all the events of this contract.
227        pub fn events(
228            &self,
229        ) -> ::ethers_contract::builders::Event<
230            ::std::sync::Arc<M>,
231            M,
232            ERC721PausableEvents,
233        > {
234            self.0.event_with_filter(::core::default::Default::default())
235        }
236    }
237    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
238    for ERC721Pausable<M> {
239        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
240            Self::new(contract.address(), contract.client())
241        }
242    }
243    #[derive(
244        Clone,
245        ::ethers_contract::EthEvent,
246        ::ethers_contract::EthDisplay,
247        Default,
248        Debug,
249        PartialEq,
250        Eq,
251        Hash
252    )]
253    #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
254    pub struct ApprovalFilter {
255        #[ethevent(indexed)]
256        pub owner: ::ethers_core::types::Address,
257        #[ethevent(indexed)]
258        pub approved: ::ethers_core::types::Address,
259        #[ethevent(indexed)]
260        pub token_id: ::ethers_core::types::U256,
261    }
262    #[derive(
263        Clone,
264        ::ethers_contract::EthEvent,
265        ::ethers_contract::EthDisplay,
266        Default,
267        Debug,
268        PartialEq,
269        Eq,
270        Hash
271    )]
272    #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")]
273    pub struct ApprovalForAllFilter {
274        #[ethevent(indexed)]
275        pub owner: ::ethers_core::types::Address,
276        #[ethevent(indexed)]
277        pub operator: ::ethers_core::types::Address,
278        pub approved: bool,
279    }
280    #[derive(
281        Clone,
282        ::ethers_contract::EthEvent,
283        ::ethers_contract::EthDisplay,
284        Default,
285        Debug,
286        PartialEq,
287        Eq,
288        Hash
289    )]
290    #[ethevent(name = "Paused", abi = "Paused(address)")]
291    pub struct PausedFilter {
292        pub account: ::ethers_core::types::Address,
293    }
294    #[derive(
295        Clone,
296        ::ethers_contract::EthEvent,
297        ::ethers_contract::EthDisplay,
298        Default,
299        Debug,
300        PartialEq,
301        Eq,
302        Hash
303    )]
304    #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
305    pub struct TransferFilter {
306        #[ethevent(indexed)]
307        pub from: ::ethers_core::types::Address,
308        #[ethevent(indexed)]
309        pub to: ::ethers_core::types::Address,
310        #[ethevent(indexed)]
311        pub token_id: ::ethers_core::types::U256,
312    }
313    #[derive(
314        Clone,
315        ::ethers_contract::EthEvent,
316        ::ethers_contract::EthDisplay,
317        Default,
318        Debug,
319        PartialEq,
320        Eq,
321        Hash
322    )]
323    #[ethevent(name = "Unpaused", abi = "Unpaused(address)")]
324    pub struct UnpausedFilter {
325        pub account: ::ethers_core::types::Address,
326    }
327    ///Container type for all of the contract's events
328    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
329    pub enum ERC721PausableEvents {
330        ApprovalFilter(ApprovalFilter),
331        ApprovalForAllFilter(ApprovalForAllFilter),
332        PausedFilter(PausedFilter),
333        TransferFilter(TransferFilter),
334        UnpausedFilter(UnpausedFilter),
335    }
336    impl ::ethers_contract::EthLogDecode for ERC721PausableEvents {
337        fn decode_log(
338            log: &::ethers_core::abi::RawLog,
339        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
340            if let Ok(decoded) = ApprovalFilter::decode_log(log) {
341                return Ok(ERC721PausableEvents::ApprovalFilter(decoded));
342            }
343            if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) {
344                return Ok(ERC721PausableEvents::ApprovalForAllFilter(decoded));
345            }
346            if let Ok(decoded) = PausedFilter::decode_log(log) {
347                return Ok(ERC721PausableEvents::PausedFilter(decoded));
348            }
349            if let Ok(decoded) = TransferFilter::decode_log(log) {
350                return Ok(ERC721PausableEvents::TransferFilter(decoded));
351            }
352            if let Ok(decoded) = UnpausedFilter::decode_log(log) {
353                return Ok(ERC721PausableEvents::UnpausedFilter(decoded));
354            }
355            Err(::ethers_core::abi::Error::InvalidData)
356        }
357    }
358    impl ::core::fmt::Display for ERC721PausableEvents {
359        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
360            match self {
361                Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f),
362                Self::ApprovalForAllFilter(element) => {
363                    ::core::fmt::Display::fmt(element, f)
364                }
365                Self::PausedFilter(element) => ::core::fmt::Display::fmt(element, f),
366                Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f),
367                Self::UnpausedFilter(element) => ::core::fmt::Display::fmt(element, f),
368            }
369        }
370    }
371    impl ::core::convert::From<ApprovalFilter> for ERC721PausableEvents {
372        fn from(value: ApprovalFilter) -> Self {
373            Self::ApprovalFilter(value)
374        }
375    }
376    impl ::core::convert::From<ApprovalForAllFilter> for ERC721PausableEvents {
377        fn from(value: ApprovalForAllFilter) -> Self {
378            Self::ApprovalForAllFilter(value)
379        }
380    }
381    impl ::core::convert::From<PausedFilter> for ERC721PausableEvents {
382        fn from(value: PausedFilter) -> Self {
383            Self::PausedFilter(value)
384        }
385    }
386    impl ::core::convert::From<TransferFilter> for ERC721PausableEvents {
387        fn from(value: TransferFilter) -> Self {
388            Self::TransferFilter(value)
389        }
390    }
391    impl ::core::convert::From<UnpausedFilter> for ERC721PausableEvents {
392        fn from(value: UnpausedFilter) -> Self {
393            Self::UnpausedFilter(value)
394        }
395    }
396    ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3`
397    #[derive(
398        Clone,
399        ::ethers_contract::EthCall,
400        ::ethers_contract::EthDisplay,
401        Default,
402        Debug,
403        PartialEq,
404        Eq,
405        Hash
406    )]
407    #[ethcall(name = "approve", abi = "approve(address,uint256)")]
408    pub struct ApproveCall {
409        pub to: ::ethers_core::types::Address,
410        pub token_id: ::ethers_core::types::U256,
411    }
412    ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231`
413    #[derive(
414        Clone,
415        ::ethers_contract::EthCall,
416        ::ethers_contract::EthDisplay,
417        Default,
418        Debug,
419        PartialEq,
420        Eq,
421        Hash
422    )]
423    #[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
424    pub struct BalanceOfCall {
425        pub owner: ::ethers_core::types::Address,
426    }
427    ///Container type for all input parameters for the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc`
428    #[derive(
429        Clone,
430        ::ethers_contract::EthCall,
431        ::ethers_contract::EthDisplay,
432        Default,
433        Debug,
434        PartialEq,
435        Eq,
436        Hash
437    )]
438    #[ethcall(name = "getApproved", abi = "getApproved(uint256)")]
439    pub struct GetApprovedCall {
440        pub token_id: ::ethers_core::types::U256,
441    }
442    ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5`
443    #[derive(
444        Clone,
445        ::ethers_contract::EthCall,
446        ::ethers_contract::EthDisplay,
447        Default,
448        Debug,
449        PartialEq,
450        Eq,
451        Hash
452    )]
453    #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")]
454    pub struct IsApprovedForAllCall {
455        pub owner: ::ethers_core::types::Address,
456        pub operator: ::ethers_core::types::Address,
457    }
458    ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03`
459    #[derive(
460        Clone,
461        ::ethers_contract::EthCall,
462        ::ethers_contract::EthDisplay,
463        Default,
464        Debug,
465        PartialEq,
466        Eq,
467        Hash
468    )]
469    #[ethcall(name = "name", abi = "name()")]
470    pub struct NameCall;
471    ///Container type for all input parameters for the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e`
472    #[derive(
473        Clone,
474        ::ethers_contract::EthCall,
475        ::ethers_contract::EthDisplay,
476        Default,
477        Debug,
478        PartialEq,
479        Eq,
480        Hash
481    )]
482    #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")]
483    pub struct OwnerOfCall {
484        pub token_id: ::ethers_core::types::U256,
485    }
486    ///Container type for all input parameters for the `paused` function with signature `paused()` and selector `0x5c975abb`
487    #[derive(
488        Clone,
489        ::ethers_contract::EthCall,
490        ::ethers_contract::EthDisplay,
491        Default,
492        Debug,
493        PartialEq,
494        Eq,
495        Hash
496    )]
497    #[ethcall(name = "paused", abi = "paused()")]
498    pub struct PausedCall;
499    ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256)` and selector `0x42842e0e`
500    #[derive(
501        Clone,
502        ::ethers_contract::EthCall,
503        ::ethers_contract::EthDisplay,
504        Default,
505        Debug,
506        PartialEq,
507        Eq,
508        Hash
509    )]
510    #[ethcall(
511        name = "safeTransferFrom",
512        abi = "safeTransferFrom(address,address,uint256)"
513    )]
514    pub struct SafeTransferFromCall {
515        pub from: ::ethers_core::types::Address,
516        pub to: ::ethers_core::types::Address,
517        pub token_id: ::ethers_core::types::U256,
518    }
519    ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,bytes)` and selector `0xb88d4fde`
520    #[derive(
521        Clone,
522        ::ethers_contract::EthCall,
523        ::ethers_contract::EthDisplay,
524        Default,
525        Debug,
526        PartialEq,
527        Eq,
528        Hash
529    )]
530    #[ethcall(
531        name = "safeTransferFrom",
532        abi = "safeTransferFrom(address,address,uint256,bytes)"
533    )]
534    pub struct SafeTransferFromWithFromAndToAndDataCall {
535        pub from: ::ethers_core::types::Address,
536        pub to: ::ethers_core::types::Address,
537        pub token_id: ::ethers_core::types::U256,
538        pub data: ::ethers_core::types::Bytes,
539    }
540    ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465`
541    #[derive(
542        Clone,
543        ::ethers_contract::EthCall,
544        ::ethers_contract::EthDisplay,
545        Default,
546        Debug,
547        PartialEq,
548        Eq,
549        Hash
550    )]
551    #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")]
552    pub struct SetApprovalForAllCall {
553        pub operator: ::ethers_core::types::Address,
554        pub approved: bool,
555    }
556    ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
557    #[derive(
558        Clone,
559        ::ethers_contract::EthCall,
560        ::ethers_contract::EthDisplay,
561        Default,
562        Debug,
563        PartialEq,
564        Eq,
565        Hash
566    )]
567    #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
568    pub struct SupportsInterfaceCall {
569        pub interface_id: [u8; 4],
570    }
571    ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41`
572    #[derive(
573        Clone,
574        ::ethers_contract::EthCall,
575        ::ethers_contract::EthDisplay,
576        Default,
577        Debug,
578        PartialEq,
579        Eq,
580        Hash
581    )]
582    #[ethcall(name = "symbol", abi = "symbol()")]
583    pub struct SymbolCall;
584    ///Container type for all input parameters for the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd`
585    #[derive(
586        Clone,
587        ::ethers_contract::EthCall,
588        ::ethers_contract::EthDisplay,
589        Default,
590        Debug,
591        PartialEq,
592        Eq,
593        Hash
594    )]
595    #[ethcall(name = "tokenURI", abi = "tokenURI(uint256)")]
596    pub struct TokenURICall {
597        pub token_id: ::ethers_core::types::U256,
598    }
599    ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd`
600    #[derive(
601        Clone,
602        ::ethers_contract::EthCall,
603        ::ethers_contract::EthDisplay,
604        Default,
605        Debug,
606        PartialEq,
607        Eq,
608        Hash
609    )]
610    #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
611    pub struct TransferFromCall {
612        pub from: ::ethers_core::types::Address,
613        pub to: ::ethers_core::types::Address,
614        pub token_id: ::ethers_core::types::U256,
615    }
616    ///Container type for all of the contract's call
617    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
618    pub enum ERC721PausableCalls {
619        Approve(ApproveCall),
620        BalanceOf(BalanceOfCall),
621        GetApproved(GetApprovedCall),
622        IsApprovedForAll(IsApprovedForAllCall),
623        Name(NameCall),
624        OwnerOf(OwnerOfCall),
625        Paused(PausedCall),
626        SafeTransferFrom(SafeTransferFromCall),
627        SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall),
628        SetApprovalForAll(SetApprovalForAllCall),
629        SupportsInterface(SupportsInterfaceCall),
630        Symbol(SymbolCall),
631        TokenURI(TokenURICall),
632        TransferFrom(TransferFromCall),
633    }
634    impl ::ethers_core::abi::AbiDecode for ERC721PausableCalls {
635        fn decode(
636            data: impl AsRef<[u8]>,
637        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
638            let data = data.as_ref();
639            if let Ok(decoded)
640                = <ApproveCall as ::ethers_core::abi::AbiDecode>::decode(data) {
641                return Ok(Self::Approve(decoded));
642            }
643            if let Ok(decoded)
644                = <BalanceOfCall as ::ethers_core::abi::AbiDecode>::decode(data) {
645                return Ok(Self::BalanceOf(decoded));
646            }
647            if let Ok(decoded)
648                = <GetApprovedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
649                return Ok(Self::GetApproved(decoded));
650            }
651            if let Ok(decoded)
652                = <IsApprovedForAllCall as ::ethers_core::abi::AbiDecode>::decode(data) {
653                return Ok(Self::IsApprovedForAll(decoded));
654            }
655            if let Ok(decoded)
656                = <NameCall as ::ethers_core::abi::AbiDecode>::decode(data) {
657                return Ok(Self::Name(decoded));
658            }
659            if let Ok(decoded)
660                = <OwnerOfCall as ::ethers_core::abi::AbiDecode>::decode(data) {
661                return Ok(Self::OwnerOf(decoded));
662            }
663            if let Ok(decoded)
664                = <PausedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
665                return Ok(Self::Paused(decoded));
666            }
667            if let Ok(decoded)
668                = <SafeTransferFromCall as ::ethers_core::abi::AbiDecode>::decode(data) {
669                return Ok(Self::SafeTransferFrom(decoded));
670            }
671            if let Ok(decoded)
672                = <SafeTransferFromWithFromAndToAndDataCall as ::ethers_core::abi::AbiDecode>::decode(
673                    data,
674                ) {
675                return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded));
676            }
677            if let Ok(decoded)
678                = <SetApprovalForAllCall as ::ethers_core::abi::AbiDecode>::decode(
679                    data,
680                ) {
681                return Ok(Self::SetApprovalForAll(decoded));
682            }
683            if let Ok(decoded)
684                = <SupportsInterfaceCall as ::ethers_core::abi::AbiDecode>::decode(
685                    data,
686                ) {
687                return Ok(Self::SupportsInterface(decoded));
688            }
689            if let Ok(decoded)
690                = <SymbolCall as ::ethers_core::abi::AbiDecode>::decode(data) {
691                return Ok(Self::Symbol(decoded));
692            }
693            if let Ok(decoded)
694                = <TokenURICall as ::ethers_core::abi::AbiDecode>::decode(data) {
695                return Ok(Self::TokenURI(decoded));
696            }
697            if let Ok(decoded)
698                = <TransferFromCall as ::ethers_core::abi::AbiDecode>::decode(data) {
699                return Ok(Self::TransferFrom(decoded));
700            }
701            Err(::ethers_core::abi::Error::InvalidData.into())
702        }
703    }
704    impl ::ethers_core::abi::AbiEncode for ERC721PausableCalls {
705        fn encode(self) -> Vec<u8> {
706            match self {
707                Self::Approve(element) => ::ethers_core::abi::AbiEncode::encode(element),
708                Self::BalanceOf(element) => {
709                    ::ethers_core::abi::AbiEncode::encode(element)
710                }
711                Self::GetApproved(element) => {
712                    ::ethers_core::abi::AbiEncode::encode(element)
713                }
714                Self::IsApprovedForAll(element) => {
715                    ::ethers_core::abi::AbiEncode::encode(element)
716                }
717                Self::Name(element) => ::ethers_core::abi::AbiEncode::encode(element),
718                Self::OwnerOf(element) => ::ethers_core::abi::AbiEncode::encode(element),
719                Self::Paused(element) => ::ethers_core::abi::AbiEncode::encode(element),
720                Self::SafeTransferFrom(element) => {
721                    ::ethers_core::abi::AbiEncode::encode(element)
722                }
723                Self::SafeTransferFromWithFromAndToAndData(element) => {
724                    ::ethers_core::abi::AbiEncode::encode(element)
725                }
726                Self::SetApprovalForAll(element) => {
727                    ::ethers_core::abi::AbiEncode::encode(element)
728                }
729                Self::SupportsInterface(element) => {
730                    ::ethers_core::abi::AbiEncode::encode(element)
731                }
732                Self::Symbol(element) => ::ethers_core::abi::AbiEncode::encode(element),
733                Self::TokenURI(element) => ::ethers_core::abi::AbiEncode::encode(element),
734                Self::TransferFrom(element) => {
735                    ::ethers_core::abi::AbiEncode::encode(element)
736                }
737            }
738        }
739    }
740    impl ::core::fmt::Display for ERC721PausableCalls {
741        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
742            match self {
743                Self::Approve(element) => ::core::fmt::Display::fmt(element, f),
744                Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f),
745                Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f),
746                Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f),
747                Self::Name(element) => ::core::fmt::Display::fmt(element, f),
748                Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f),
749                Self::Paused(element) => ::core::fmt::Display::fmt(element, f),
750                Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f),
751                Self::SafeTransferFromWithFromAndToAndData(element) => {
752                    ::core::fmt::Display::fmt(element, f)
753                }
754                Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f),
755                Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
756                Self::Symbol(element) => ::core::fmt::Display::fmt(element, f),
757                Self::TokenURI(element) => ::core::fmt::Display::fmt(element, f),
758                Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f),
759            }
760        }
761    }
762    impl ::core::convert::From<ApproveCall> for ERC721PausableCalls {
763        fn from(value: ApproveCall) -> Self {
764            Self::Approve(value)
765        }
766    }
767    impl ::core::convert::From<BalanceOfCall> for ERC721PausableCalls {
768        fn from(value: BalanceOfCall) -> Self {
769            Self::BalanceOf(value)
770        }
771    }
772    impl ::core::convert::From<GetApprovedCall> for ERC721PausableCalls {
773        fn from(value: GetApprovedCall) -> Self {
774            Self::GetApproved(value)
775        }
776    }
777    impl ::core::convert::From<IsApprovedForAllCall> for ERC721PausableCalls {
778        fn from(value: IsApprovedForAllCall) -> Self {
779            Self::IsApprovedForAll(value)
780        }
781    }
782    impl ::core::convert::From<NameCall> for ERC721PausableCalls {
783        fn from(value: NameCall) -> Self {
784            Self::Name(value)
785        }
786    }
787    impl ::core::convert::From<OwnerOfCall> for ERC721PausableCalls {
788        fn from(value: OwnerOfCall) -> Self {
789            Self::OwnerOf(value)
790        }
791    }
792    impl ::core::convert::From<PausedCall> for ERC721PausableCalls {
793        fn from(value: PausedCall) -> Self {
794            Self::Paused(value)
795        }
796    }
797    impl ::core::convert::From<SafeTransferFromCall> for ERC721PausableCalls {
798        fn from(value: SafeTransferFromCall) -> Self {
799            Self::SafeTransferFrom(value)
800        }
801    }
802    impl ::core::convert::From<SafeTransferFromWithFromAndToAndDataCall>
803    for ERC721PausableCalls {
804        fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self {
805            Self::SafeTransferFromWithFromAndToAndData(value)
806        }
807    }
808    impl ::core::convert::From<SetApprovalForAllCall> for ERC721PausableCalls {
809        fn from(value: SetApprovalForAllCall) -> Self {
810            Self::SetApprovalForAll(value)
811        }
812    }
813    impl ::core::convert::From<SupportsInterfaceCall> for ERC721PausableCalls {
814        fn from(value: SupportsInterfaceCall) -> Self {
815            Self::SupportsInterface(value)
816        }
817    }
818    impl ::core::convert::From<SymbolCall> for ERC721PausableCalls {
819        fn from(value: SymbolCall) -> Self {
820            Self::Symbol(value)
821        }
822    }
823    impl ::core::convert::From<TokenURICall> for ERC721PausableCalls {
824        fn from(value: TokenURICall) -> Self {
825            Self::TokenURI(value)
826        }
827    }
828    impl ::core::convert::From<TransferFromCall> for ERC721PausableCalls {
829        fn from(value: TransferFromCall) -> Self {
830            Self::TransferFrom(value)
831        }
832    }
833    ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231`
834    #[derive(
835        Clone,
836        ::ethers_contract::EthAbiType,
837        ::ethers_contract::EthAbiCodec,
838        Default,
839        Debug,
840        PartialEq,
841        Eq,
842        Hash
843    )]
844    pub struct BalanceOfReturn(pub ::ethers_core::types::U256);
845    ///Container type for all return fields from the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc`
846    #[derive(
847        Clone,
848        ::ethers_contract::EthAbiType,
849        ::ethers_contract::EthAbiCodec,
850        Default,
851        Debug,
852        PartialEq,
853        Eq,
854        Hash
855    )]
856    pub struct GetApprovedReturn(pub ::ethers_core::types::Address);
857    ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5`
858    #[derive(
859        Clone,
860        ::ethers_contract::EthAbiType,
861        ::ethers_contract::EthAbiCodec,
862        Default,
863        Debug,
864        PartialEq,
865        Eq,
866        Hash
867    )]
868    pub struct IsApprovedForAllReturn(pub bool);
869    ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03`
870    #[derive(
871        Clone,
872        ::ethers_contract::EthAbiType,
873        ::ethers_contract::EthAbiCodec,
874        Default,
875        Debug,
876        PartialEq,
877        Eq,
878        Hash
879    )]
880    pub struct NameReturn(pub ::std::string::String);
881    ///Container type for all return fields from the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e`
882    #[derive(
883        Clone,
884        ::ethers_contract::EthAbiType,
885        ::ethers_contract::EthAbiCodec,
886        Default,
887        Debug,
888        PartialEq,
889        Eq,
890        Hash
891    )]
892    pub struct OwnerOfReturn(pub ::ethers_core::types::Address);
893    ///Container type for all return fields from the `paused` function with signature `paused()` and selector `0x5c975abb`
894    #[derive(
895        Clone,
896        ::ethers_contract::EthAbiType,
897        ::ethers_contract::EthAbiCodec,
898        Default,
899        Debug,
900        PartialEq,
901        Eq,
902        Hash
903    )]
904    pub struct PausedReturn(pub bool);
905    ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
906    #[derive(
907        Clone,
908        ::ethers_contract::EthAbiType,
909        ::ethers_contract::EthAbiCodec,
910        Default,
911        Debug,
912        PartialEq,
913        Eq,
914        Hash
915    )]
916    pub struct SupportsInterfaceReturn(pub bool);
917    ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41`
918    #[derive(
919        Clone,
920        ::ethers_contract::EthAbiType,
921        ::ethers_contract::EthAbiCodec,
922        Default,
923        Debug,
924        PartialEq,
925        Eq,
926        Hash
927    )]
928    pub struct SymbolReturn(pub ::std::string::String);
929    ///Container type for all return fields from the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd`
930    #[derive(
931        Clone,
932        ::ethers_contract::EthAbiType,
933        ::ethers_contract::EthAbiCodec,
934        Default,
935        Debug,
936        PartialEq,
937        Eq,
938        Hash
939    )]
940    pub struct TokenURIReturn(pub ::std::string::String);
941}