Pair Addresses
getPair
The most obvious way to get the address for a pair is to call getPair on the factory. If the pair exists, this function will return its address, else address(0)
(0x0000000000000000000000000000000000000000
).
The “canonical” way to determine whether or not a pair exists.
Requires an on-chain lookup.
CREATE2
Thanks to some fancy footwork in the factory, we can also compute pair addresses without any on-chain lookups because of CREATE2. The following values are required for this technique:
address
salt
keccak256(abi.encodePacked(token0, token1))
keccak256(init_code)
0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f
token0
must be strictly less thantoken1
by sort order.Can be computed offline.
Requires the ability to perform
keccak256
.
Examples
TypeScript
This example makes use of the WhiteSwap SDK. In reality, the SDK computes pair addresses behind the scenes, obviating the need to compute them manually like this.
Last updated