openzeppelin_rs/contracts/
ERC1155Burnable.rs

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