pub struct BlockchainExecutionClientConfig {Show 28 fields
pub client_id: AccountId,
pub chain: Chain,
pub wallet_address: String,
pub tokens: Option<Vec<String>>,
pub http_rpc_url: String,
pub verification: Option<BlockchainVerificationConfig>,
pub rpc_requests_per_second: Option<u32>,
pub signer_private_key_env: String,
pub payload_key_env: Option<String>,
pub payload_key_retired_env: Vec<String>,
pub payload_deployment_id: Option<String>,
pub router_addresses: Vec<String>,
pub weth_address: String,
pub unlimited_approval: bool,
pub max_fee_per_gas_wei: u64,
pub base_fee_buffer_bps: u32,
pub gas_limit: u64,
pub gas_buffer_bps: u32,
pub allowed_token_pairs: Option<Vec<(String, String)>>,
pub quote_spend_limits: Option<Vec<QuoteSpendLimit>>,
pub slippage_bps: Option<u32>,
pub max_slippage_bps: Option<u32>,
pub max_order_amount: Option<u64>,
pub deadline_seconds: Option<u64>,
pub max_quote_age_blocks: Option<u64>,
pub receipt_timeout_secs: Option<u64>,
pub postgres_cache_database_config: Option<PostgresConnectOptions>,
pub transport_backend: TransportBackend,
}Fields§
§client_id: AccountIdThe account ID for the client.
chain: ChainThe blockchain chain configuration.
wallet_address: StringThe wallet address of the execution client.
tokens: Option<Vec<String>>Token universe: set of ERC-20 token addresses to monitor for balance tracking.
http_rpc_url: StringThe HTTP URL for the blockchain RPC endpoint.
verification: Option<BlockchainVerificationConfig>Independent provider topology, chain checkpoint, and deployment manifest identity.
rpc_requests_per_second: Option<u32>The maximum number of RPC requests allowed per second.
signer_private_key_env: StringName of the environment variable holding the signer private key.
payload_key_env: Option<String>Name of the environment variable holding the active transaction payload sealing key.
payload_key_retired_env: Vec<String>Names of environment variables holding retired payload keys used only for unsealing.
payload_deployment_id: Option<String>Stable identifier bound to this execution database’s sealed payloads.
router_addresses: Vec<String>Allowed SwapRouter addresses for approval and swap transactions.
weth_address: StringWrapped native token address for wrap operations.
unlimited_approval: boolWhether to approve routers with an unlimited allowance instead of the exact amount.
max_fee_per_gas_wei: u64Hard ceiling for the derived max fee per gas in wei; conditions above it reject the transaction.
base_fee_buffer_bps: u32Buffer in basis points applied over the latest base fee.
gas_limit: u64Gas ceiling in units; buffered estimates above it reject the transaction before signing (never clamp).
gas_buffer_bps: u32Buffer in basis points applied over the eth_estimateGas result.
allowed_token_pairs: Option<Vec<(String, String)>>Allowed (input token, output token) address pairs for swaps.
quote_spend_limits: Option<Vec<QuoteSpendLimit>>Pair-specific maximum quote-token spends for BUY swaps.
slippage_bps: Option<u32>Default slippage in basis points applied to derive the swap minimum output.
max_slippage_bps: Option<u32>Maximum slippage in basis points accepted from a per-order parameter override.
max_order_amount: Option<u64>Per-order ceiling for the submitted base quantity, in raw units of the pool’s base token.
deadline_seconds: Option<u64>Swap deadline offset in seconds from the latest block timestamp.
max_quote_age_blocks: Option<u64>Maximum age of the local pool state in blocks for a quote to be usable.
receipt_timeout_secs: Option<u64>Inclusion timeout in seconds before a broadcast transaction is treated as dropped.
postgres_cache_database_config: Option<PostgresConnectOptions>Durable store for execution transaction records; the client refuses to submit any transaction without it.
transport_backend: TransportBackendWebSocket transport backend (defaults to Sockudo).
Implementations§
Source§impl BlockchainExecutionClientConfig
impl BlockchainExecutionClientConfig
Sourcepub fn builder() -> BlockchainExecutionClientConfigBuilder
pub fn builder() -> BlockchainExecutionClientConfigBuilder
Create an instance of BlockchainExecutionClientConfig using the builder syntax
Trait Implementations§
Source§impl ClientConfig for BlockchainExecutionClientConfig
impl ClientConfig for BlockchainExecutionClientConfig
Source§impl Clone for BlockchainExecutionClientConfig
impl Clone for BlockchainExecutionClientConfig
Source§fn clone(&self) -> BlockchainExecutionClientConfig
fn clone(&self) -> BlockchainExecutionClientConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl DerefToPyAny for BlockchainExecutionClientConfig
Source§impl<'de> Deserialize<'de> for BlockchainExecutionClientConfig
impl<'de> Deserialize<'de> for BlockchainExecutionClientConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'py> FromPyObject<'a, 'py> for BlockchainExecutionClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for BlockchainExecutionClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for BlockchainExecutionClientConfig
impl<'py> IntoPyObject<'py> for BlockchainExecutionClientConfig
Source§type Target = BlockchainExecutionClientConfig
type Target = BlockchainExecutionClientConfig
Source§type Output = Bound<'py, <BlockchainExecutionClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <BlockchainExecutionClientConfig as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for BlockchainExecutionClientConfig
impl PyClass for BlockchainExecutionClientConfig
Source§impl PyClassImpl for BlockchainExecutionClientConfig
impl PyClassImpl for BlockchainExecutionClientConfig
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = c"\x00"
const RAW_DOC: &'static CStr = c"\x00"
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<BlockchainExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BlockchainExecutionClientConfig>
type Layout = <<BlockchainExecutionClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BlockchainExecutionClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForBlockchainExecutionClientConfig
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for BlockchainExecutionClientConfig
impl PyClassNewTextSignature for BlockchainExecutionClientConfig
const TEXT_SIGNATURE: &'static str = "(client_id, chain, wallet_address, http_rpc_url, signer_private_key_env, router_addresses, weth_address, max_fee_per_gas_wei, base_fee_buffer_bps, gas_limit, gas_buffer_bps, tokens=None, rpc_requests_per_second=None, unlimited_approval=False, postgres_cache_database_config=None, transport_backend=None, *, allowed_token_pairs=None, quote_spend_limits=None, slippage_bps=None, max_slippage_bps=None, max_order_amount=None, deadline_seconds=None, max_quote_age_blocks=None, receipt_timeout_secs=None, payload_key_env=None, payload_key_retired_env=None, payload_deployment_id=None, verification=None)"
Source§impl PyStubType for BlockchainExecutionClientConfig
impl PyStubType for BlockchainExecutionClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for BlockchainExecutionClientConfig
impl PyTypeInfo for BlockchainExecutionClientConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Auto Trait Implementations§
impl Freeze for BlockchainExecutionClientConfig
impl RefUnwindSafe for BlockchainExecutionClientConfig
impl Send for BlockchainExecutionClientConfig
impl Sync for BlockchainExecutionClientConfig
impl Unpin for BlockchainExecutionClientConfig
impl UnsafeUnpin for BlockchainExecutionClientConfig
impl UnwindSafe for BlockchainExecutionClientConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
self into a [Py<PyAny>] when the underlying conversion is infallible.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more