Skip to main content

Crate cow_chains

Crate cow_chains 

Source
Expand description

cow-chains — Layer 0 chain configuration for the CoW Protocol SDK.

Centralises all deployment-specific knowledge: which chains are supported, where the protocol contracts live, what the native/wrapped tokens are, and how to reach the orderbook API.

This crate sits at Layer 0 of the workspace DAG and has no dependencies on any other internal crate.

§Submodules

ModulePurpose
chainSupportedChainId, Env, API base URLs, explorer links
chainsExtended chain enums (EvmChains, NonEvmChains), rich ChainInfo metadata, classification helpers
contractsProtocol contract addresses (SETTLEMENT_CONTRACT, VAULT_RELAYER, …), CREATE2 helpers, EIP-1967 proxy slots
tokensNative/wrapped currency constants and per-chain TokenInfo
paramsCowSwapConfig executor configuration and TokenRegistry

Re-exports§

pub use chain::Env;
pub use chain::SupportedChainId;
pub use chain::api_base_url;
pub use chain::api_url;
pub use chains::AdditionalTargetChainId;
pub use chains::AddressPerChain;
pub use chains::ApiBaseUrls;
pub use chains::ApiContext;
pub use chains::ChainContract;
pub use chains::ChainContracts;
pub use chains::ChainInfo;
pub use chains::ChainRpcUrls;
pub use chains::ChainTokenInfo;
pub use chains::EvmCall;
pub use chains::EvmChainInfo;
pub use chains::EvmChains;
pub use chains::IpfsConfig;
pub use chains::NonEvmChainInfo;
pub use chains::NonEvmChains;
pub use chains::ProtocolOptions;
pub use chains::RAW_CHAINS_FILES_PATH;
pub use chains::RAW_FILES_PATH;
pub use chains::TOKEN_LIST_IMAGES_PATH;
pub use chains::TargetChainId;
pub use chains::ThemedImage;
pub use chains::WebUrl;
pub use chains::additional_target_chain_info;
pub use chains::all_additional_target_chain_ids;
pub use chains::all_additional_target_chains;
pub use chains::all_chain_ids;
pub use chains::all_chains;
pub use chains::all_supported_chain_ids;
pub use chains::all_supported_chains;
pub use chains::get_chain_info;
pub use chains::is_additional_target_chain;
pub use chains::is_btc_chain;
pub use chains::is_chain_deprecated;
pub use chains::is_chain_under_development;
pub use chains::is_evm_chain;
pub use chains::is_evm_chain_info;
pub use chains::is_non_evm_chain;
pub use chains::is_non_evm_chain_info;
pub use chains::is_supported_chain;
pub use chains::is_target_chain_id;
pub use chains::is_zk_sync_chain;
pub use chains::map_address_to_supported_networks;
pub use chains::map_all_networks;
pub use chains::map_supported_networks;
pub use chains::supported_chain_info;
pub use chains::tradable_supported_chain_ids;
pub use chains::tradable_supported_chains;
pub use contracts::BARN_ETH_FLOW;
pub use contracts::BUY_ETH_ADDRESS;
pub use contracts::COMPOSABLE_COW;
pub use contracts::DEPLOYER_CONTRACT;
pub use contracts::ETH_FLOW_PROD;
pub use contracts::ETH_FLOW_STAGING;
pub use contracts::EXTENSIBLE_FALLBACK_HANDLER;
pub use contracts::IMPLEMENTATION_STORAGE_SLOT;
pub use contracts::MAX_VALID_TO_EPOCH;
pub use contracts::OWNER_STORAGE_SLOT;
pub use contracts::SALT;
pub use contracts::SETTLEMENT_CONTRACT;
pub use contracts::SETTLEMENT_CONTRACT_STAGING;
pub use contracts::VAULT_RELAYER;
pub use contracts::VAULT_RELAYER_STAGING;
pub use contracts::composable_cow;
pub use contracts::composable_cow_contract_address;
pub use contracts::cow_protocol_settlement_contract_address;
pub use contracts::cow_protocol_vault_relayer_address;
pub use contracts::cow_protocol_vault_relayer_address_staging;
pub use contracts::deterministic_deployment_address;
pub use contracts::eth_flow_for_env;
pub use contracts::extensible_fallback_handler;
pub use contracts::extensible_fallback_handler_contract_address;
pub use contracts::implementation_address_slot;
pub use contracts::owner_address_slot;
pub use contracts::settlement_contract;
pub use contracts::settlement_contract_for_env;
pub use contracts::vault_relayer;
pub use contracts::vault_relayer_for_env;
pub use params::CowSwapConfig;
pub use params::TokenRegistry;
pub use tokens::BTC_CURRENCY_ADDRESS;
pub use tokens::EVM_NATIVE_CURRENCY_ADDRESS;
pub use tokens::NATIVE_CURRENCY_ADDRESS;
pub use tokens::SOL_NATIVE_CURRENCY_ADDRESS;
pub use tokens::TokenInfo;
pub use tokens::get_wrapped_token_for_chain;
pub use tokens::wrapped_native_currency;

Modules§

chain
Supported chain IDs, API base URLs, and explorer link helpers.
chains
Extended chain enums, chain info types, and utility functions.
contracts
Per-chain CoW Protocol contract addresses.
params
High-level executor configuration for CoW Protocol swap operations.
tokens
Token constants and per-chain wrapped-native-currency info.