1pub use erc721_wrapper::*;
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 erc721_wrapper {
13 #[rustfmt::skip]
14 const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"ApprovalForAll\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"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\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"depositFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"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\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\",\"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\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"contract IERC721\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"withdrawTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]";
15 pub static ERC721WRAPPER_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 ERC721Wrapper<M>(::ethers_contract::Contract<M>);
19 impl<M> ::core::clone::Clone for ERC721Wrapper<M> {
20 fn clone(&self) -> Self {
21 Self(::core::clone::Clone::clone(&self.0))
22 }
23 }
24 impl<M> ::core::ops::Deref for ERC721Wrapper<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 ERC721Wrapper<M> {
31 fn deref_mut(&mut self) -> &mut Self::Target {
32 &mut self.0
33 }
34 }
35 impl<M> ::core::fmt::Debug for ERC721Wrapper<M> {
36 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37 f.debug_tuple(stringify!(ERC721Wrapper)).field(&self.address()).finish()
38 }
39 }
40 impl<M: ::ethers_providers::Middleware> ERC721Wrapper<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 ERC721WRAPPER_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 deposit_for(
76 &self,
77 account: ::ethers_core::types::Address,
78 token_ids: ::std::vec::Vec<::ethers_core::types::U256>,
79 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
80 self.0
81 .method_hash([202, 206, 110, 178], (account, token_ids))
82 .expect("method not found (this should never happen)")
83 }
84 pub fn get_approved(
86 &self,
87 token_id: ::ethers_core::types::U256,
88 ) -> ::ethers_contract::builders::ContractCall<
89 M,
90 ::ethers_core::types::Address,
91 > {
92 self.0
93 .method_hash([8, 24, 18, 252], token_id)
94 .expect("method not found (this should never happen)")
95 }
96 pub fn is_approved_for_all(
98 &self,
99 owner: ::ethers_core::types::Address,
100 operator: ::ethers_core::types::Address,
101 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
102 self.0
103 .method_hash([233, 133, 233, 197], (owner, operator))
104 .expect("method not found (this should never happen)")
105 }
106 pub fn name(
108 &self,
109 ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
110 self.0
111 .method_hash([6, 253, 222, 3], ())
112 .expect("method not found (this should never happen)")
113 }
114 pub fn on_erc721_received(
116 &self,
117 p0: ::ethers_core::types::Address,
118 from: ::ethers_core::types::Address,
119 token_id: ::ethers_core::types::U256,
120 p3: ::ethers_core::types::Bytes,
121 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 4]> {
122 self.0
123 .method_hash([21, 11, 122, 2], (p0, from, token_id, p3))
124 .expect("method not found (this should never happen)")
125 }
126 pub fn owner_of(
128 &self,
129 token_id: ::ethers_core::types::U256,
130 ) -> ::ethers_contract::builders::ContractCall<
131 M,
132 ::ethers_core::types::Address,
133 > {
134 self.0
135 .method_hash([99, 82, 33, 30], token_id)
136 .expect("method not found (this should never happen)")
137 }
138 pub fn safe_transfer_from(
140 &self,
141 from: ::ethers_core::types::Address,
142 to: ::ethers_core::types::Address,
143 token_id: ::ethers_core::types::U256,
144 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
145 self.0
146 .method_hash([66, 132, 46, 14], (from, to, token_id))
147 .expect("method not found (this should never happen)")
148 }
149 pub fn safe_transfer_from_with_from_and_to_and_data(
151 &self,
152 from: ::ethers_core::types::Address,
153 to: ::ethers_core::types::Address,
154 token_id: ::ethers_core::types::U256,
155 data: ::ethers_core::types::Bytes,
156 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
157 self.0
158 .method_hash([184, 141, 79, 222], (from, to, token_id, data))
159 .expect("method not found (this should never happen)")
160 }
161 pub fn set_approval_for_all(
163 &self,
164 operator: ::ethers_core::types::Address,
165 approved: bool,
166 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
167 self.0
168 .method_hash([162, 44, 180, 101], (operator, approved))
169 .expect("method not found (this should never happen)")
170 }
171 pub fn supports_interface(
173 &self,
174 interface_id: [u8; 4],
175 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
176 self.0
177 .method_hash([1, 255, 201, 167], interface_id)
178 .expect("method not found (this should never happen)")
179 }
180 pub fn symbol(
182 &self,
183 ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
184 self.0
185 .method_hash([149, 216, 155, 65], ())
186 .expect("method not found (this should never happen)")
187 }
188 pub fn token_uri(
190 &self,
191 token_id: ::ethers_core::types::U256,
192 ) -> ::ethers_contract::builders::ContractCall<M, ::std::string::String> {
193 self.0
194 .method_hash([200, 123, 86, 221], token_id)
195 .expect("method not found (this should never happen)")
196 }
197 pub fn transfer_from(
199 &self,
200 from: ::ethers_core::types::Address,
201 to: ::ethers_core::types::Address,
202 token_id: ::ethers_core::types::U256,
203 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
204 self.0
205 .method_hash([35, 184, 114, 221], (from, to, token_id))
206 .expect("method not found (this should never happen)")
207 }
208 pub fn underlying(
210 &self,
211 ) -> ::ethers_contract::builders::ContractCall<
212 M,
213 ::ethers_core::types::Address,
214 > {
215 self.0
216 .method_hash([111, 48, 125, 195], ())
217 .expect("method not found (this should never happen)")
218 }
219 pub fn withdraw_to(
221 &self,
222 account: ::ethers_core::types::Address,
223 token_ids: ::std::vec::Vec<::ethers_core::types::U256>,
224 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
225 self.0
226 .method_hash([124, 27, 18, 108], (account, token_ids))
227 .expect("method not found (this should never happen)")
228 }
229 pub fn approval_filter(
231 &self,
232 ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, ApprovalFilter> {
233 self.0.event()
234 }
235 pub fn approval_for_all_filter(
237 &self,
238 ) -> ::ethers_contract::builders::Event<
239 ::std::sync::Arc<M>,
240 M,
241 ApprovalForAllFilter,
242 > {
243 self.0.event()
244 }
245 pub fn transfer_filter(
247 &self,
248 ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, TransferFilter> {
249 self.0.event()
250 }
251 pub fn events(
253 &self,
254 ) -> ::ethers_contract::builders::Event<
255 ::std::sync::Arc<M>,
256 M,
257 ERC721WrapperEvents,
258 > {
259 self.0.event_with_filter(::core::default::Default::default())
260 }
261 }
262 impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
263 for ERC721Wrapper<M> {
264 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
265 Self::new(contract.address(), contract.client())
266 }
267 }
268 #[derive(
269 Clone,
270 ::ethers_contract::EthEvent,
271 ::ethers_contract::EthDisplay,
272 Default,
273 Debug,
274 PartialEq,
275 Eq,
276 Hash
277 )]
278 #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
279 pub struct ApprovalFilter {
280 #[ethevent(indexed)]
281 pub owner: ::ethers_core::types::Address,
282 #[ethevent(indexed)]
283 pub approved: ::ethers_core::types::Address,
284 #[ethevent(indexed)]
285 pub token_id: ::ethers_core::types::U256,
286 }
287 #[derive(
288 Clone,
289 ::ethers_contract::EthEvent,
290 ::ethers_contract::EthDisplay,
291 Default,
292 Debug,
293 PartialEq,
294 Eq,
295 Hash
296 )]
297 #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")]
298 pub struct ApprovalForAllFilter {
299 #[ethevent(indexed)]
300 pub owner: ::ethers_core::types::Address,
301 #[ethevent(indexed)]
302 pub operator: ::ethers_core::types::Address,
303 pub approved: bool,
304 }
305 #[derive(
306 Clone,
307 ::ethers_contract::EthEvent,
308 ::ethers_contract::EthDisplay,
309 Default,
310 Debug,
311 PartialEq,
312 Eq,
313 Hash
314 )]
315 #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
316 pub struct TransferFilter {
317 #[ethevent(indexed)]
318 pub from: ::ethers_core::types::Address,
319 #[ethevent(indexed)]
320 pub to: ::ethers_core::types::Address,
321 #[ethevent(indexed)]
322 pub token_id: ::ethers_core::types::U256,
323 }
324 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
326 pub enum ERC721WrapperEvents {
327 ApprovalFilter(ApprovalFilter),
328 ApprovalForAllFilter(ApprovalForAllFilter),
329 TransferFilter(TransferFilter),
330 }
331 impl ::ethers_contract::EthLogDecode for ERC721WrapperEvents {
332 fn decode_log(
333 log: &::ethers_core::abi::RawLog,
334 ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
335 if let Ok(decoded) = ApprovalFilter::decode_log(log) {
336 return Ok(ERC721WrapperEvents::ApprovalFilter(decoded));
337 }
338 if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) {
339 return Ok(ERC721WrapperEvents::ApprovalForAllFilter(decoded));
340 }
341 if let Ok(decoded) = TransferFilter::decode_log(log) {
342 return Ok(ERC721WrapperEvents::TransferFilter(decoded));
343 }
344 Err(::ethers_core::abi::Error::InvalidData)
345 }
346 }
347 impl ::core::fmt::Display for ERC721WrapperEvents {
348 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
349 match self {
350 Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f),
351 Self::ApprovalForAllFilter(element) => {
352 ::core::fmt::Display::fmt(element, f)
353 }
354 Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f),
355 }
356 }
357 }
358 impl ::core::convert::From<ApprovalFilter> for ERC721WrapperEvents {
359 fn from(value: ApprovalFilter) -> Self {
360 Self::ApprovalFilter(value)
361 }
362 }
363 impl ::core::convert::From<ApprovalForAllFilter> for ERC721WrapperEvents {
364 fn from(value: ApprovalForAllFilter) -> Self {
365 Self::ApprovalForAllFilter(value)
366 }
367 }
368 impl ::core::convert::From<TransferFilter> for ERC721WrapperEvents {
369 fn from(value: TransferFilter) -> Self {
370 Self::TransferFilter(value)
371 }
372 }
373 #[derive(
375 Clone,
376 ::ethers_contract::EthCall,
377 ::ethers_contract::EthDisplay,
378 Default,
379 Debug,
380 PartialEq,
381 Eq,
382 Hash
383 )]
384 #[ethcall(name = "approve", abi = "approve(address,uint256)")]
385 pub struct ApproveCall {
386 pub to: ::ethers_core::types::Address,
387 pub token_id: ::ethers_core::types::U256,
388 }
389 #[derive(
391 Clone,
392 ::ethers_contract::EthCall,
393 ::ethers_contract::EthDisplay,
394 Default,
395 Debug,
396 PartialEq,
397 Eq,
398 Hash
399 )]
400 #[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
401 pub struct BalanceOfCall {
402 pub owner: ::ethers_core::types::Address,
403 }
404 #[derive(
406 Clone,
407 ::ethers_contract::EthCall,
408 ::ethers_contract::EthDisplay,
409 Default,
410 Debug,
411 PartialEq,
412 Eq,
413 Hash
414 )]
415 #[ethcall(name = "depositFor", abi = "depositFor(address,uint256[])")]
416 pub struct DepositForCall {
417 pub account: ::ethers_core::types::Address,
418 pub token_ids: ::std::vec::Vec<::ethers_core::types::U256>,
419 }
420 #[derive(
422 Clone,
423 ::ethers_contract::EthCall,
424 ::ethers_contract::EthDisplay,
425 Default,
426 Debug,
427 PartialEq,
428 Eq,
429 Hash
430 )]
431 #[ethcall(name = "getApproved", abi = "getApproved(uint256)")]
432 pub struct GetApprovedCall {
433 pub token_id: ::ethers_core::types::U256,
434 }
435 #[derive(
437 Clone,
438 ::ethers_contract::EthCall,
439 ::ethers_contract::EthDisplay,
440 Default,
441 Debug,
442 PartialEq,
443 Eq,
444 Hash
445 )]
446 #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")]
447 pub struct IsApprovedForAllCall {
448 pub owner: ::ethers_core::types::Address,
449 pub operator: ::ethers_core::types::Address,
450 }
451 #[derive(
453 Clone,
454 ::ethers_contract::EthCall,
455 ::ethers_contract::EthDisplay,
456 Default,
457 Debug,
458 PartialEq,
459 Eq,
460 Hash
461 )]
462 #[ethcall(name = "name", abi = "name()")]
463 pub struct NameCall;
464 #[derive(
466 Clone,
467 ::ethers_contract::EthCall,
468 ::ethers_contract::EthDisplay,
469 Default,
470 Debug,
471 PartialEq,
472 Eq,
473 Hash
474 )]
475 #[ethcall(
476 name = "onERC721Received",
477 abi = "onERC721Received(address,address,uint256,bytes)"
478 )]
479 pub struct OnERC721ReceivedCall {
480 pub p0: ::ethers_core::types::Address,
481 pub from: ::ethers_core::types::Address,
482 pub token_id: ::ethers_core::types::U256,
483 pub p3: ::ethers_core::types::Bytes,
484 }
485 #[derive(
487 Clone,
488 ::ethers_contract::EthCall,
489 ::ethers_contract::EthDisplay,
490 Default,
491 Debug,
492 PartialEq,
493 Eq,
494 Hash
495 )]
496 #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")]
497 pub struct OwnerOfCall {
498 pub token_id: ::ethers_core::types::U256,
499 }
500 #[derive(
502 Clone,
503 ::ethers_contract::EthCall,
504 ::ethers_contract::EthDisplay,
505 Default,
506 Debug,
507 PartialEq,
508 Eq,
509 Hash
510 )]
511 #[ethcall(
512 name = "safeTransferFrom",
513 abi = "safeTransferFrom(address,address,uint256)"
514 )]
515 pub struct SafeTransferFromCall {
516 pub from: ::ethers_core::types::Address,
517 pub to: ::ethers_core::types::Address,
518 pub token_id: ::ethers_core::types::U256,
519 }
520 #[derive(
522 Clone,
523 ::ethers_contract::EthCall,
524 ::ethers_contract::EthDisplay,
525 Default,
526 Debug,
527 PartialEq,
528 Eq,
529 Hash
530 )]
531 #[ethcall(
532 name = "safeTransferFrom",
533 abi = "safeTransferFrom(address,address,uint256,bytes)"
534 )]
535 pub struct SafeTransferFromWithFromAndToAndDataCall {
536 pub from: ::ethers_core::types::Address,
537 pub to: ::ethers_core::types::Address,
538 pub token_id: ::ethers_core::types::U256,
539 pub data: ::ethers_core::types::Bytes,
540 }
541 #[derive(
543 Clone,
544 ::ethers_contract::EthCall,
545 ::ethers_contract::EthDisplay,
546 Default,
547 Debug,
548 PartialEq,
549 Eq,
550 Hash
551 )]
552 #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")]
553 pub struct SetApprovalForAllCall {
554 pub operator: ::ethers_core::types::Address,
555 pub approved: bool,
556 }
557 #[derive(
559 Clone,
560 ::ethers_contract::EthCall,
561 ::ethers_contract::EthDisplay,
562 Default,
563 Debug,
564 PartialEq,
565 Eq,
566 Hash
567 )]
568 #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")]
569 pub struct SupportsInterfaceCall {
570 pub interface_id: [u8; 4],
571 }
572 #[derive(
574 Clone,
575 ::ethers_contract::EthCall,
576 ::ethers_contract::EthDisplay,
577 Default,
578 Debug,
579 PartialEq,
580 Eq,
581 Hash
582 )]
583 #[ethcall(name = "symbol", abi = "symbol()")]
584 pub struct SymbolCall;
585 #[derive(
587 Clone,
588 ::ethers_contract::EthCall,
589 ::ethers_contract::EthDisplay,
590 Default,
591 Debug,
592 PartialEq,
593 Eq,
594 Hash
595 )]
596 #[ethcall(name = "tokenURI", abi = "tokenURI(uint256)")]
597 pub struct TokenURICall {
598 pub token_id: ::ethers_core::types::U256,
599 }
600 #[derive(
602 Clone,
603 ::ethers_contract::EthCall,
604 ::ethers_contract::EthDisplay,
605 Default,
606 Debug,
607 PartialEq,
608 Eq,
609 Hash
610 )]
611 #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
612 pub struct TransferFromCall {
613 pub from: ::ethers_core::types::Address,
614 pub to: ::ethers_core::types::Address,
615 pub token_id: ::ethers_core::types::U256,
616 }
617 #[derive(
619 Clone,
620 ::ethers_contract::EthCall,
621 ::ethers_contract::EthDisplay,
622 Default,
623 Debug,
624 PartialEq,
625 Eq,
626 Hash
627 )]
628 #[ethcall(name = "underlying", abi = "underlying()")]
629 pub struct UnderlyingCall;
630 #[derive(
632 Clone,
633 ::ethers_contract::EthCall,
634 ::ethers_contract::EthDisplay,
635 Default,
636 Debug,
637 PartialEq,
638 Eq,
639 Hash
640 )]
641 #[ethcall(name = "withdrawTo", abi = "withdrawTo(address,uint256[])")]
642 pub struct WithdrawToCall {
643 pub account: ::ethers_core::types::Address,
644 pub token_ids: ::std::vec::Vec<::ethers_core::types::U256>,
645 }
646 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
648 pub enum ERC721WrapperCalls {
649 Approve(ApproveCall),
650 BalanceOf(BalanceOfCall),
651 DepositFor(DepositForCall),
652 GetApproved(GetApprovedCall),
653 IsApprovedForAll(IsApprovedForAllCall),
654 Name(NameCall),
655 OnERC721Received(OnERC721ReceivedCall),
656 OwnerOf(OwnerOfCall),
657 SafeTransferFrom(SafeTransferFromCall),
658 SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall),
659 SetApprovalForAll(SetApprovalForAllCall),
660 SupportsInterface(SupportsInterfaceCall),
661 Symbol(SymbolCall),
662 TokenURI(TokenURICall),
663 TransferFrom(TransferFromCall),
664 Underlying(UnderlyingCall),
665 WithdrawTo(WithdrawToCall),
666 }
667 impl ::ethers_core::abi::AbiDecode for ERC721WrapperCalls {
668 fn decode(
669 data: impl AsRef<[u8]>,
670 ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
671 let data = data.as_ref();
672 if let Ok(decoded)
673 = <ApproveCall as ::ethers_core::abi::AbiDecode>::decode(data) {
674 return Ok(Self::Approve(decoded));
675 }
676 if let Ok(decoded)
677 = <BalanceOfCall as ::ethers_core::abi::AbiDecode>::decode(data) {
678 return Ok(Self::BalanceOf(decoded));
679 }
680 if let Ok(decoded)
681 = <DepositForCall as ::ethers_core::abi::AbiDecode>::decode(data) {
682 return Ok(Self::DepositFor(decoded));
683 }
684 if let Ok(decoded)
685 = <GetApprovedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
686 return Ok(Self::GetApproved(decoded));
687 }
688 if let Ok(decoded)
689 = <IsApprovedForAllCall as ::ethers_core::abi::AbiDecode>::decode(data) {
690 return Ok(Self::IsApprovedForAll(decoded));
691 }
692 if let Ok(decoded)
693 = <NameCall as ::ethers_core::abi::AbiDecode>::decode(data) {
694 return Ok(Self::Name(decoded));
695 }
696 if let Ok(decoded)
697 = <OnERC721ReceivedCall as ::ethers_core::abi::AbiDecode>::decode(data) {
698 return Ok(Self::OnERC721Received(decoded));
699 }
700 if let Ok(decoded)
701 = <OwnerOfCall as ::ethers_core::abi::AbiDecode>::decode(data) {
702 return Ok(Self::OwnerOf(decoded));
703 }
704 if let Ok(decoded)
705 = <SafeTransferFromCall as ::ethers_core::abi::AbiDecode>::decode(data) {
706 return Ok(Self::SafeTransferFrom(decoded));
707 }
708 if let Ok(decoded)
709 = <SafeTransferFromWithFromAndToAndDataCall as ::ethers_core::abi::AbiDecode>::decode(
710 data,
711 ) {
712 return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded));
713 }
714 if let Ok(decoded)
715 = <SetApprovalForAllCall as ::ethers_core::abi::AbiDecode>::decode(
716 data,
717 ) {
718 return Ok(Self::SetApprovalForAll(decoded));
719 }
720 if let Ok(decoded)
721 = <SupportsInterfaceCall as ::ethers_core::abi::AbiDecode>::decode(
722 data,
723 ) {
724 return Ok(Self::SupportsInterface(decoded));
725 }
726 if let Ok(decoded)
727 = <SymbolCall as ::ethers_core::abi::AbiDecode>::decode(data) {
728 return Ok(Self::Symbol(decoded));
729 }
730 if let Ok(decoded)
731 = <TokenURICall as ::ethers_core::abi::AbiDecode>::decode(data) {
732 return Ok(Self::TokenURI(decoded));
733 }
734 if let Ok(decoded)
735 = <TransferFromCall as ::ethers_core::abi::AbiDecode>::decode(data) {
736 return Ok(Self::TransferFrom(decoded));
737 }
738 if let Ok(decoded)
739 = <UnderlyingCall as ::ethers_core::abi::AbiDecode>::decode(data) {
740 return Ok(Self::Underlying(decoded));
741 }
742 if let Ok(decoded)
743 = <WithdrawToCall as ::ethers_core::abi::AbiDecode>::decode(data) {
744 return Ok(Self::WithdrawTo(decoded));
745 }
746 Err(::ethers_core::abi::Error::InvalidData.into())
747 }
748 }
749 impl ::ethers_core::abi::AbiEncode for ERC721WrapperCalls {
750 fn encode(self) -> Vec<u8> {
751 match self {
752 Self::Approve(element) => ::ethers_core::abi::AbiEncode::encode(element),
753 Self::BalanceOf(element) => {
754 ::ethers_core::abi::AbiEncode::encode(element)
755 }
756 Self::DepositFor(element) => {
757 ::ethers_core::abi::AbiEncode::encode(element)
758 }
759 Self::GetApproved(element) => {
760 ::ethers_core::abi::AbiEncode::encode(element)
761 }
762 Self::IsApprovedForAll(element) => {
763 ::ethers_core::abi::AbiEncode::encode(element)
764 }
765 Self::Name(element) => ::ethers_core::abi::AbiEncode::encode(element),
766 Self::OnERC721Received(element) => {
767 ::ethers_core::abi::AbiEncode::encode(element)
768 }
769 Self::OwnerOf(element) => ::ethers_core::abi::AbiEncode::encode(element),
770 Self::SafeTransferFrom(element) => {
771 ::ethers_core::abi::AbiEncode::encode(element)
772 }
773 Self::SafeTransferFromWithFromAndToAndData(element) => {
774 ::ethers_core::abi::AbiEncode::encode(element)
775 }
776 Self::SetApprovalForAll(element) => {
777 ::ethers_core::abi::AbiEncode::encode(element)
778 }
779 Self::SupportsInterface(element) => {
780 ::ethers_core::abi::AbiEncode::encode(element)
781 }
782 Self::Symbol(element) => ::ethers_core::abi::AbiEncode::encode(element),
783 Self::TokenURI(element) => ::ethers_core::abi::AbiEncode::encode(element),
784 Self::TransferFrom(element) => {
785 ::ethers_core::abi::AbiEncode::encode(element)
786 }
787 Self::Underlying(element) => {
788 ::ethers_core::abi::AbiEncode::encode(element)
789 }
790 Self::WithdrawTo(element) => {
791 ::ethers_core::abi::AbiEncode::encode(element)
792 }
793 }
794 }
795 }
796 impl ::core::fmt::Display for ERC721WrapperCalls {
797 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
798 match self {
799 Self::Approve(element) => ::core::fmt::Display::fmt(element, f),
800 Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f),
801 Self::DepositFor(element) => ::core::fmt::Display::fmt(element, f),
802 Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f),
803 Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f),
804 Self::Name(element) => ::core::fmt::Display::fmt(element, f),
805 Self::OnERC721Received(element) => ::core::fmt::Display::fmt(element, f),
806 Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f),
807 Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f),
808 Self::SafeTransferFromWithFromAndToAndData(element) => {
809 ::core::fmt::Display::fmt(element, f)
810 }
811 Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f),
812 Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f),
813 Self::Symbol(element) => ::core::fmt::Display::fmt(element, f),
814 Self::TokenURI(element) => ::core::fmt::Display::fmt(element, f),
815 Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f),
816 Self::Underlying(element) => ::core::fmt::Display::fmt(element, f),
817 Self::WithdrawTo(element) => ::core::fmt::Display::fmt(element, f),
818 }
819 }
820 }
821 impl ::core::convert::From<ApproveCall> for ERC721WrapperCalls {
822 fn from(value: ApproveCall) -> Self {
823 Self::Approve(value)
824 }
825 }
826 impl ::core::convert::From<BalanceOfCall> for ERC721WrapperCalls {
827 fn from(value: BalanceOfCall) -> Self {
828 Self::BalanceOf(value)
829 }
830 }
831 impl ::core::convert::From<DepositForCall> for ERC721WrapperCalls {
832 fn from(value: DepositForCall) -> Self {
833 Self::DepositFor(value)
834 }
835 }
836 impl ::core::convert::From<GetApprovedCall> for ERC721WrapperCalls {
837 fn from(value: GetApprovedCall) -> Self {
838 Self::GetApproved(value)
839 }
840 }
841 impl ::core::convert::From<IsApprovedForAllCall> for ERC721WrapperCalls {
842 fn from(value: IsApprovedForAllCall) -> Self {
843 Self::IsApprovedForAll(value)
844 }
845 }
846 impl ::core::convert::From<NameCall> for ERC721WrapperCalls {
847 fn from(value: NameCall) -> Self {
848 Self::Name(value)
849 }
850 }
851 impl ::core::convert::From<OnERC721ReceivedCall> for ERC721WrapperCalls {
852 fn from(value: OnERC721ReceivedCall) -> Self {
853 Self::OnERC721Received(value)
854 }
855 }
856 impl ::core::convert::From<OwnerOfCall> for ERC721WrapperCalls {
857 fn from(value: OwnerOfCall) -> Self {
858 Self::OwnerOf(value)
859 }
860 }
861 impl ::core::convert::From<SafeTransferFromCall> for ERC721WrapperCalls {
862 fn from(value: SafeTransferFromCall) -> Self {
863 Self::SafeTransferFrom(value)
864 }
865 }
866 impl ::core::convert::From<SafeTransferFromWithFromAndToAndDataCall>
867 for ERC721WrapperCalls {
868 fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self {
869 Self::SafeTransferFromWithFromAndToAndData(value)
870 }
871 }
872 impl ::core::convert::From<SetApprovalForAllCall> for ERC721WrapperCalls {
873 fn from(value: SetApprovalForAllCall) -> Self {
874 Self::SetApprovalForAll(value)
875 }
876 }
877 impl ::core::convert::From<SupportsInterfaceCall> for ERC721WrapperCalls {
878 fn from(value: SupportsInterfaceCall) -> Self {
879 Self::SupportsInterface(value)
880 }
881 }
882 impl ::core::convert::From<SymbolCall> for ERC721WrapperCalls {
883 fn from(value: SymbolCall) -> Self {
884 Self::Symbol(value)
885 }
886 }
887 impl ::core::convert::From<TokenURICall> for ERC721WrapperCalls {
888 fn from(value: TokenURICall) -> Self {
889 Self::TokenURI(value)
890 }
891 }
892 impl ::core::convert::From<TransferFromCall> for ERC721WrapperCalls {
893 fn from(value: TransferFromCall) -> Self {
894 Self::TransferFrom(value)
895 }
896 }
897 impl ::core::convert::From<UnderlyingCall> for ERC721WrapperCalls {
898 fn from(value: UnderlyingCall) -> Self {
899 Self::Underlying(value)
900 }
901 }
902 impl ::core::convert::From<WithdrawToCall> for ERC721WrapperCalls {
903 fn from(value: WithdrawToCall) -> Self {
904 Self::WithdrawTo(value)
905 }
906 }
907 #[derive(
909 Clone,
910 ::ethers_contract::EthAbiType,
911 ::ethers_contract::EthAbiCodec,
912 Default,
913 Debug,
914 PartialEq,
915 Eq,
916 Hash
917 )]
918 pub struct BalanceOfReturn(pub ::ethers_core::types::U256);
919 #[derive(
921 Clone,
922 ::ethers_contract::EthAbiType,
923 ::ethers_contract::EthAbiCodec,
924 Default,
925 Debug,
926 PartialEq,
927 Eq,
928 Hash
929 )]
930 pub struct DepositForReturn(pub bool);
931 #[derive(
933 Clone,
934 ::ethers_contract::EthAbiType,
935 ::ethers_contract::EthAbiCodec,
936 Default,
937 Debug,
938 PartialEq,
939 Eq,
940 Hash
941 )]
942 pub struct GetApprovedReturn(pub ::ethers_core::types::Address);
943 #[derive(
945 Clone,
946 ::ethers_contract::EthAbiType,
947 ::ethers_contract::EthAbiCodec,
948 Default,
949 Debug,
950 PartialEq,
951 Eq,
952 Hash
953 )]
954 pub struct IsApprovedForAllReturn(pub bool);
955 #[derive(
957 Clone,
958 ::ethers_contract::EthAbiType,
959 ::ethers_contract::EthAbiCodec,
960 Default,
961 Debug,
962 PartialEq,
963 Eq,
964 Hash
965 )]
966 pub struct NameReturn(pub ::std::string::String);
967 #[derive(
969 Clone,
970 ::ethers_contract::EthAbiType,
971 ::ethers_contract::EthAbiCodec,
972 Default,
973 Debug,
974 PartialEq,
975 Eq,
976 Hash
977 )]
978 pub struct OnERC721ReceivedReturn(pub [u8; 4]);
979 #[derive(
981 Clone,
982 ::ethers_contract::EthAbiType,
983 ::ethers_contract::EthAbiCodec,
984 Default,
985 Debug,
986 PartialEq,
987 Eq,
988 Hash
989 )]
990 pub struct OwnerOfReturn(pub ::ethers_core::types::Address);
991 #[derive(
993 Clone,
994 ::ethers_contract::EthAbiType,
995 ::ethers_contract::EthAbiCodec,
996 Default,
997 Debug,
998 PartialEq,
999 Eq,
1000 Hash
1001 )]
1002 pub struct SupportsInterfaceReturn(pub bool);
1003 #[derive(
1005 Clone,
1006 ::ethers_contract::EthAbiType,
1007 ::ethers_contract::EthAbiCodec,
1008 Default,
1009 Debug,
1010 PartialEq,
1011 Eq,
1012 Hash
1013 )]
1014 pub struct SymbolReturn(pub ::std::string::String);
1015 #[derive(
1017 Clone,
1018 ::ethers_contract::EthAbiType,
1019 ::ethers_contract::EthAbiCodec,
1020 Default,
1021 Debug,
1022 PartialEq,
1023 Eq,
1024 Hash
1025 )]
1026 pub struct TokenURIReturn(pub ::std::string::String);
1027 #[derive(
1029 Clone,
1030 ::ethers_contract::EthAbiType,
1031 ::ethers_contract::EthAbiCodec,
1032 Default,
1033 Debug,
1034 PartialEq,
1035 Eq,
1036 Hash
1037 )]
1038 pub struct UnderlyingReturn(pub ::ethers_core::types::Address);
1039 #[derive(
1041 Clone,
1042 ::ethers_contract::EthAbiType,
1043 ::ethers_contract::EthAbiCodec,
1044 Default,
1045 Debug,
1046 PartialEq,
1047 Eq,
1048 Hash
1049 )]
1050 pub struct WithdrawToReturn(pub bool);
1051}