User Defined Value Types
User Defined Value Types used in VirtuSwap DEX contracts
RouteData
RouteData
is a value type, defined as uint256
. It is utilized to store compact information about trading route steps in the vRouter 1.3. The RouteData
type combines multiple pieces of route-related data into a single uint256
value for optimized on-chain processing.
The RouteData
encodes three pieces of information:
Transit Start Index is stored in the most significant 64 bits (bits 192-255). It indicates the index of the first intermediate token in the array of transit tokens addresses of the route.
Transit Length is stored in the next 64 bits (bits 128-191). It represents the number of intermediate tokens in the route step. If set to
type(uint64).max
, it signifies a virtual swap (a case when a swap on the virtual pool will be executed if it is not locked).Amount is stored in the least significant 128 bits (bits 0-127). It is equal to the token amount involved in the route (
amountIn
for exact in swaps oramountOut
for exact out swaps).
For direct swaps (through one real pool) the transit length is equal to 0
and transit tokens are ignored.
Last updated