Created
October 20, 2021 16:23
-
-
Save yifeihuang/8c80e1e0154ed78ad63ea86cc9374803 to your computer and use it in GitHub Desktop.
Uniswap v2 Router Application Binary Interface
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_factory", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "_WETH", | |
"type": "address" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "WETH", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "tokenA", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "tokenB", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountADesired", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountBDesired", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountAMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountBMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "addLiquidity", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountA", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountB", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenDesired", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETHMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "addLiquidityETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountToken", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETH", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "factory", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveOut", | |
"type": "uint256" | |
} | |
], | |
"name": "getAmountIn", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveOut", | |
"type": "uint256" | |
} | |
], | |
"name": "getAmountOut", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
} | |
], | |
"name": "getAmountsIn", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
} | |
], | |
"name": "getAmountsOut", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountA", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveA", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "reserveB", | |
"type": "uint256" | |
} | |
], | |
"name": "quote", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountB", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "tokenA", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "tokenB", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountAMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountBMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "removeLiquidity", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountA", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountB", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETHMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "removeLiquidityETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountToken", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETH", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETHMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "removeLiquidityETHSupportingFeeOnTransferTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountETH", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETHMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "approveMax", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "v", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "r", | |
"type": "bytes32" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "s", | |
"type": "bytes32" | |
} | |
], | |
"name": "removeLiquidityETHWithPermit", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountToken", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETH", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountTokenMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountETHMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "approveMax", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "v", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "r", | |
"type": "bytes32" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "s", | |
"type": "bytes32" | |
} | |
], | |
"name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountETH", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "tokenA", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "tokenB", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "liquidity", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountAMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountBMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "approveMax", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "v", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "r", | |
"type": "bytes32" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "s", | |
"type": "bytes32" | |
} | |
], | |
"name": "removeLiquidityWithPermit", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountA", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountB", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapETHForExactTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactETHForTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactTokensForETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactTokensForTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountIn", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountOutMin", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountInMax", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapTokensForExactETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amountOut", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amountInMax", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address[]", | |
"name": "path", | |
"type": "address[]" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
} | |
], | |
"name": "swapTokensForExactTokens", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "amounts", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment