openzeppelin_rs/contracts/
ERC1155Pausable.rs

1pub use erc1155_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 erc1155_pausable {
13    #[rustfmt::skip]
14    const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"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\":\"operator\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"TransferBatch\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"TransferSingle\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"URI\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Unpaused\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"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\":\"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\":\"ids\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"safeBatchTransferFrom\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]}]";
15    ///The parsed JSON ABI of the contract.
16    pub static ERC1155PAUSABLE_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 ERC1155Pausable<M>(::ethers_contract::Contract<M>);
19    impl<M> ::core::clone::Clone for ERC1155Pausable<M> {
20        fn clone(&self) -> Self {
21            Self(::core::clone::Clone::clone(&self.0))
22        }
23    }
24    impl<M> ::core::ops::Deref for ERC1155Pausable<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 ERC1155Pausable<M> {
31        fn deref_mut(&mut self) -> &mut Self::Target {
32            &mut self.0
33        }
34    }
35    impl<M> ::core::fmt::Debug for ERC1155Pausable<M> {
36        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37            f.debug_tuple(stringify!(ERC1155Pausable)).field(&self.address()).finish()
38        }
39    }
40    impl<M: ::ethers_providers::Middleware> ERC1155Pausable<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                    ERC1155PAUSABLE_ABI.clone(),
51                    client,
52                ),
53            )
54        }
55        ///Calls the contract's `balanceOf` (0x00fdd58e) function
56        pub fn balance_of(
57            &self,
58            account: ::ethers_core::types::Address,
59            id: ::ethers_core::types::U256,
60        ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
61            self.0
62                .method_hash([0, 253, 213, 142], (account, id))
63                .expect("method not found (this should never happen)")
64        }
65        ///Calls the contract's `balanceOfBatch` (0x4e1273f4) function
66        pub fn balance_of_batch(
67            &self,
68            accounts: ::std::vec::Vec<::ethers_core::types::Address>,
69            ids: ::std::vec::Vec<::ethers_core::types::U256>,
70        ) -> ::ethers_contract::builders::ContractCall<
71            M,
72            ::std::vec::Vec<::ethers_core::types::U256>,
73        > {
74            self.0
75                .method_hash([78, 18, 115, 244], (accounts, ids))
76                .expect("method not found (this should never happen)")
77        }
78        ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function
79        pub fn is_approved_for_all(
80            &self,
81            account: ::ethers_core::types::Address,
82            operator: ::ethers_core::types::Address,
83        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
84            self.0
85                .method_hash([233, 133, 233, 197], (account, operator))
86                .expect("method not found (this should never happen)")
87        }
88        ///Calls the contract's `paused` (0x5c975abb) function
89        pub fn paused(&self) -> ::ethers_contract::builders::ContractCall<M, bool> {
90            self.0
91                .method_hash([92, 151, 90, 187], ())
92                .expect("method not found (this should never happen)")
93        }
94        ///Calls the contract's `safeBatchTransferFrom` (0x2eb2c2d6) function
95        pub fn safe_batch_transfer_from(
96            &self,
97            from: ::ethers_core::types::Address,
98            to: ::ethers_core::types::Address,
99            ids: ::std::vec::Vec<::ethers_core::types::U256>,
100            amounts: ::std::vec::Vec<::ethers_core::types::U256>,
101            data: ::ethers_core::types::Bytes,
102        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
103            self.0
104                .method_hash([46, 178, 194, 214], (from, to, ids, amounts, data))
105                .expect("method not found (this should never happen)")
106        }
107        ///Calls the contract's `safeTransferFrom` (0xf242432a) function
108        pub fn safe_transfer_from(
109            &self,
110            from: ::ethers_core::types::Address,
111            to: ::ethers_core::types::Address,
112            id: ::ethers_core::types::U256,
113            amount: ::ethers_core::types::U256,
114            data: ::ethers_core::types::Bytes,
115        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
116            self.0
117                .method_hash([242, 66, 67, 42], (from, to, id, amount, data))
118                .expect("method not found (this should never happen)")
119        }
120        ///Calls the contract's `setApprovalForAll` (0xa22cb465) function
121        pub fn set_approval_for_all(
122            &self,
123            operator: ::ethers_core::types::Address,
124            approved: bool,
125        ) -> ::ethers_contract::builders::ContractCall<M, ()> {
126            self.0
127                .method_hash([162, 44, 180, 101], (operator, approved))
128                .expect("method not found (this should never happen)")
129        }
130        ///Calls the contract's `supportsInterface` (0x01ffc9a7) function
131        pub fn supports_interface(
132            &self,
133            interface_id: [u8; 4],
134        ) -> ::ethers_contract::builders::ContractCall<M, bool> {
135            self.0
136                .method_hash([1, 255, 201, 167], interface_id)
137                .expect("method not found (this should never happen)")
138        }
139        ///Calls the contract's `uri` (0x0e89341c) function
140        pub fn uri(
141            &self,
142            p0: ::ethers_core::types::U256,
143        ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
144            self.0
145                .method_hash([14, 137, 52, 28], p0)
146                .expect("method not found (this should never happen)")
147        }
148        ///Gets the contract's `ApprovalForAll` event
149        pub fn approval_for_all_filter(
150            &self,
151        ) -> ::ethers_contract::builders::Event<
152            ::std::sync::Arc<M>,
153            M,
154            ApprovalForAllFilter,
155        > {
156            self.0.event()
157        }
158        ///Gets the contract's `Paused` event
159        pub fn paused_filter(
160            &self,
161        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, PausedFilter> {
162            self.0.event()
163        }
164        ///Gets the contract's `TransferBatch` event
165        pub fn transfer_batch_filter(
166            &self,
167        ) -> ::ethers_contract::builders::Event<
168            ::std::sync::Arc<M>,
169            M,
170            TransferBatchFilter,
171        > {
172            self.0.event()
173        }
174        ///Gets the contract's `TransferSingle` event
175        pub fn transfer_single_filter(
176            &self,
177        ) -> ::ethers_contract::builders::Event<
178            ::std::sync::Arc<M>,
179            M,
180            TransferSingleFilter,
181        > {
182            self.0.event()
183        }
184        ///Gets the contract's `URI` event
185        pub fn uri_filter(
186            &self,
187        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, UriFilter> {
188            self.0.event()
189        }
190        ///Gets the contract's `Unpaused` event
191        pub fn unpaused_filter(
192            &self,
193        ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, UnpausedFilter> {
194            self.0.event()
195        }
196        /// Returns an `Event` builder for all the events of this contract.
197        pub fn events(
198            &self,
199        ) -> ::ethers_contract::builders::Event<
200            ::std::sync::Arc<M>,
201            M,
202            ERC1155PausableEvents,
203        > {
204            self.0.event_with_filter(::core::default::Default::default())
205        }
206    }
207    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
208    for ERC1155Pausable<M> {
209        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
210            Self::new(contract.address(), contract.client())
211        }
212    }
213    #[derive(
214        Clone,
215        ::ethers_contract::EthEvent,
216        ::ethers_contract::EthDisplay,
217        Default,
218        Debug,
219        PartialEq,
220        Eq,
221        Hash
222    )]
223    #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")]
224    pub struct ApprovalForAllFilter {
225        #[ethevent(indexed)]
226        pub account: ::ethers_core::types::Address,
227        #[ethevent(indexed)]
228        pub operator: ::ethers_core::types::Address,
229        pub approved: bool,
230    }
231    #[derive(
232        Clone,
233        ::ethers_contract::EthEvent,
234        ::ethers_contract::EthDisplay,
235        Default,
236        Debug,
237        PartialEq,
238        Eq,
239        Hash
240    )]
241    #[ethevent(name = "Paused", abi = "Paused(address)")]
242    pub struct PausedFilter {
243        pub account: ::ethers_core::types::Address,
244    }
245    #[derive(
246        Clone,
247        ::ethers_contract::EthEvent,
248        ::ethers_contract::EthDisplay,
249        Default,
250        Debug,
251        PartialEq,
252        Eq,
253        Hash
254    )]
255    #[ethevent(
256        name = "TransferBatch",
257        abi = "TransferBatch(address,address,address,uint256[],uint256[])"
258    )]
259    pub struct TransferBatchFilter {
260        #[ethevent(indexed)]
261        pub operator: ::ethers_core::types::Address,
262        #[ethevent(indexed)]
263        pub from: ::ethers_core::types::Address,
264        #[ethevent(indexed)]
265        pub to: ::ethers_core::types::Address,
266        pub ids: ::std::vec::Vec<::ethers_core::types::U256>,
267        pub values: ::std::vec::Vec<::ethers_core::types::U256>,
268    }
269    #[derive(
270        Clone,
271        ::ethers_contract::EthEvent,
272        ::ethers_contract::EthDisplay,
273        Default,
274        Debug,
275        PartialEq,
276        Eq,
277        Hash
278    )]
279    #[ethevent(
280        name = "TransferSingle",
281        abi = "TransferSingle(address,address,address,uint256,uint256)"
282    )]
283    pub struct TransferSingleFilter {
284        #[ethevent(indexed)]
285        pub operator: ::ethers_core::types::Address,
286        #[ethevent(indexed)]
287        pub from: ::ethers_core::types::Address,
288        #[ethevent(indexed)]
289        pub to: ::ethers_core::types::Address,
290        pub id: ::ethers_core::types::U256,
291        pub value: ::ethers_core::types::U256,
292    }
293    #[derive(
294        Clone,
295        ::ethers_contract::EthEvent,
296        ::ethers_contract::EthDisplay,
297        Default,
298        Debug,
299        PartialEq,
300        Eq,
301        Hash
302    )]
303    #[ethevent(name = "URI", abi = "URI(string,uint256)")]
304    pub struct UriFilter {
305        pub value: ::std::string::String,
306        #[ethevent(indexed)]
307        pub id: ::ethers_core::types::U256,
308    }
309    #[derive(
310        Clone,
311        ::ethers_contract::EthEvent,
312        ::ethers_contract::EthDisplay,
313        Default,
314        Debug,
315        PartialEq,
316        Eq,
317        Hash
318    )]
319    #[ethevent(name = "Unpaused", abi = "Unpaused(address)")]
320    pub struct UnpausedFilter {
321        pub account: ::ethers_core::types::Address,
322    }
323    ///Container type for all of the contract's events
324    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
325    pub enum ERC1155PausableEvents {
326        ApprovalForAllFilter(ApprovalForAllFilter),
327        PausedFilter(PausedFilter),
328        TransferBatchFilter(TransferBatchFilter),
329        TransferSingleFilter(TransferSingleFilter),
330        UriFilter(UriFilter),
331        UnpausedFilter(UnpausedFilter),
332    }
333    impl ::ethers_contract::EthLogDecode for ERC1155PausableEvents {
334        fn decode_log(
335            log: &::ethers_core::abi::RawLog,
336        ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
337            if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) {
338                return Ok(ERC1155PausableEvents::ApprovalForAllFilter(decoded));
339            }
340            if let Ok(decoded) = PausedFilter::decode_log(log) {
341                return Ok(ERC1155PausableEvents::PausedFilter(decoded));
342            }
343            if let Ok(decoded) = TransferBatchFilter::decode_log(log) {
344                return Ok(ERC1155PausableEvents::TransferBatchFilter(decoded));
345            }
346            if let Ok(decoded) = TransferSingleFilter::decode_log(log) {
347                return Ok(ERC1155PausableEvents::TransferSingleFilter(decoded));
348            }
349            if let Ok(decoded) = UriFilter::decode_log(log) {
350                return Ok(ERC1155PausableEvents::UriFilter(decoded));
351            }
352            if let Ok(decoded) = UnpausedFilter::decode_log(log) {
353                return Ok(ERC1155PausableEvents::UnpausedFilter(decoded));
354            }
355            Err(::ethers_core::abi::Error::InvalidData)
356        }
357    }
358    impl ::core::fmt::Display for ERC1155PausableEvents {
359        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
360            match self {
361                Self::ApprovalForAllFilter(element) => {
362                    ::core::fmt::Display::fmt(element, f)
363                }
364                Self::PausedFilter(element) => ::core::fmt::Display::fmt(element, f),
365                Self::TransferBatchFilter(element) => {
366                    ::core::fmt::Display::fmt(element, f)
367                }
368                Self::TransferSingleFilter(element) => {
369                    ::core::fmt::Display::fmt(element, f)
370                }
371                Self::UriFilter(element) => ::core::fmt::Display::fmt(element, f),
372                Self::UnpausedFilter(element) => ::core::fmt::Display::fmt(element, f),
373            }
374        }
375    }
376    impl ::core::convert::From<ApprovalForAllFilter> for ERC1155PausableEvents {
377        fn from(value: ApprovalForAllFilter) -> Self {
378            Self::ApprovalForAllFilter(value)
379        }
380    }
381    impl ::core::convert::From<PausedFilter> for ERC1155PausableEvents {
382        fn from(value: PausedFilter) -> Self {
383            Self::PausedFilter(value)
384        }
385    }
386    impl ::core::convert::From<TransferBatchFilter> for ERC1155PausableEvents {
387        fn from(value: TransferBatchFilter) -> Self {
388            Self::TransferBatchFilter(value)
389        }
390    }
391    impl ::core::convert::From<TransferSingleFilter> for ERC1155PausableEvents {
392        fn from(value: TransferSingleFilter) -> Self {
393            Self::TransferSingleFilter(value)
394        }
395    }
396    impl ::core::convert::From<UriFilter> for ERC1155PausableEvents {
397        fn from(value: UriFilter) -> Self {
398            Self::UriFilter(value)
399        }
400    }
401    impl ::core::convert::From<UnpausedFilter> for ERC1155PausableEvents {
402        fn from(value: UnpausedFilter) -> Self {
403            Self::UnpausedFilter(value)
404        }
405    }
406    ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address,uint256)` and selector `0x00fdd58e`
407    #[derive(
408        Clone,
409        ::ethers_contract::EthCall,
410        ::ethers_contract::EthDisplay,
411        Default,
412        Debug,
413        PartialEq,
414        Eq,
415        Hash
416    )]
417    #[ethcall(name = "balanceOf", abi = "balanceOf(address,uint256)")]
418    pub struct BalanceOfCall {
419        pub account: ::ethers_core::types::Address,
420        pub id: ::ethers_core::types::U256,
421    }
422    ///Container type for all input parameters for the `balanceOfBatch` function with signature `balanceOfBatch(address[],uint256[])` and selector `0x4e1273f4`
423    #[derive(
424        Clone,
425        ::ethers_contract::EthCall,
426        ::ethers_contract::EthDisplay,
427        Default,
428        Debug,
429        PartialEq,
430        Eq,
431        Hash
432    )]
433    #[ethcall(name = "balanceOfBatch", abi = "balanceOfBatch(address[],uint256[])")]
434    pub struct BalanceOfBatchCall {
435        pub accounts: ::std::vec::Vec<::ethers_core::types::Address>,
436        pub ids: ::std::vec::Vec<::ethers_core::types::U256>,
437    }
438    ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5`
439    #[derive(
440        Clone,
441        ::ethers_contract::EthCall,
442        ::ethers_contract::EthDisplay,
443        Default,
444        Debug,
445        PartialEq,
446        Eq,
447        Hash
448    )]
449    #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")]
450    pub struct IsApprovedForAllCall {
451        pub account: ::ethers_core::types::Address,
452        pub operator: ::ethers_core::types::Address,
453    }
454    ///Container type for all input parameters for the `paused` function with signature `paused()` and selector `0x5c975abb`
455    #[derive(
456        Clone,
457        ::ethers_contract::EthCall,
458        ::ethers_contract::EthDisplay,
459        Default,
460        Debug,
461        PartialEq,
462        Eq,
463        Hash
464    )]
465    #[ethcall(name = "paused", abi = "paused()")]
466    pub struct PausedCall;
467    ///Container type for all input parameters for the `safeBatchTransferFrom` function with signature `safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)` and selector `0x2eb2c2d6`
468    #[derive(
469        Clone,
470        ::ethers_contract::EthCall,
471        ::ethers_contract::EthDisplay,
472        Default,
473        Debug,
474        PartialEq,
475        Eq,
476        Hash
477    )]
478    #[ethcall(
479        name = "safeBatchTransferFrom",
480        abi = "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)"
481    )]
482    pub struct SafeBatchTransferFromCall {
483        pub from: ::ethers_core::types::Address,
484        pub to: ::ethers_core::types::Address,
485        pub ids: ::std::vec::Vec<::ethers_core::types::U256>,
486        pub amounts: ::std::vec::Vec<::ethers_core::types::U256>,
487        pub data: ::ethers_core::types::Bytes,
488    }
489    ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,uint256,bytes)` and selector `0xf242432a`
490    #[derive(
491        Clone,
492        ::ethers_contract::EthCall,
493        ::ethers_contract::EthDisplay,
494        Default,
495        Debug,
496        PartialEq,
497        Eq,
498        Hash
499    )]
500    #[ethcall(
501        name = "safeTransferFrom",
502        abi = "safeTransferFrom(address,address,uint256,uint256,bytes)"
503    )]
504    pub struct SafeTransferFromCall {
505        pub from: ::ethers_core::types::Address,
506        pub to: ::ethers_core::types::Address,
507        pub id: ::ethers_core::types::U256,
508        pub amount: ::ethers_core::types::U256,
509        pub data: ::ethers_core::types::Bytes,
510    }
511    ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465`
512    #[derive(
513        Clone,
514        ::ethers_contract::EthCall,
515        ::ethers_contract::EthDisplay,
516        Default,
517        Debug,
518        PartialEq,
519        Eq,
520        Hash
521    )]
522    #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")]
523    pub struct SetApprovalForAllCall {
524        pub operator: ::ethers_core::types::Address,
525        pub approved: bool,
526    }
527    ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
528    #[derive(
529        Clone,
530        ::ethers_contract::EthCall,
531        ::ethers_contract::EthDisplay,
532        Default,
533        Debug,
534        PartialEq,
535        Eq,
536        Hash
537    )]
538    #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
539    pub struct SupportsInterfaceCall {
540        pub interface_id: [u8; 4],
541    }
542    ///Container type for all input parameters for the `uri` function with signature `uri(uint256)` and selector `0x0e89341c`
543    #[derive(
544        Clone,
545        ::ethers_contract::EthCall,
546        ::ethers_contract::EthDisplay,
547        Default,
548        Debug,
549        PartialEq,
550        Eq,
551        Hash
552    )]
553    #[ethcall(name = "uri", abi = "uri(uint256)")]
554    pub struct UriCall(pub ::ethers_core::types::U256);
555    ///Container type for all of the contract's call
556    #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
557    pub enum ERC1155PausableCalls {
558        BalanceOf(BalanceOfCall),
559        BalanceOfBatch(BalanceOfBatchCall),
560        IsApprovedForAll(IsApprovedForAllCall),
561        Paused(PausedCall),
562        SafeBatchTransferFrom(SafeBatchTransferFromCall),
563        SafeTransferFrom(SafeTransferFromCall),
564        SetApprovalForAll(SetApprovalForAllCall),
565        SupportsInterface(SupportsInterfaceCall),
566        Uri(UriCall),
567    }
568    impl ::ethers_core::abi::AbiDecode for ERC1155PausableCalls {
569        fn decode(
570            data: impl AsRef<[u8]>,
571        ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
572            let data = data.as_ref();
573            if let Ok(decoded)
574                = <BalanceOfCall as ::ethers_core::abi::AbiDecode>::decode(data) {
575                return Ok(Self::BalanceOf(decoded));
576            }
577            if let Ok(decoded)
578                = <BalanceOfBatchCall as ::ethers_core::abi::AbiDecode>::decode(data) {
579                return Ok(Self::BalanceOfBatch(decoded));
580            }
581            if let Ok(decoded)
582                = <IsApprovedForAllCall as ::ethers_core::abi::AbiDecode>::decode(data) {
583                return Ok(Self::IsApprovedForAll(decoded));
584            }
585            if let Ok(decoded)
586                = <PausedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
587                return Ok(Self::Paused(decoded));
588            }
589            if let Ok(decoded)
590                = <SafeBatchTransferFromCall as ::ethers_core::abi::AbiDecode>::decode(
591                    data,
592                ) {
593                return Ok(Self::SafeBatchTransferFrom(decoded));
594            }
595            if let Ok(decoded)
596                = <SafeTransferFromCall as ::ethers_core::abi::AbiDecode>::decode(data) {
597                return Ok(Self::SafeTransferFrom(decoded));
598            }
599            if let Ok(decoded)
600                = <SetApprovalForAllCall as ::ethers_core::abi::AbiDecode>::decode(
601                    data,
602                ) {
603                return Ok(Self::SetApprovalForAll(decoded));
604            }
605            if let Ok(decoded)
606                = <SupportsInterfaceCall as ::ethers_core::abi::AbiDecode>::decode(
607                    data,
608                ) {
609                return Ok(Self::SupportsInterface(decoded));
610            }
611            if let Ok(decoded)
612                = <UriCall as ::ethers_core::abi::AbiDecode>::decode(data) {
613                return Ok(Self::Uri(decoded));
614            }
615            Err(::ethers_core::abi::Error::InvalidData.into())
616        }
617    }
618    impl ::ethers_core::abi::AbiEncode for ERC1155PausableCalls {
619        fn encode(self) -> Vec<u8> {
620            match self {
621                Self::BalanceOf(element) => {
622                    ::ethers_core::abi::AbiEncode::encode(element)
623                }
624                Self::BalanceOfBatch(element) => {
625                    ::ethers_core::abi::AbiEncode::encode(element)
626                }
627                Self::IsApprovedForAll(element) => {
628                    ::ethers_core::abi::AbiEncode::encode(element)
629                }
630                Self::Paused(element) => ::ethers_core::abi::AbiEncode::encode(element),
631                Self::SafeBatchTransferFrom(element) => {
632                    ::ethers_core::abi::AbiEncode::encode(element)
633                }
634                Self::SafeTransferFrom(element) => {
635                    ::ethers_core::abi::AbiEncode::encode(element)
636                }
637                Self::SetApprovalForAll(element) => {
638                    ::ethers_core::abi::AbiEncode::encode(element)
639                }
640                Self::SupportsInterface(element) => {
641                    ::ethers_core::abi::AbiEncode::encode(element)
642                }
643                Self::Uri(element) => ::ethers_core::abi::AbiEncode::encode(element),
644            }
645        }
646    }
647    impl ::core::fmt::Display for ERC1155PausableCalls {
648        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
649            match self {
650                Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f),
651                Self::BalanceOfBatch(element) => ::core::fmt::Display::fmt(element, f),
652                Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f),
653                Self::Paused(element) => ::core::fmt::Display::fmt(element, f),
654                Self::SafeBatchTransferFrom(element) => {
655                    ::core::fmt::Display::fmt(element, f)
656                }
657                Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f),
658                Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f),
659                Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
660                Self::Uri(element) => ::core::fmt::Display::fmt(element, f),
661            }
662        }
663    }
664    impl ::core::convert::From<BalanceOfCall> for ERC1155PausableCalls {
665        fn from(value: BalanceOfCall) -> Self {
666            Self::BalanceOf(value)
667        }
668    }
669    impl ::core::convert::From<BalanceOfBatchCall> for ERC1155PausableCalls {
670        fn from(value: BalanceOfBatchCall) -> Self {
671            Self::BalanceOfBatch(value)
672        }
673    }
674    impl ::core::convert::From<IsApprovedForAllCall> for ERC1155PausableCalls {
675        fn from(value: IsApprovedForAllCall) -> Self {
676            Self::IsApprovedForAll(value)
677        }
678    }
679    impl ::core::convert::From<PausedCall> for ERC1155PausableCalls {
680        fn from(value: PausedCall) -> Self {
681            Self::Paused(value)
682        }
683    }
684    impl ::core::convert::From<SafeBatchTransferFromCall> for ERC1155PausableCalls {
685        fn from(value: SafeBatchTransferFromCall) -> Self {
686            Self::SafeBatchTransferFrom(value)
687        }
688    }
689    impl ::core::convert::From<SafeTransferFromCall> for ERC1155PausableCalls {
690        fn from(value: SafeTransferFromCall) -> Self {
691            Self::SafeTransferFrom(value)
692        }
693    }
694    impl ::core::convert::From<SetApprovalForAllCall> for ERC1155PausableCalls {
695        fn from(value: SetApprovalForAllCall) -> Self {
696            Self::SetApprovalForAll(value)
697        }
698    }
699    impl ::core::convert::From<SupportsInterfaceCall> for ERC1155PausableCalls {
700        fn from(value: SupportsInterfaceCall) -> Self {
701            Self::SupportsInterface(value)
702        }
703    }
704    impl ::core::convert::From<UriCall> for ERC1155PausableCalls {
705        fn from(value: UriCall) -> Self {
706            Self::Uri(value)
707        }
708    }
709    ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address,uint256)` and selector `0x00fdd58e`
710    #[derive(
711        Clone,
712        ::ethers_contract::EthAbiType,
713        ::ethers_contract::EthAbiCodec,
714        Default,
715        Debug,
716        PartialEq,
717        Eq,
718        Hash
719    )]
720    pub struct BalanceOfReturn(pub ::ethers_core::types::U256);
721    ///Container type for all return fields from the `balanceOfBatch` function with signature `balanceOfBatch(address[],uint256[])` and selector `0x4e1273f4`
722    #[derive(
723        Clone,
724        ::ethers_contract::EthAbiType,
725        ::ethers_contract::EthAbiCodec,
726        Default,
727        Debug,
728        PartialEq,
729        Eq,
730        Hash
731    )]
732    pub struct BalanceOfBatchReturn(pub ::std::vec::Vec<::ethers_core::types::U256>);
733    ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5`
734    #[derive(
735        Clone,
736        ::ethers_contract::EthAbiType,
737        ::ethers_contract::EthAbiCodec,
738        Default,
739        Debug,
740        PartialEq,
741        Eq,
742        Hash
743    )]
744    pub struct IsApprovedForAllReturn(pub bool);
745    ///Container type for all return fields from the `paused` function with signature `paused()` and selector `0x5c975abb`
746    #[derive(
747        Clone,
748        ::ethers_contract::EthAbiType,
749        ::ethers_contract::EthAbiCodec,
750        Default,
751        Debug,
752        PartialEq,
753        Eq,
754        Hash
755    )]
756    pub struct PausedReturn(pub bool);
757    ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7`
758    #[derive(
759        Clone,
760        ::ethers_contract::EthAbiType,
761        ::ethers_contract::EthAbiCodec,
762        Default,
763        Debug,
764        PartialEq,
765        Eq,
766        Hash
767    )]
768    pub struct SupportsInterfaceReturn(pub bool);
769    ///Container type for all return fields from the `uri` function with signature `uri(uint256)` and selector `0x0e89341c`
770    #[derive(
771        Clone,
772        ::ethers_contract::EthAbiType,
773        ::ethers_contract::EthAbiCodec,
774        Default,
775        Debug,
776        PartialEq,
777        Eq,
778        Hash
779    )]
780    pub struct UriReturn(pub ::std::string::String);
781}