Overview
FTM Balance
0 FTM
FTM Value
$0.00More Info
Private Name Tags
ContractCreator:
Sponsored
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 32916905 | 750 days ago | IN | Create: UniswapV2DexHandler | 0 FTM | 0.08560891 |
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
32916905 | 750 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
UniswapV2DexHandler
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "./interfaces/IDexHandler.sol"; import "./interfaces/IUniswapV2Pair.sol"; interface IUniswapV2Router { function factory() external view returns (address); function getAmountOut( uint amountIn, uint reserveIn, uint reserveOut ) external pure returns (uint amountOut); } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); } contract UniswapV2DexHandler is IDexHandler { constructor() {} function getAmountOut( address _dex, uint256 _amountIn, address _tokenIn, address _tokenOut ) external view override returns (address pair, uint256 amountOut) { address factory = IUniswapV2Router(_dex).factory(); pair = IUniswapV2Factory(factory).getPair(_tokenIn, _tokenOut); if (pair != address(0)) { (uint256 reserveIn, uint256 reserveOut, ) = IUniswapV2Pair(pair).getReserves(); if (_tokenIn > _tokenOut) { (reserveIn, reserveOut) = (reserveOut, reserveIn); } amountOut = IUniswapV2Router(_dex).getAmountOut(_amountIn, reserveIn, reserveOut); if (amountOut == 0) { pair = address(0); } } } }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IDexHandler { function getAmountOut( address _dex, uint256 _amountIn, address _tokenIn, address _tokenOut ) external view returns (address pair, uint256 amountOut); }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_dex","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"address","name":"_tokenIn","type":"address"},{"internalType":"address","name":"_tokenOut","type":"address"}],"name":"getAmountOut","outputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506103fd806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631ad0cdb514610030575b600080fd5b61004361003e3660046102f7565b610066565b604080516001600160a01b03909316835260208301919091520160405180910390f35b6000806000866001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a457600080fd5b505afa1580156100b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100dc91906102d4565b60405163e6a4390560e01b81526001600160a01b03878116600483015286811660248301529192509082169063e6a439059060440160206040518083038186803b15801561012957600080fd5b505afa15801561013d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016191906102d4565b92506001600160a01b038316156102ae57600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101ae57600080fd5b505afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e69190610349565b506001600160701b031691506001600160701b03169150856001600160a01b0316876001600160a01b0316111561021957905b604051630153543560e21b81526004810189905260248101839052604481018290526001600160a01b038a169063054d50d49060640160206040518083038186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f9190610397565b9350836102ab57600094505b50505b5094509492505050565b80516001600160701b03811681146102cf57600080fd5b919050565b6000602082840312156102e5578081fd5b81516102f0816103af565b9392505050565b6000806000806080858703121561030c578283fd5b8435610317816103af565b935060208501359250604085013561032e816103af565b9150606085013561033e816103af565b939692955090935050565b60008060006060848603121561035d578283fd5b610366846102b8565b9250610374602085016102b8565b9150604084015163ffffffff8116811461038c578182fd5b809150509250925092565b6000602082840312156103a8578081fd5b5051919050565b6001600160a01b03811681146103c457600080fd5b5056fea26469706673582212206d5a3704df1ceb3750f35db69c33173b38709b44b1155b827ba3204575cbf02f64736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631ad0cdb514610030575b600080fd5b61004361003e3660046102f7565b610066565b604080516001600160a01b03909316835260208301919091520160405180910390f35b6000806000866001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156100a457600080fd5b505afa1580156100b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100dc91906102d4565b60405163e6a4390560e01b81526001600160a01b03878116600483015286811660248301529192509082169063e6a439059060440160206040518083038186803b15801561012957600080fd5b505afa15801561013d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016191906102d4565b92506001600160a01b038316156102ae57600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101ae57600080fd5b505afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e69190610349565b506001600160701b031691506001600160701b03169150856001600160a01b0316876001600160a01b0316111561021957905b604051630153543560e21b81526004810189905260248101839052604481018290526001600160a01b038a169063054d50d49060640160206040518083038186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f9190610397565b9350836102ab57600094505b50505b5094509492505050565b80516001600160701b03811681146102cf57600080fd5b919050565b6000602082840312156102e5578081fd5b81516102f0816103af565b9392505050565b6000806000806080858703121561030c578283fd5b8435610317816103af565b935060208501359250604085013561032e816103af565b9150606085013561033e816103af565b939692955090935050565b60008060006060848603121561035d578283fd5b610366846102b8565b9250610374602085016102b8565b9150604084015163ffffffff8116811461038c578182fd5b809150509250925092565b6000602082840312156103a8578081fd5b5051919050565b6001600160a01b03811681146103c457600080fd5b5056fea26469706673582212206d5a3704df1ceb3750f35db69c33173b38709b44b1155b827ba3204575cbf02f64736f6c63430008040033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.