openzeppelin_rs/contracts/
ERC1155URIStorage.rs

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