1pub use i_access_control_enumerable::*;
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 i_access_control_enumerable {
13 #[rustfmt::skip]
14 const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleAdminChanged\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleGranted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"RoleRevoked\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"grantRole\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"renounceRole\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"revokeRole\",\"outputs\":[]}]";
15 pub static IACCESSCONTROLENUMERABLE_ABI: ::ethers_contract::Lazy<
17 ::ethers_core::abi::Abi,
18 > = ::ethers_contract::Lazy::new(|| {
19 ::ethers_core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
20 });
21 pub struct IAccessControlEnumerable<M>(::ethers_contract::Contract<M>);
22 impl<M> ::core::clone::Clone for IAccessControlEnumerable<M> {
23 fn clone(&self) -> Self {
24 Self(::core::clone::Clone::clone(&self.0))
25 }
26 }
27 impl<M> ::core::ops::Deref for IAccessControlEnumerable<M> {
28 type Target = ::ethers_contract::Contract<M>;
29 fn deref(&self) -> &Self::Target {
30 &self.0
31 }
32 }
33 impl<M> ::core::ops::DerefMut for IAccessControlEnumerable<M> {
34 fn deref_mut(&mut self) -> &mut Self::Target {
35 &mut self.0
36 }
37 }
38 impl<M> ::core::fmt::Debug for IAccessControlEnumerable<M> {
39 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
40 f.debug_tuple(stringify!(IAccessControlEnumerable))
41 .field(&self.address())
42 .finish()
43 }
44 }
45 impl<M: ::ethers_providers::Middleware> IAccessControlEnumerable<M> {
46 pub fn new<T: Into<::ethers_core::types::Address>>(
49 address: T,
50 client: ::std::sync::Arc<M>,
51 ) -> Self {
52 Self(
53 ::ethers_contract::Contract::new(
54 address.into(),
55 IACCESSCONTROLENUMERABLE_ABI.clone(),
56 client,
57 ),
58 )
59 }
60 pub fn get_role_admin(
62 &self,
63 role: [u8; 32],
64 ) -> ::ethers_contract::builders::ContractCall<M, [u8; 32]> {
65 self.0
66 .method_hash([36, 138, 156, 163], role)
67 .expect("method not found (this should never happen)")
68 }
69 pub fn get_role_member(
71 &self,
72 role: [u8; 32],
73 index: ::ethers_core::types::U256,
74 ) -> ::ethers_contract::builders::ContractCall<
75 M,
76 ::ethers_core::types::Address,
77 > {
78 self.0
79 .method_hash([144, 16, 208, 124], (role, index))
80 .expect("method not found (this should never happen)")
81 }
82 pub fn get_role_member_count(
84 &self,
85 role: [u8; 32],
86 ) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
87 self.0
88 .method_hash([202, 21, 200, 115], role)
89 .expect("method not found (this should never happen)")
90 }
91 pub fn grant_role(
93 &self,
94 role: [u8; 32],
95 account: ::ethers_core::types::Address,
96 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
97 self.0
98 .method_hash([47, 47, 241, 93], (role, account))
99 .expect("method not found (this should never happen)")
100 }
101 pub fn has_role(
103 &self,
104 role: [u8; 32],
105 account: ::ethers_core::types::Address,
106 ) -> ::ethers_contract::builders::ContractCall<M, bool> {
107 self.0
108 .method_hash([145, 209, 72, 84], (role, account))
109 .expect("method not found (this should never happen)")
110 }
111 pub fn renounce_role(
113 &self,
114 role: [u8; 32],
115 account: ::ethers_core::types::Address,
116 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
117 self.0
118 .method_hash([54, 86, 138, 190], (role, account))
119 .expect("method not found (this should never happen)")
120 }
121 pub fn revoke_role(
123 &self,
124 role: [u8; 32],
125 account: ::ethers_core::types::Address,
126 ) -> ::ethers_contract::builders::ContractCall<M, ()> {
127 self.0
128 .method_hash([213, 71, 116, 31], (role, account))
129 .expect("method not found (this should never happen)")
130 }
131 pub fn role_admin_changed_filter(
133 &self,
134 ) -> ::ethers_contract::builders::Event<
135 ::std::sync::Arc<M>,
136 M,
137 RoleAdminChangedFilter,
138 > {
139 self.0.event()
140 }
141 pub fn role_granted_filter(
143 &self,
144 ) -> ::ethers_contract::builders::Event<
145 ::std::sync::Arc<M>,
146 M,
147 RoleGrantedFilter,
148 > {
149 self.0.event()
150 }
151 pub fn role_revoked_filter(
153 &self,
154 ) -> ::ethers_contract::builders::Event<
155 ::std::sync::Arc<M>,
156 M,
157 RoleRevokedFilter,
158 > {
159 self.0.event()
160 }
161 pub fn events(
163 &self,
164 ) -> ::ethers_contract::builders::Event<
165 ::std::sync::Arc<M>,
166 M,
167 IAccessControlEnumerableEvents,
168 > {
169 self.0.event_with_filter(::core::default::Default::default())
170 }
171 }
172 impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
173 for IAccessControlEnumerable<M> {
174 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
175 Self::new(contract.address(), contract.client())
176 }
177 }
178 #[derive(
179 Clone,
180 ::ethers_contract::EthEvent,
181 ::ethers_contract::EthDisplay,
182 Default,
183 Debug,
184 PartialEq,
185 Eq,
186 Hash
187 )]
188 #[ethevent(
189 name = "RoleAdminChanged",
190 abi = "RoleAdminChanged(bytes32,bytes32,bytes32)"
191 )]
192 pub struct RoleAdminChangedFilter {
193 #[ethevent(indexed)]
194 pub role: [u8; 32],
195 #[ethevent(indexed)]
196 pub previous_admin_role: [u8; 32],
197 #[ethevent(indexed)]
198 pub new_admin_role: [u8; 32],
199 }
200 #[derive(
201 Clone,
202 ::ethers_contract::EthEvent,
203 ::ethers_contract::EthDisplay,
204 Default,
205 Debug,
206 PartialEq,
207 Eq,
208 Hash
209 )]
210 #[ethevent(name = "RoleGranted", abi = "RoleGranted(bytes32,address,address)")]
211 pub struct RoleGrantedFilter {
212 #[ethevent(indexed)]
213 pub role: [u8; 32],
214 #[ethevent(indexed)]
215 pub account: ::ethers_core::types::Address,
216 #[ethevent(indexed)]
217 pub sender: ::ethers_core::types::Address,
218 }
219 #[derive(
220 Clone,
221 ::ethers_contract::EthEvent,
222 ::ethers_contract::EthDisplay,
223 Default,
224 Debug,
225 PartialEq,
226 Eq,
227 Hash
228 )]
229 #[ethevent(name = "RoleRevoked", abi = "RoleRevoked(bytes32,address,address)")]
230 pub struct RoleRevokedFilter {
231 #[ethevent(indexed)]
232 pub role: [u8; 32],
233 #[ethevent(indexed)]
234 pub account: ::ethers_core::types::Address,
235 #[ethevent(indexed)]
236 pub sender: ::ethers_core::types::Address,
237 }
238 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
240 pub enum IAccessControlEnumerableEvents {
241 RoleAdminChangedFilter(RoleAdminChangedFilter),
242 RoleGrantedFilter(RoleGrantedFilter),
243 RoleRevokedFilter(RoleRevokedFilter),
244 }
245 impl ::ethers_contract::EthLogDecode for IAccessControlEnumerableEvents {
246 fn decode_log(
247 log: &::ethers_core::abi::RawLog,
248 ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
249 if let Ok(decoded) = RoleAdminChangedFilter::decode_log(log) {
250 return Ok(
251 IAccessControlEnumerableEvents::RoleAdminChangedFilter(decoded),
252 );
253 }
254 if let Ok(decoded) = RoleGrantedFilter::decode_log(log) {
255 return Ok(IAccessControlEnumerableEvents::RoleGrantedFilter(decoded));
256 }
257 if let Ok(decoded) = RoleRevokedFilter::decode_log(log) {
258 return Ok(IAccessControlEnumerableEvents::RoleRevokedFilter(decoded));
259 }
260 Err(::ethers_core::abi::Error::InvalidData)
261 }
262 }
263 impl ::core::fmt::Display for IAccessControlEnumerableEvents {
264 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
265 match self {
266 Self::RoleAdminChangedFilter(element) => {
267 ::core::fmt::Display::fmt(element, f)
268 }
269 Self::RoleGrantedFilter(element) => ::core::fmt::Display::fmt(element, f),
270 Self::RoleRevokedFilter(element) => ::core::fmt::Display::fmt(element, f),
271 }
272 }
273 }
274 impl ::core::convert::From<RoleAdminChangedFilter>
275 for IAccessControlEnumerableEvents {
276 fn from(value: RoleAdminChangedFilter) -> Self {
277 Self::RoleAdminChangedFilter(value)
278 }
279 }
280 impl ::core::convert::From<RoleGrantedFilter> for IAccessControlEnumerableEvents {
281 fn from(value: RoleGrantedFilter) -> Self {
282 Self::RoleGrantedFilter(value)
283 }
284 }
285 impl ::core::convert::From<RoleRevokedFilter> for IAccessControlEnumerableEvents {
286 fn from(value: RoleRevokedFilter) -> Self {
287 Self::RoleRevokedFilter(value)
288 }
289 }
290 #[derive(
292 Clone,
293 ::ethers_contract::EthCall,
294 ::ethers_contract::EthDisplay,
295 Default,
296 Debug,
297 PartialEq,
298 Eq,
299 Hash
300 )]
301 #[ethcall(name = "getRoleAdmin", abi = "getRoleAdmin(bytes32)")]
302 pub struct GetRoleAdminCall {
303 pub role: [u8; 32],
304 }
305 #[derive(
307 Clone,
308 ::ethers_contract::EthCall,
309 ::ethers_contract::EthDisplay,
310 Default,
311 Debug,
312 PartialEq,
313 Eq,
314 Hash
315 )]
316 #[ethcall(name = "getRoleMember", abi = "getRoleMember(bytes32,uint256)")]
317 pub struct GetRoleMemberCall {
318 pub role: [u8; 32],
319 pub index: ::ethers_core::types::U256,
320 }
321 #[derive(
323 Clone,
324 ::ethers_contract::EthCall,
325 ::ethers_contract::EthDisplay,
326 Default,
327 Debug,
328 PartialEq,
329 Eq,
330 Hash
331 )]
332 #[ethcall(name = "getRoleMemberCount", abi = "getRoleMemberCount(bytes32)")]
333 pub struct GetRoleMemberCountCall {
334 pub role: [u8; 32],
335 }
336 #[derive(
338 Clone,
339 ::ethers_contract::EthCall,
340 ::ethers_contract::EthDisplay,
341 Default,
342 Debug,
343 PartialEq,
344 Eq,
345 Hash
346 )]
347 #[ethcall(name = "grantRole", abi = "grantRole(bytes32,address)")]
348 pub struct GrantRoleCall {
349 pub role: [u8; 32],
350 pub account: ::ethers_core::types::Address,
351 }
352 #[derive(
354 Clone,
355 ::ethers_contract::EthCall,
356 ::ethers_contract::EthDisplay,
357 Default,
358 Debug,
359 PartialEq,
360 Eq,
361 Hash
362 )]
363 #[ethcall(name = "hasRole", abi = "hasRole(bytes32,address)")]
364 pub struct HasRoleCall {
365 pub role: [u8; 32],
366 pub account: ::ethers_core::types::Address,
367 }
368 #[derive(
370 Clone,
371 ::ethers_contract::EthCall,
372 ::ethers_contract::EthDisplay,
373 Default,
374 Debug,
375 PartialEq,
376 Eq,
377 Hash
378 )]
379 #[ethcall(name = "renounceRole", abi = "renounceRole(bytes32,address)")]
380 pub struct RenounceRoleCall {
381 pub role: [u8; 32],
382 pub account: ::ethers_core::types::Address,
383 }
384 #[derive(
386 Clone,
387 ::ethers_contract::EthCall,
388 ::ethers_contract::EthDisplay,
389 Default,
390 Debug,
391 PartialEq,
392 Eq,
393 Hash
394 )]
395 #[ethcall(name = "revokeRole", abi = "revokeRole(bytes32,address)")]
396 pub struct RevokeRoleCall {
397 pub role: [u8; 32],
398 pub account: ::ethers_core::types::Address,
399 }
400 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
402 pub enum IAccessControlEnumerableCalls {
403 GetRoleAdmin(GetRoleAdminCall),
404 GetRoleMember(GetRoleMemberCall),
405 GetRoleMemberCount(GetRoleMemberCountCall),
406 GrantRole(GrantRoleCall),
407 HasRole(HasRoleCall),
408 RenounceRole(RenounceRoleCall),
409 RevokeRole(RevokeRoleCall),
410 }
411 impl ::ethers_core::abi::AbiDecode for IAccessControlEnumerableCalls {
412 fn decode(
413 data: impl AsRef<[u8]>,
414 ) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
415 let data = data.as_ref();
416 if let Ok(decoded)
417 = <GetRoleAdminCall as ::ethers_core::abi::AbiDecode>::decode(data) {
418 return Ok(Self::GetRoleAdmin(decoded));
419 }
420 if let Ok(decoded)
421 = <GetRoleMemberCall as ::ethers_core::abi::AbiDecode>::decode(data) {
422 return Ok(Self::GetRoleMember(decoded));
423 }
424 if let Ok(decoded)
425 = <GetRoleMemberCountCall as ::ethers_core::abi::AbiDecode>::decode(
426 data,
427 ) {
428 return Ok(Self::GetRoleMemberCount(decoded));
429 }
430 if let Ok(decoded)
431 = <GrantRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
432 return Ok(Self::GrantRole(decoded));
433 }
434 if let Ok(decoded)
435 = <HasRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
436 return Ok(Self::HasRole(decoded));
437 }
438 if let Ok(decoded)
439 = <RenounceRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
440 return Ok(Self::RenounceRole(decoded));
441 }
442 if let Ok(decoded)
443 = <RevokeRoleCall as ::ethers_core::abi::AbiDecode>::decode(data) {
444 return Ok(Self::RevokeRole(decoded));
445 }
446 Err(::ethers_core::abi::Error::InvalidData.into())
447 }
448 }
449 impl ::ethers_core::abi::AbiEncode for IAccessControlEnumerableCalls {
450 fn encode(self) -> Vec<u8> {
451 match self {
452 Self::GetRoleAdmin(element) => {
453 ::ethers_core::abi::AbiEncode::encode(element)
454 }
455 Self::GetRoleMember(element) => {
456 ::ethers_core::abi::AbiEncode::encode(element)
457 }
458 Self::GetRoleMemberCount(element) => {
459 ::ethers_core::abi::AbiEncode::encode(element)
460 }
461 Self::GrantRole(element) => {
462 ::ethers_core::abi::AbiEncode::encode(element)
463 }
464 Self::HasRole(element) => ::ethers_core::abi::AbiEncode::encode(element),
465 Self::RenounceRole(element) => {
466 ::ethers_core::abi::AbiEncode::encode(element)
467 }
468 Self::RevokeRole(element) => {
469 ::ethers_core::abi::AbiEncode::encode(element)
470 }
471 }
472 }
473 }
474 impl ::core::fmt::Display for IAccessControlEnumerableCalls {
475 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
476 match self {
477 Self::GetRoleAdmin(element) => ::core::fmt::Display::fmt(element, f),
478 Self::GetRoleMember(element) => ::core::fmt::Display::fmt(element, f),
479 Self::GetRoleMemberCount(element) => {
480 ::core::fmt::Display::fmt(element, f)
481 }
482 Self::GrantRole(element) => ::core::fmt::Display::fmt(element, f),
483 Self::HasRole(element) => ::core::fmt::Display::fmt(element, f),
484 Self::RenounceRole(element) => ::core::fmt::Display::fmt(element, f),
485 Self::RevokeRole(element) => ::core::fmt::Display::fmt(element, f),
486 }
487 }
488 }
489 impl ::core::convert::From<GetRoleAdminCall> for IAccessControlEnumerableCalls {
490 fn from(value: GetRoleAdminCall) -> Self {
491 Self::GetRoleAdmin(value)
492 }
493 }
494 impl ::core::convert::From<GetRoleMemberCall> for IAccessControlEnumerableCalls {
495 fn from(value: GetRoleMemberCall) -> Self {
496 Self::GetRoleMember(value)
497 }
498 }
499 impl ::core::convert::From<GetRoleMemberCountCall>
500 for IAccessControlEnumerableCalls {
501 fn from(value: GetRoleMemberCountCall) -> Self {
502 Self::GetRoleMemberCount(value)
503 }
504 }
505 impl ::core::convert::From<GrantRoleCall> for IAccessControlEnumerableCalls {
506 fn from(value: GrantRoleCall) -> Self {
507 Self::GrantRole(value)
508 }
509 }
510 impl ::core::convert::From<HasRoleCall> for IAccessControlEnumerableCalls {
511 fn from(value: HasRoleCall) -> Self {
512 Self::HasRole(value)
513 }
514 }
515 impl ::core::convert::From<RenounceRoleCall> for IAccessControlEnumerableCalls {
516 fn from(value: RenounceRoleCall) -> Self {
517 Self::RenounceRole(value)
518 }
519 }
520 impl ::core::convert::From<RevokeRoleCall> for IAccessControlEnumerableCalls {
521 fn from(value: RevokeRoleCall) -> Self {
522 Self::RevokeRole(value)
523 }
524 }
525 #[derive(
527 Clone,
528 ::ethers_contract::EthAbiType,
529 ::ethers_contract::EthAbiCodec,
530 Default,
531 Debug,
532 PartialEq,
533 Eq,
534 Hash
535 )]
536 pub struct GetRoleAdminReturn(pub [u8; 32]);
537 #[derive(
539 Clone,
540 ::ethers_contract::EthAbiType,
541 ::ethers_contract::EthAbiCodec,
542 Default,
543 Debug,
544 PartialEq,
545 Eq,
546 Hash
547 )]
548 pub struct GetRoleMemberReturn(pub ::ethers_core::types::Address);
549 #[derive(
551 Clone,
552 ::ethers_contract::EthAbiType,
553 ::ethers_contract::EthAbiCodec,
554 Default,
555 Debug,
556 PartialEq,
557 Eq,
558 Hash
559 )]
560 pub struct GetRoleMemberCountReturn(pub ::ethers_core::types::U256);
561 #[derive(
563 Clone,
564 ::ethers_contract::EthAbiType,
565 ::ethers_contract::EthAbiCodec,
566 Default,
567 Debug,
568 PartialEq,
569 Eq,
570 Hash
571 )]
572 pub struct HasRoleReturn(pub bool);
573}