ERC1167 demonstration
- Lingua principale
- Rust
- Stelle
- 234
- Fork
- 64
- Merge medio
- 19h 34m
- PR unite (30g)
- 6
Descrizione
### Component
consensus, eips, genesis
### Describe the feature you would like
https://eips.ethereum.org/EIPS/eip-1167
```rust
use alloy::primitives::{hex, Address, FixedBytes};
const INITIALIZATION_CODE: FixedBytes<10> = FixedBytes::new(hex!("3d602d80600a3d3981f3"));
const RUNTIME_CODE_1: FixedBytes<10> = FixedBytes::new(hex!("363d3d373d3d3d363d73"));
const RUNTIME_CODE_2: FixedBytes<15> = FixedBytes::new(hex!("5af43d82803e903d91602b57fd5bf3"));
pub const fn minimal_proxy_bytecode(address: [u8; 20]) -> [u8; 55] {
let address = Address::new(address);
let part1: FixedBytes<20> = INITIALIZATION_CODE.concat_const(RUNTIME_CODE_1);
let part2: FixedBytes<40> = part1.concat_const(address.0);
let part3: FixedBytes<55> = part2.concat_const(RUNTIME_CODE_2);
part3.0
}
```
We could also make an extension method (a trait in alloy-eips implemented for `alloy::primitives::Address`) similar to [`alloy::primitives::Address::create2(...)`](https://docs.rs/alloy/latest/alloy/primitives/struct.Address.html#method.create2).
### Additional context
_No response_
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.