Skip to content
Lattice

CurveStableSwapAdapterLib Constants

Git Source

CURVE_STABLE_SWAP_ADAPTER_STORAGE_SLOT

keccak256(abi.encode(uint256(keccak256("lattice.storage.CurveStableSwapAdapter")) - 1)) & ~bytes32(uint256(0xff)). Precomputed: 0x9a875cb7e904ab3576fe7e6b7405b28b9f810acb5bf4def0fec57c5e754def00

bytes32 constant CURVE_STABLE_SWAP_ADAPTER_STORAGE_SLOT =
    0x9a875cb7e904ab3576fe7e6b7405b28b9f810acb5bf4def0fec57c5e754def00;

CURVE_STABLE_SWAP_ADAPTER_ERC165_STORAGE_LOCATION

ERC-165 storage location (shared across all Lattice modules). keccak256(abi.encode(uint256(keccak256("diamond.lib.storage.ERC165")) - 1)) & ~bytes32(uint256(0xff)).

bytes32 constant CURVE_STABLE_SWAP_ADAPTER_ERC165_STORAGE_LOCATION =
    0x9ca7f3e2e2bfb15fdf072b85dde92837cddacee6cf2f6b38cd06c9457c1c4200;

ERC165_MAP_IPROTOCOLADAPTER_SLOT

0x8f7783e6 is type(IProtocolAdapter).interfaceId (same value the Aave/Compound/ERC4626 adapters register; the ERC-165 map slot is shared because the interface ID is identical). keccak256(abi.encode(bytes4(0x8f7783e6), 0x9ca7f3e2e2bfb15fdf072b85dde92837cddacee6cf2f6b38cd06c9457c1c4200)).

bytes32 constant ERC165_MAP_IPROTOCOLADAPTER_SLOT = 0x789387b95720f4aa713e912bc377a2f999f1310b69003727d9c01b7ea1494c77;

ERC165_MAP_ICURVESTABLESWAPADAPTER_SLOT

0xfa38ccb7 is type(ICurveStableSwapAdapter).interfaceId. keccak256(abi.encode(bytes4(0xfa38ccb7), 0x9ca7f3e2e2bfb15fdf072b85dde92837cddacee6cf2f6b38cd06c9457c1c4200)).

bytes32 constant ERC165_MAP_ICURVESTABLESWAPADAPTER_SLOT =
    0x5d7c390f2f6bf0ca6f51b6ea0940c100b21726e3e202811c94c2ff39040d4299;

CURVE_BPS_DENOMINATOR

Basis-point denominator for the slippage tolerance.

uint256 constant CURVE_BPS_DENOMINATOR = 10_000;