RoutingData#

tradeexecutor.ethereum.routing_data.RoutingData class.

class RoutingData[source]#

Bases: TypedDict

Describe raw smart contract order routing data.

__init__(*args, **kwargs)#

Methods

__init__(*args, **kwargs)

clear()

copy()

fromkeys([value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Attributes

chain_id

factory_router_map

Factory contract address -> Tuple (default router address, init code hash)

allowed_intermediary_pairs

Token address -> pair address

reserve_token_address

Token address for the reserve currency

quote_token_addresses

Supported quote token addresses

factory_router_map: tuple#

Factory contract address -> Tuple (default router address, init code hash)

allowed_intermediary_pairs: dict#

Token address -> pair address

reserve_token_address: str#

Token address for the reserve currency

E.g. BUSD, USDC address. Is given as tradeexecutor.strategy.reserve_currency.ReserveCurrency and mapped to an address.

quote_token_addresses: List[str]#

Supported quote token addresses

Besides reserve currency, we can route three leg trades through high liquidity pools. E.g. if we buy XXX/BNB pair we route it through BNB/BUSD and WBNB would appear here as a supported quote token.

E.g. (WBNB, BUSD), (WBNB, USDC)