vanity_miner/createx/
config.rs1use alloy_primitives::{Address, B256, ChainId};
2use serde::{Deserialize, Serialize};
3
4#[cfg(target_arch = "wasm32")]
5use crate::wasm_serde;
6
7#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
9pub struct Create3Config {
10 pub deployer: Address,
12 pub caller: Option<Address>,
14 pub chain_id: Option<ChainId>,
16 #[cfg_attr(
18 target_arch = "wasm32",
19 serde(deserialize_with = "wasm_serde::deserialize_u64")
20 )]
21 pub max_iterations: u64,
22 #[cfg_attr(
24 target_arch = "wasm32",
25 serde(deserialize_with = "wasm_serde::deserialize_u64")
26 )]
27 pub max_results: u64,
28 #[cfg_attr(
30 target_arch = "wasm32",
31 serde(deserialize_with = "wasm_serde::deserialize_option_u128")
32 )]
33 pub seed: Option<u128>,
34}
35
36#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
38pub struct Create3Match {
39 pub salt: B256,
41 pub guarded_salt: B256,
43 pub computed_address: Address,
45}
46
47#[derive(Debug, Serialize, Deserialize)]
49pub struct Create3Result {
50 pub results: Vec<Create3Match>,
52 #[cfg_attr(
54 target_arch = "wasm32",
55 serde(serialize_with = "crate::wasm_serde::serialize_usize")
56 )]
57 pub total_iterations: usize,
58}
59
60#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
62pub struct Create2Config {
63 pub deployer: Address,
65 pub init_code_hash: B256,
67 #[cfg_attr(
69 target_arch = "wasm32",
70 serde(deserialize_with = "wasm_serde::deserialize_u64")
71 )]
72 pub max_iterations: u64,
73 #[cfg_attr(
75 target_arch = "wasm32",
76 serde(deserialize_with = "wasm_serde::deserialize_u64")
77 )]
78 pub max_results: u64,
79 #[cfg_attr(
81 target_arch = "wasm32",
82 serde(deserialize_with = "wasm_serde::deserialize_option_u128")
83 )]
84 pub seed: Option<u128>,
85}
86
87#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
89pub struct Create2Match {
90 pub salt: B256,
92 pub computed_address: Address,
94}
95
96#[derive(Debug, Serialize, Deserialize)]
98pub struct Create2Result {
99 pub results: Vec<Create2Match>,
101 #[cfg_attr(
103 target_arch = "wasm32",
104 serde(serialize_with = "crate::wasm_serde::serialize_usize")
105 )]
106 pub total_iterations: usize,
107}