Skip to content

Latest commit

 

History

History
14 lines (10 loc) · 1.7 KB

File metadata and controls

14 lines (10 loc) · 1.7 KB
@uniswap/uniswapx-sdk patch

Add Ink (chainId 57073) DutchV3 support. The reactor and OrderQuoter are deployed and source-verified on Ink; these are the mapping entries that let the SDK resolve them.

  • REACTOR_ADDRESS_MAPPING[57073][Dutch_V3]0x000000007A1C8e570011EeDF86A2A35593013cBA. This is the same address as Robinhood (4663), as chains 130/196/1868 already share 0x000000005aF6…; REVERSE_REACTOR_MAPPING collapses shared addresses to one key, which is correct since both are Dutch_V3.
  • UNISWAPX_ORDER_QUOTER_MAPPING[57073] → canonical 0x00000000a3db63Df9078cBF3dF88B4CAdD5a7F58. Required: without it the lookup falls through constructSameAddressMap to the legacy 0x54539967… default, which is not deployed on Ink.
  • PERMIT2_MAPPING[57073] → canonical Permit2, verified on-chain (9,152 bytes, non-zero DOMAIN_SEPARATOR()).
  • EXCLUSIVE_FILLER_VALIDATION_MAPPING[57073] → zero address, matching every other V3-only chain. Required: the default is 0x8A66…, a contract that does not exist on Ink. Exclusivity is reactor-enforced via ExclusivityLib.

No entry is added for Priority, Dutch_V2, Hybrid, or the UNISWAPX_V4_* mappings — no such reactors are deployed on Ink, and the absence is what makes x-service's OffChainUniswapXOrderValidator.validateReactorAddress reject those order types for the chain.

Ink needs no chain-specific order-construction handling: it is a standard OP-stack L2 with 1s blocks, a real dynamic EIP-1559 basefee, and native ETH, so adjustmentPerGweiBaseFee keeps its normal non-zero treatment and the native sentinel is usable. @uniswap/sdk-core already has full Ink coverage (ChainId.INK, INK_ADDRESSES, WETH9[57073], 1s block time).