|
1 | 1 | use context_interface::CreateScheme; |
2 | | -use primitives::{Address, Bytes, U256}; |
3 | 2 | use core::cell::OnceCell; |
| 3 | +use primitives::{Address, Bytes, U256}; |
4 | 4 |
|
5 | 5 | /// Inputs for a create call |
6 | 6 | #[derive(Clone, Debug, Default, PartialEq, Eq)] |
@@ -40,19 +40,17 @@ impl CreateInputs { |
40 | 40 | cached_address: OnceCell::new(), |
41 | 41 | } |
42 | 42 | } |
43 | | - |
| 43 | + |
44 | 44 | /// Returns the address that this create call will create. |
45 | 45 | /// |
46 | 46 | /// The result is cached to avoid redundant keccak computations. |
47 | 47 | pub fn created_address(&self, nonce: u64) -> Address { |
48 | | - *self.cached_address.get_or_init(|| { |
49 | | - match self.scheme { |
50 | | - CreateScheme::Create => self.caller.create(nonce), |
51 | | - CreateScheme::Create2 { salt } => self |
52 | | - .caller |
53 | | - .create2_from_code(salt.to_be_bytes(), &self.init_code), |
54 | | - CreateScheme::Custom { address } => address, |
55 | | - } |
| 48 | + *self.cached_address.get_or_init(|| match self.scheme { |
| 49 | + CreateScheme::Create => self.caller.create(nonce), |
| 50 | + CreateScheme::Create2 { salt } => self |
| 51 | + .caller |
| 52 | + .create2_from_code(salt.to_be_bytes(), &self.init_code), |
| 53 | + CreateScheme::Custom { address } => address, |
56 | 54 | }) |
57 | 55 | } |
58 | 56 | } |
0 commit comments