openzeppelin_rs/contracts/
ERC1967Upgrade.rs1pub use erc1967_upgrade::*;
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 erc1967_upgrade {
13 #[rustfmt::skip]
14 const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"AdminChanged\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"BeaconUpgraded\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"Upgraded\",\"outputs\":[],\"anonymous\":false}]";
15 pub static ERC1967UPGRADE_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 ERC1967Upgrade<M>(::ethers_contract::Contract<M>);
19 impl<M> ::core::clone::Clone for ERC1967Upgrade<M> {
20 fn clone(&self) -> Self {
21 Self(::core::clone::Clone::clone(&self.0))
22 }
23 }
24 impl<M> ::core::ops::Deref for ERC1967Upgrade<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 ERC1967Upgrade<M> {
31 fn deref_mut(&mut self) -> &mut Self::Target {
32 &mut self.0
33 }
34 }
35 impl<M> ::core::fmt::Debug for ERC1967Upgrade<M> {
36 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
37 f.debug_tuple(stringify!(ERC1967Upgrade)).field(&self.address()).finish()
38 }
39 }
40 impl<M: ::ethers_providers::Middleware> ERC1967Upgrade<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 ERC1967UPGRADE_ABI.clone(),
51 client,
52 ),
53 )
54 }
55 pub fn admin_changed_filter(
57 &self,
58 ) -> ::ethers_contract::builders::Event<
59 ::std::sync::Arc<M>,
60 M,
61 AdminChangedFilter,
62 > {
63 self.0.event()
64 }
65 pub fn beacon_upgraded_filter(
67 &self,
68 ) -> ::ethers_contract::builders::Event<
69 ::std::sync::Arc<M>,
70 M,
71 BeaconUpgradedFilter,
72 > {
73 self.0.event()
74 }
75 pub fn upgraded_filter(
77 &self,
78 ) -> ::ethers_contract::builders::Event<::std::sync::Arc<M>, M, UpgradedFilter> {
79 self.0.event()
80 }
81 pub fn events(
83 &self,
84 ) -> ::ethers_contract::builders::Event<
85 ::std::sync::Arc<M>,
86 M,
87 ERC1967UpgradeEvents,
88 > {
89 self.0.event_with_filter(::core::default::Default::default())
90 }
91 }
92 impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
93 for ERC1967Upgrade<M> {
94 fn from(contract: ::ethers_contract::Contract<M>) -> Self {
95 Self::new(contract.address(), contract.client())
96 }
97 }
98 #[derive(
99 Clone,
100 ::ethers_contract::EthEvent,
101 ::ethers_contract::EthDisplay,
102 Default,
103 Debug,
104 PartialEq,
105 Eq,
106 Hash
107 )]
108 #[ethevent(name = "AdminChanged", abi = "AdminChanged(address,address)")]
109 pub struct AdminChangedFilter {
110 pub previous_admin: ::ethers_core::types::Address,
111 pub new_admin: ::ethers_core::types::Address,
112 }
113 #[derive(
114 Clone,
115 ::ethers_contract::EthEvent,
116 ::ethers_contract::EthDisplay,
117 Default,
118 Debug,
119 PartialEq,
120 Eq,
121 Hash
122 )]
123 #[ethevent(name = "BeaconUpgraded", abi = "BeaconUpgraded(address)")]
124 pub struct BeaconUpgradedFilter {
125 #[ethevent(indexed)]
126 pub beacon: ::ethers_core::types::Address,
127 }
128 #[derive(
129 Clone,
130 ::ethers_contract::EthEvent,
131 ::ethers_contract::EthDisplay,
132 Default,
133 Debug,
134 PartialEq,
135 Eq,
136 Hash
137 )]
138 #[ethevent(name = "Upgraded", abi = "Upgraded(address)")]
139 pub struct UpgradedFilter {
140 #[ethevent(indexed)]
141 pub implementation: ::ethers_core::types::Address,
142 }
143 #[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
145 pub enum ERC1967UpgradeEvents {
146 AdminChangedFilter(AdminChangedFilter),
147 BeaconUpgradedFilter(BeaconUpgradedFilter),
148 UpgradedFilter(UpgradedFilter),
149 }
150 impl ::ethers_contract::EthLogDecode for ERC1967UpgradeEvents {
151 fn decode_log(
152 log: &::ethers_core::abi::RawLog,
153 ) -> ::core::result::Result<Self, ::ethers_core::abi::Error> {
154 if let Ok(decoded) = AdminChangedFilter::decode_log(log) {
155 return Ok(ERC1967UpgradeEvents::AdminChangedFilter(decoded));
156 }
157 if let Ok(decoded) = BeaconUpgradedFilter::decode_log(log) {
158 return Ok(ERC1967UpgradeEvents::BeaconUpgradedFilter(decoded));
159 }
160 if let Ok(decoded) = UpgradedFilter::decode_log(log) {
161 return Ok(ERC1967UpgradeEvents::UpgradedFilter(decoded));
162 }
163 Err(::ethers_core::abi::Error::InvalidData)
164 }
165 }
166 impl ::core::fmt::Display for ERC1967UpgradeEvents {
167 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
168 match self {
169 Self::AdminChangedFilter(element) => {
170 ::core::fmt::Display::fmt(element, f)
171 }
172 Self::BeaconUpgradedFilter(element) => {
173 ::core::fmt::Display::fmt(element, f)
174 }
175 Self::UpgradedFilter(element) => ::core::fmt::Display::fmt(element, f),
176 }
177 }
178 }
179 impl ::core::convert::From<AdminChangedFilter> for ERC1967UpgradeEvents {
180 fn from(value: AdminChangedFilter) -> Self {
181 Self::AdminChangedFilter(value)
182 }
183 }
184 impl ::core::convert::From<BeaconUpgradedFilter> for ERC1967UpgradeEvents {
185 fn from(value: BeaconUpgradedFilter) -> Self {
186 Self::BeaconUpgradedFilter(value)
187 }
188 }
189 impl ::core::convert::From<UpgradedFilter> for ERC1967UpgradeEvents {
190 fn from(value: UpgradedFilter) -> Self {
191 Self::UpgradedFilter(value)
192 }
193 }
194}