1#![cfg_attr(not(test), warn(unused_crate_dependencies))]
4#![cfg_attr(docsrs, feature(doc_cfg))]
5
6use alloy::primitives::{Address, address};
7
8pub const MULTICALL_ADDRESS: Address = alloy::providers::MULTICALL3_ADDRESS;
9pub const CREATEX_ADDRESS: Address = address!("0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed");
10pub const SAFE_DEPLOYER_ADDRESS: Address = address!("0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7");
11pub const PERMIT2_ADDRESS: Address = address!("0x000000000022d473030f116ddee9f6b43ac78ba3");
12pub const DEFAULT_7702_DELEGATE_ADDRESS: Address =
13 address!("0x7702c00000000000000000000000000000000000");
14pub const ARACHNID_CREATE2_FACTORY_ADDRESS: Address =
15 address!("0x4e59b44847b379578588920cA78FbF26c0B4956C");
16
17pub mod contracts {
18 use alloy::{
19 primitives::{Bytes, bytes},
20 sol,
21 };
22
23 sol!(
24 #[allow(missing_docs)]
25 #[sol(rpc)]
26 Multicall,
27 "abi/Multicall.json",
28 );
29
30 sol!(
31 #[allow(missing_docs)]
32 #[sol(rpc)]
33 CreateX,
34 "abi/CreateX.json",
35 );
36
37 sol!(
38 #[allow(missing_docs)]
39 #[sol(rpc)]
40 Permit2,
41 "abi/Permit2.json"
42 );
43
44 sol!(
45 #[allow(missing_docs)]
46 #[sol(rpc)]
47 IthacaAccount,
48 "abi/IthacaAccount.json",
49 );
50
51 sol!(
52 #[allow(missing_docs)]
53 #[sol(rpc)]
54 SafeDeployer,
55 "abi/SafeDeployer.json",
56 );
57
58 pub const ARACHNID_CREATE2_FACTORY_BYTECODE: Bytes = bytes!(
59 "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3"
60 );
61}
62
63pub use contracts::{CreateX, IthacaAccount, Multicall, Permit2, SafeDeployer};
64
65pub mod precompiles;