degenbot.aerodrome.functions¶

Aerodrome deterministic CREATE2 pool-address derivation (EIP-1167 clones).

Delegating shells over the Rust compute_aerodrome_v2_pool_address / compute_aerodrome_v3_pool_address pyfunctions (the pure-Rust degenbot_uniswap::create2::compute_aerodrome_v2_address / compute_aerodrome_v3_address leaves, re-exported through the degenbot.aerodrome.address barrier per ADR-013). These address helpers were routed through the Rust seam and their pure-Python eip_1167_clone_address / keccak256 / encode_packed / abi_encode bodies deleted — the Python functions are now thin pass-throughs, and the Rust #[cfg(test)] corpus is the §4.2 regression set.

Module Contents¶

degenbot.aerodrome.functions.generate_aerodrome_v2_pool_address(*, deployer_address: str | bytes, token_addresses: collections.abc.Sequence[str | bytes], implementation_address: str | bytes, stable: bool) → degenbot._ffi.ChecksummedAddress¶

Get the deterministic V2 pool address generated by CREATE2.

Uses the token addresses to generate the salt. The token addresses can be passed in any order.

Adapted from https://github.com/aerodrome-finance/contracts/blob/main/contracts/factories/PoolFactory.sol and https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/Clones.sol

Returns:

The computed value.

degenbot.aerodrome.functions.generate_aerodrome_v3_pool_address(deployer_address: str | bytes, token_addresses: collections.abc.Sequence[str | bytes], implementation_address: str | bytes, tick_spacing: int) → degenbot._ffi.ChecksummedAddress¶

Get the deterministic V3 pool address generated by CREATE2.

Uses the token addresses to generate the salt. The token addresses can be passed in any order.

Adapted from https://github.com/aerodrome-finance/slipstream/blob/main/contracts/core/CLFactory.sol and https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/Clones.sol

Returns:

The computed value.