trident-evm-aa 0.3.0

Rust glue for the Trident minimal EIP-7702 smart account: deploy, install, and batch transactions.
Documentation
//! `sol!`-generated types used by the rest of the crate.
//!
//! - [`TridentAccount`] is artifact-mode: the macro pulls ABI + creation
//!   bytecode from `contracts/out/TridentAccount.sol/TridentAccount.json`,
//!   so `forge build` must run before `cargo build`.
//! - [`Multicall3`] is an inline interface — only the bits needed to encode
//!   `aggregate3Value` for [`MulticallBuilder`][crate::call_builder::MulticallBuilder].

alloy_sol_types::sol!(
    #[sol(rpc)]
    TridentAccount,
    concat!(
        env!("CARGO_MANIFEST_DIR"),
        "/artifacts/TridentAccount.sol/TridentAccount.json"
    )
);

alloy_sol_types::sol! {
    interface Multicall3 {
        struct Call3Value {
            address target;
            bool allowFailure;
            uint256 value;
            bytes callData;
        }

        struct Result {
            bool success;
            bytes returnData;
        }

        function aggregate3Value(Call3Value[] calldata calls)
            external
            payable
            returns (Result[] memory returnData);
    }
}