openzeppelin_rs/contracts/
LibAMB.rs

1pub use lib_amb::*;
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 lib_amb {
13    #[rustfmt::skip]
14    const __ABI: &str = "[]";
15    ///The parsed JSON ABI of the contract.
16    pub static LIBAMB_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    #[rustfmt::skip]
19    const __BYTECODE: &[u8] = &[
20        96,
21        86,
22        96,
23        55,
24        96,
25        11,
26        130,
27        130,
28        130,
29        57,
30        128,
31        81,
32        96,
33        0,
34        26,
35        96,
36        115,
37        20,
38        96,
39        42,
40        87,
41        99,
42        78,
43        72,
44        123,
45        113,
46        96,
47        224,
48        27,
49        96,
50        0,
51        82,
52        96,
53        0,
54        96,
55        4,
56        82,
57        96,
58        36,
59        96,
60        0,
61        253,
62        91,
63        48,
64        96,
65        0,
66        82,
67        96,
68        115,
69        129,
70        83,
71        130,
72        129,
73        243,
74        254,
75        115,
76        0,
77        0,
78        0,
79        0,
80        0,
81        0,
82        0,
83        0,
84        0,
85        0,
86        0,
87        0,
88        0,
89        0,
90        0,
91        0,
92        0,
93        0,
94        0,
95        0,
96        48,
97        20,
98        96,
99        128,
100        96,
101        64,
102        82,
103        96,
104        0,
105        128,
106        253,
107        254,
108        162,
109        100,
110        105,
111        112,
112        102,
113        115,
114        88,
115        34,
116        18,
117        32,
118        195,
119        125,
120        132,
121        53,
122        33,
123        146,
124        169,
125        209,
126        201,
127        209,
128        54,
129        243,
130        171,
131        171,
132        170,
133        185,
134        13,
135        143,
136        188,
137        11,
138        252,
139        84,
140        189,
141        250,
142        213,
143        151,
144        167,
145        108,
146        209,
147        21,
148        163,
149        53,
150        100,
151        115,
152        111,
153        108,
154        99,
155        67,
156        0,
157        8,
158        13,
159        0,
160        51,
161    ];
162    ///The bytecode of the contract.
163    pub static LIBAMB_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
164        __BYTECODE,
165    );
166    #[rustfmt::skip]
167    const __DEPLOYED_BYTECODE: &[u8] = &[
168        115,
169        0,
170        0,
171        0,
172        0,
173        0,
174        0,
175        0,
176        0,
177        0,
178        0,
179        0,
180        0,
181        0,
182        0,
183        0,
184        0,
185        0,
186        0,
187        0,
188        0,
189        48,
190        20,
191        96,
192        128,
193        96,
194        64,
195        82,
196        96,
197        0,
198        128,
199        253,
200        254,
201        162,
202        100,
203        105,
204        112,
205        102,
206        115,
207        88,
208        34,
209        18,
210        32,
211        195,
212        125,
213        132,
214        53,
215        33,
216        146,
217        169,
218        209,
219        201,
220        209,
221        54,
222        243,
223        171,
224        171,
225        170,
226        185,
227        13,
228        143,
229        188,
230        11,
231        252,
232        84,
233        189,
234        250,
235        213,
236        151,
237        167,
238        108,
239        209,
240        21,
241        163,
242        53,
243        100,
244        115,
245        111,
246        108,
247        99,
248        67,
249        0,
250        8,
251        13,
252        0,
253        51,
254    ];
255    ///The deployed bytecode of the contract.
256    pub static LIBAMB_DEPLOYED_BYTECODE: ::ethers_core::types::Bytes = ::ethers_core::types::Bytes::from_static(
257        __DEPLOYED_BYTECODE,
258    );
259    pub struct LibAMB<M>(::ethers_contract::Contract<M>);
260    impl<M> ::core::clone::Clone for LibAMB<M> {
261        fn clone(&self) -> Self {
262            Self(::core::clone::Clone::clone(&self.0))
263        }
264    }
265    impl<M> ::core::ops::Deref for LibAMB<M> {
266        type Target = ::ethers_contract::Contract<M>;
267        fn deref(&self) -> &Self::Target {
268            &self.0
269        }
270    }
271    impl<M> ::core::ops::DerefMut for LibAMB<M> {
272        fn deref_mut(&mut self) -> &mut Self::Target {
273            &mut self.0
274        }
275    }
276    impl<M> ::core::fmt::Debug for LibAMB<M> {
277        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
278            f.debug_tuple(stringify!(LibAMB)).field(&self.address()).finish()
279        }
280    }
281    impl<M: ::ethers_providers::Middleware> LibAMB<M> {
282        /// Creates a new contract instance with the specified `ethers` client at
283        /// `address`. The contract derefs to a `ethers::Contract` object.
284        pub fn new<T: Into<::ethers_core::types::Address>>(
285            address: T,
286            client: ::std::sync::Arc<M>,
287        ) -> Self {
288            Self(
289                ::ethers_contract::Contract::new(
290                    address.into(),
291                    LIBAMB_ABI.clone(),
292                    client,
293                ),
294            )
295        }
296        /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
297        /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
298        ///
299        /// Notes:
300        /// - If there are no constructor arguments, you should pass `()` as the argument.
301        /// - The default poll duration is 7 seconds.
302        /// - The default number of confirmations is 1 block.
303        ///
304        ///
305        /// # Example
306        ///
307        /// Generate contract bindings with `abigen!` and deploy a new contract instance.
308        ///
309        /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact.
310        ///
311        /// ```ignore
312        /// # async fn deploy<M: ethers::providers::Middleware>(client: ::std::sync::Arc<M>) {
313        ///     abigen!(Greeter, "../greeter.json");
314        ///
315        ///    let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap();
316        ///    let msg = greeter_contract.greet().call().await.unwrap();
317        /// # }
318        /// ```
319        pub fn deploy<T: ::ethers_core::abi::Tokenize>(
320            client: ::std::sync::Arc<M>,
321            constructor_args: T,
322        ) -> ::core::result::Result<
323            ::ethers_contract::builders::ContractDeployer<M, Self>,
324            ::ethers_contract::ContractError<M>,
325        > {
326            let factory = ::ethers_contract::ContractFactory::new(
327                LIBAMB_ABI.clone(),
328                LIBAMB_BYTECODE.clone().into(),
329                client,
330            );
331            let deployer = factory.deploy(constructor_args)?;
332            let deployer = ::ethers_contract::ContractDeployer::new(deployer);
333            Ok(deployer)
334        }
335    }
336    impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
337    for LibAMB<M> {
338        fn from(contract: ::ethers_contract::Contract<M>) -> Self {
339            Self::new(contract.address(), contract.client())
340        }
341    }
342}