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