More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Convert | 11327132 | 1449 days ago | IN | 0 ETH | 0.01838382 | ||||
Convert | 11327128 | 1449 days ago | IN | 0 ETH | 0.01817018 | ||||
Convert | 11163431 | 1474 days ago | IN | 0 ETH | 0.00196489 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.03720755 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.01679364 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.04730076 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.0709992 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.05255406 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.05267322 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.05140872 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.04804596 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.06717294 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.06582384 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.04291809 | ||||
Convert | 10833517 | 1525 days ago | IN | 0 ETH | 0.07127936 | ||||
Convert | 10833506 | 1525 days ago | IN | 0 ETH | 0.04300592 | ||||
Convert | 10833506 | 1525 days ago | IN | 0 ETH | 0.04543827 | ||||
Convert | 10833505 | 1525 days ago | IN | 0 ETH | 0.04617022 | ||||
Convert | 10833505 | 1525 days ago | IN | 0 ETH | 0.04650968 | ||||
Convert | 10833101 | 1525 days ago | IN | 0 ETH | 0.0473458 | ||||
Convert | 10832094 | 1526 days ago | IN | 0 ETH | 0.03304512 | ||||
Convert | 10831461 | 1526 days ago | IN | 0 ETH | 0.02505486 | ||||
Convert | 10830892 | 1526 days ago | IN | 0 ETH | 0.02173163 | ||||
Convert | 10830740 | 1526 days ago | IN | 0 ETH | 0.02886862 | ||||
Convert | 10830478 | 1526 days ago | IN | 0 ETH | 0.02239581 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SushiMaker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-05 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.6.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.6.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: contracts/uniswapv2/interfaces/IUniswapV2ERC20.sol pragma solidity >=0.5.0; interface IUniswapV2ERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; } // File: contracts/uniswapv2/interfaces/IUniswapV2Pair.sol pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); 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 (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // File: contracts/uniswapv2/interfaces/IUniswapV2Factory.sol pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function migrator() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; function setMigrator(address) external; } // File: contracts/SushiMaker.sol pragma solidity 0.6.12; contract SushiMaker { using SafeMath for uint256; IUniswapV2Factory public factory; address public bar; address public sushi; address public weth; constructor(IUniswapV2Factory _factory, address _bar, address _sushi, address _weth) public { factory = _factory; sushi = _sushi; bar = _bar; weth = _weth; } function convert(address token0, address token1) public { // At least we try to make front-running harder to do. require(msg.sender == tx.origin, "do not convert from contract"); IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(token0, token1)); pair.transfer(address(pair), pair.balanceOf(address(this))); pair.burn(address(this)); uint256 wethAmount = _toWETH(token0) + _toWETH(token1); _toSUSHI(wethAmount); } function _toWETH(address token) internal returns (uint256) { if (token == sushi) { uint amount = IERC20(token).balanceOf(address(this)); IERC20(token).transfer(bar, amount); return 0; } if (token == weth) { uint amount = IERC20(token).balanceOf(address(this)); IERC20(token).transfer(factory.getPair(weth, sushi), amount); return amount; } IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(token, weth)); if (address(pair) == address(0)) { return 0; } (uint reserve0, uint reserve1,) = pair.getReserves(); address token0 = pair.token0(); (uint reserveIn, uint reserveOut) = token0 == token ? (reserve0, reserve1) : (reserve1, reserve0); uint amountIn = IERC20(token).balanceOf(address(this)); uint amountInWithFee = amountIn.mul(997); uint numerator = amountInWithFee.mul(reserveOut); uint denominator = reserveIn.mul(1000).add(amountInWithFee); uint amountOut = numerator / denominator; (uint amount0Out, uint amount1Out) = token0 == token ? (uint(0), amountOut) : (amountOut, uint(0)); IERC20(token).transfer(address(pair), amountIn); pair.swap(amount0Out, amount1Out, factory.getPair(weth, sushi), new bytes(0)); return amountOut; } function _toSUSHI(uint256 amountIn) internal { IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(weth, sushi)); (uint reserve0, uint reserve1,) = pair.getReserves(); address token0 = pair.token0(); (uint reserveIn, uint reserveOut) = token0 == weth ? (reserve0, reserve1) : (reserve1, reserve0); uint amountInWithFee = amountIn.mul(997); uint numerator = amountInWithFee.mul(reserveOut); uint denominator = reserveIn.mul(1000).add(amountInWithFee); uint amountOut = numerator / denominator; (uint amount0Out, uint amount1Out) = token0 == weth ? (uint(0), amountOut) : (amountOut, uint(0)); pair.swap(amount0Out, amount1Out, bar, new bytes(0)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IUniswapV2Factory","name":"_factory","type":"address"},{"internalType":"address","name":"_bar","type":"address"},{"internalType":"address","name":"_sushi","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"bar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"name":"convert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sushi","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516110163803806110168339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b03199182161790915560028054958516958216959095179094556001805492841692851692909217909155600380549290911691909216179055610f71806100a56000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630a0879031461005c5780633fc8cef314610080578063bd1b820c14610088578063c45a0155146100b8578063febb0f7e146100c0575b600080fd5b6100646100c8565b604080516001600160a01b039092168252519081900360200190f35b6100646100d7565b6100b66004803603604081101561009e57600080fd5b506001600160a01b03813581169160200135166100e6565b005b61006461034d565b61006461035c565b6002546001600160a01b031681565b6003546001600160a01b031681565b33321461013a576040805162461bcd60e51b815260206004820152601c60248201527f646f206e6f7420636f6e766572742066726f6d20636f6e747261637400000000604482015290519081900360640190fd5b600080546040805163e6a4390560e01b81526001600160a01b03868116600483015285811660248301529151919092169163e6a43905916044808301926020929190829003018186803b15801561019057600080fd5b505afa1580156101a4573d6000803e3d6000fd5b505050506040513d60208110156101ba57600080fd5b5051604080516370a0823160e01b815230600482015290519192506001600160a01b0383169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d602081101561023957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561028a57600080fd5b505af115801561029e573d6000803e3d6000fd5b505050506040513d60208110156102b457600080fd5b50506040805163226bf2d160e21b815230600482015281516001600160a01b038416926389afcb4492602480820193918290030181600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d604081101561032457600080fd5b50600090506103328361036b565b61033b8561036b565b01905061034781610b38565b50505050565b6000546001600160a01b031681565b6001546001600160a01b031681565b6002546000906001600160a01b038381169116141561048f576000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d60208110156103fd57600080fd5b50516001546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810184905290519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561045857600080fd5b505af115801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b5060009250610b33915050565b6003546001600160a01b0383811691161415610636576000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104f457600080fd5b505afa158015610508573d6000803e3d6000fd5b505050506040513d602081101561051e57600080fd5b50516000546003546002546040805163e6a4390560e01b81526001600160a01b0393841660048201529183166024830152519394508187169363a9059cbb939092169163e6a4390591604480820192602092909190829003018186803b15801561058757600080fd5b505afa15801561059b573d6000803e3d6000fd5b505050506040513d60208110156105b157600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018590525160448083019260209291908290030181600087803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050506040513d602081101561062b57600080fd5b50909150610b339050565b600080546003546040805163e6a4390560e01b81526001600160a01b03878116600483015292831660248201529051919092169163e6a43905916044808301926020929190829003018186803b15801561068f57600080fd5b505afa1580156106a3573d6000803e3d6000fd5b505050506040513d60208110156106b957600080fd5b505190506001600160a01b0381166106d5576000915050610b33565b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d606081101561073b57600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b03871692630dfe1681926004808201939291829003018186803b15801561079757600080fd5b505afa1580156107ab573d6000803e3d6000fd5b505050506040513d60208110156107c157600080fd5b505190506000806001600160a01b03808416908916146107e25783856107e5565b84845b915091506000886001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b505190506000610874826103e5610e5e565b905060006108828285610e5e565b9050600061089c83610896886103e8610e5e565b90610ec0565b905060008183816108a957fe5b0490506000808e6001600160a01b03168a6001600160a01b0316146108d0578260006108d4565b6000835b915091508e6001600160a01b031663a9059cbb8e896040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d602081101561095957600080fd5b8101908080519060200190929190505050508c6001600160a01b031663022c0d9f838360008054906101000a90046001600160a01b03166001600160a01b031663e6a43905600360009054906101000a90046001600160a01b0316600260009054906101000a90046001600160a01b03166040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d6020811015610a4157600080fd5b50516040805160008082526020820190925290506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610abc578181015183820152602001610aa4565b50505050905090810190601f168015610ae95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50949f505050505050505050505050505050505b919050565b600080546003546002546040805163e6a4390560e01b81526001600160a01b039384166004820152918316602483015251919092169163e6a43905916044808301926020929190829003018186803b158015610b9357600080fd5b505afa158015610ba7573d6000803e3d6000fd5b505050506040513d6020811015610bbd57600080fd5b505160408051630240bc6b60e21b8152905191925060009182916001600160a01b03851691630902f1ac91600480820192606092909190829003018186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d6060811015610c3257600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b03871692630dfe1681926004808201939291829003018186803b158015610c8e57600080fd5b505afa158015610ca2573d6000803e3d6000fd5b505050506040513d6020811015610cb857600080fd5b505160035490915060009081906001600160a01b03808516911614610cde578385610ce1565b84845b90925090506000610cf4886103e5610e5e565b90506000610d028284610e5e565b90506000610d1683610896876103e8610e5e565b90506000818381610d2357fe5b600354919004915060009081906001600160a01b038a8116911614610d4a57826000610d4e565b6000835b600154604080516000808252602082019092529395509193506001600160a01b038f81169363022c0d9f9387938793169190506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610de8578181015183820152602001610dd0565b50505050905090810190601f168015610e155780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610e3757600080fd5b505af1158015610e4b573d6000803e3d6000fd5b5050505050505050505050505050505050565b600082610e6d57506000610eba565b82820282848281610e7a57fe5b0414610eb75760405162461bcd60e51b8152600401808060200182810382526021815260200180610f1b6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015610eb7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220931fe9e2f58f41fe8a2f27dad6172300288207933193ce7f9d298e97ad49a49b64736f6c634300060c0033000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff42720000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630a0879031461005c5780633fc8cef314610080578063bd1b820c14610088578063c45a0155146100b8578063febb0f7e146100c0575b600080fd5b6100646100c8565b604080516001600160a01b039092168252519081900360200190f35b6100646100d7565b6100b66004803603604081101561009e57600080fd5b506001600160a01b03813581169160200135166100e6565b005b61006461034d565b61006461035c565b6002546001600160a01b031681565b6003546001600160a01b031681565b33321461013a576040805162461bcd60e51b815260206004820152601c60248201527f646f206e6f7420636f6e766572742066726f6d20636f6e747261637400000000604482015290519081900360640190fd5b600080546040805163e6a4390560e01b81526001600160a01b03868116600483015285811660248301529151919092169163e6a43905916044808301926020929190829003018186803b15801561019057600080fd5b505afa1580156101a4573d6000803e3d6000fd5b505050506040513d60208110156101ba57600080fd5b5051604080516370a0823160e01b815230600482015290519192506001600160a01b0383169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b15801561020f57600080fd5b505afa158015610223573d6000803e3d6000fd5b505050506040513d602081101561023957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561028a57600080fd5b505af115801561029e573d6000803e3d6000fd5b505050506040513d60208110156102b457600080fd5b50506040805163226bf2d160e21b815230600482015281516001600160a01b038416926389afcb4492602480820193918290030181600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d604081101561032457600080fd5b50600090506103328361036b565b61033b8561036b565b01905061034781610b38565b50505050565b6000546001600160a01b031681565b6001546001600160a01b031681565b6002546000906001600160a01b038381169116141561048f576000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d60208110156103fd57600080fd5b50516001546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810184905290519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561045857600080fd5b505af115801561046c573d6000803e3d6000fd5b505050506040513d602081101561048257600080fd5b5060009250610b33915050565b6003546001600160a01b0383811691161415610636576000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104f457600080fd5b505afa158015610508573d6000803e3d6000fd5b505050506040513d602081101561051e57600080fd5b50516000546003546002546040805163e6a4390560e01b81526001600160a01b0393841660048201529183166024830152519394508187169363a9059cbb939092169163e6a4390591604480820192602092909190829003018186803b15801561058757600080fd5b505afa15801561059b573d6000803e3d6000fd5b505050506040513d60208110156105b157600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018590525160448083019260209291908290030181600087803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050506040513d602081101561062b57600080fd5b50909150610b339050565b600080546003546040805163e6a4390560e01b81526001600160a01b03878116600483015292831660248201529051919092169163e6a43905916044808301926020929190829003018186803b15801561068f57600080fd5b505afa1580156106a3573d6000803e3d6000fd5b505050506040513d60208110156106b957600080fd5b505190506001600160a01b0381166106d5576000915050610b33565b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d606081101561073b57600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b03871692630dfe1681926004808201939291829003018186803b15801561079757600080fd5b505afa1580156107ab573d6000803e3d6000fd5b505050506040513d60208110156107c157600080fd5b505190506000806001600160a01b03808416908916146107e25783856107e5565b84845b915091506000886001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b505190506000610874826103e5610e5e565b905060006108828285610e5e565b9050600061089c83610896886103e8610e5e565b90610ec0565b905060008183816108a957fe5b0490506000808e6001600160a01b03168a6001600160a01b0316146108d0578260006108d4565b6000835b915091508e6001600160a01b031663a9059cbb8e896040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561092f57600080fd5b505af1158015610943573d6000803e3d6000fd5b505050506040513d602081101561095957600080fd5b8101908080519060200190929190505050508c6001600160a01b031663022c0d9f838360008054906101000a90046001600160a01b03166001600160a01b031663e6a43905600360009054906101000a90046001600160a01b0316600260009054906101000a90046001600160a01b03166040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d6020811015610a4157600080fd5b50516040805160008082526020820190925290506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610abc578181015183820152602001610aa4565b50505050905090810190601f168015610ae95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50949f505050505050505050505050505050505b919050565b600080546003546002546040805163e6a4390560e01b81526001600160a01b039384166004820152918316602483015251919092169163e6a43905916044808301926020929190829003018186803b158015610b9357600080fd5b505afa158015610ba7573d6000803e3d6000fd5b505050506040513d6020811015610bbd57600080fd5b505160408051630240bc6b60e21b8152905191925060009182916001600160a01b03851691630902f1ac91600480820192606092909190829003018186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d6060811015610c3257600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b03871692630dfe1681926004808201939291829003018186803b158015610c8e57600080fd5b505afa158015610ca2573d6000803e3d6000fd5b505050506040513d6020811015610cb857600080fd5b505160035490915060009081906001600160a01b03808516911614610cde578385610ce1565b84845b90925090506000610cf4886103e5610e5e565b90506000610d028284610e5e565b90506000610d1683610896876103e8610e5e565b90506000818381610d2357fe5b600354919004915060009081906001600160a01b038a8116911614610d4a57826000610d4e565b6000835b600154604080516000808252602082019092529395509193506001600160a01b038f81169363022c0d9f9387938793169190506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610de8578181015183820152602001610dd0565b50505050905090810190601f168015610e155780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610e3757600080fd5b505af1158015610e4b573d6000803e3d6000fd5b5050505050505050505050505050505050565b600082610e6d57506000610eba565b82820282848281610e7a57fe5b0414610eb75760405162461bcd60e51b8152600401808060200182810382526021815260200180610f1b6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015610eb7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220931fe9e2f58f41fe8a2f27dad6172300288207933193ce7f9d298e97ad49a49b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff42720000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _factory (address): 0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac
Arg [1] : _bar (address): 0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272
Arg [2] : _sushi (address): 0x6B3595068778DD592e39A122f4f5a5cF09C90fE2
Arg [3] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac
Arg [1] : 0000000000000000000000008798249c2e607446efb7ad49ec89dd1865ff4272
Arg [2] : 0000000000000000000000006b3595068778dd592e39a122f4f5a5cf09c90fe2
Arg [3] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode Sourcemap
12888:3038:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13014:20;;;:::i;:::-;;;;-1:-1:-1;;;;;13014:20:0;;;;;;;;;;;;;;13041:19;;;:::i;13275:484::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13275:484:0;;;;;;;;;;:::i;:::-;;12950:32;;;:::i;12989:18::-;;;:::i;13014:20::-;;;-1:-1:-1;;;;;13014:20:0;;:::o;13041:19::-;;;-1:-1:-1;;;;;13041:19:0;;:::o;13275:484::-;13414:10;13428:9;13414:23;13406:64;;;;;-1:-1:-1;;;13406:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13481:19;13518:7;;:31;;;-1:-1:-1;;;13518:31:0;;-1:-1:-1;;;;;13518:31:0;;;;;;;;;;;;;;;;:7;;;;;:15;;:31;;;;;;;;;;;;;;:7;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13518:31:0;13590:29;;;-1:-1:-1;;;13590:29:0;;13613:4;13590:29;;;;;;13518:31;;-1:-1:-1;;;;;;13561:13:0;;;;;13518:31;;13561:13;;13590:14;;:29;;;;;13518:31;;13590:29;;;;;;;13561:13;13590:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13590:29:0;13561:59;;;-1:-1:-1;;;;;;13561:59:0;;;;;;;-1:-1:-1;;;;;13561:59:0;;;;;;;;;;;;;;;;;;;;13590:29;;13561:59;;;;;;;-1:-1:-1;13561:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13631:24:0;;;-1:-1:-1;;;13631:24:0;;13649:4;13631:24;;;;;;-1:-1:-1;;;;;13631:9:0;;;;;:24;;;;;;;;;;;-1:-1:-1;13631:9:0;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13666:18:0;;-1:-1:-1;13705:15:0;13713:6;13705:7;:15::i;:::-;13687;13695:6;13687:7;:15::i;:::-;:33;13666:54;;13731:20;13740:10;13731:8;:20::i;:::-;13275:484;;;;:::o;12950:32::-;;;-1:-1:-1;;;;;12950:32:0;;:::o;12989:18::-;;;-1:-1:-1;;;;;12989:18:0;;:::o;13767:1405::-;13850:5;;13817:7;;-1:-1:-1;;;;;13841:14:0;;;13850:5;;13841:14;13837:172;;;13872:11;13893:5;-1:-1:-1;;;;;13886:23:0;;13918:4;13886:38;;;;;;;;;;;;;-1:-1:-1;;;;;13886:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13886:38:0;13962:3;;13939:35;;;-1:-1:-1;;;13939:35:0;;-1:-1:-1;;;;;13962:3:0;;;13939:35;;;;;;;;;;;;13886:38;;-1:-1:-1;13939:22:0;;;;;;:35;;;;;13886:38;;13939:35;;;;;;;;13962:3;13939:22;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13996:1:0;;-1:-1:-1;13989:8:0;;-1:-1:-1;;13989:8:0;13837:172;14032:4;;-1:-1:-1;;;;;14023:13:0;;;14032:4;;14023:13;14019:201;;;14053:11;14074:5;-1:-1:-1;;;;;14067:23:0;;14099:4;14067:38;;;;;;;;;;;;;-1:-1:-1;;;;;14067:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14067:38:0;14143:7;;14159:4;;14165:5;;14143:28;;;-1:-1:-1;;;14143:28:0;;-1:-1:-1;;;;;14159:4:0;;;14143:28;;;;14165:5;;;14143:28;;;;;14067:38;;-1:-1:-1;14120:22:0;;;;;;14143:7;;;;:15;;:28;;;;;14067:38;;14143:28;;;;;;;;:7;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14143:28:0;14120:60;;;-1:-1:-1;;;;;;14120:60:0;;;;;;;-1:-1:-1;;;;;14120:60:0;;;;;;;;;;;;;;;;;;;14143:28;;14120:60;;;;;;;-1:-1:-1;14120:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14202:6:0;;-1:-1:-1;14195:13:0;;-1:-1:-1;14195:13:0;14019:201;14230:19;14267:7;;14290:4;;14267:28;;;-1:-1:-1;;;14267:28:0;;-1:-1:-1;;;;;14267:28:0;;;;;;;14290:4;;;14267:28;;;;;;:7;;;;;:15;;:28;;;;;;;;;;;;;;:7;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14267:28:0;;-1:-1:-1;;;;;;14311:27:0;;14307:68;;14362:1;14355:8;;;;;14307:68;14386:13;14401;14419:4;-1:-1:-1;;;;;14419:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14419:18:0;;;;;;;;14465:13;;-1:-1:-1;;;14465:13:0;;;;-1:-1:-1;;;;;14385:52:0;;;;-1:-1:-1;14385:52:0;;;;;-1:-1:-1;14448:14:0;;-1:-1:-1;;;;;14465:11:0;;;;;:13;;;;;14419:18;14465:13;;;;;;:11;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14465:13:0;;-1:-1:-1;14490:14:0;;-1:-1:-1;;;;;14525:15:0;;;;;;;:61;;14567:8;14577;14525:61;;;14544:8;14554;14525:61;14489:97;;;;14597:13;14620:5;-1:-1:-1;;;;;14613:23:0;;14645:4;14613:38;;;;;;;;;;;;;-1:-1:-1;;;;;14613:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14613:38:0;;-1:-1:-1;14662:20:0;14685:17;14613:38;14698:3;14685:12;:17::i;:::-;14662:40;-1:-1:-1;14713:14:0;14730:31;14662:40;14750:10;14730:19;:31::i;:::-;14713:48;-1:-1:-1;14772:16:0;14791:40;14815:15;14791:19;:9;14805:4;14791:13;:19::i;:::-;:23;;:40::i;:::-;14772:59;;14842:14;14871:11;14859:9;:23;;;;;;14842:40;;14894:15;14911;14940:5;-1:-1:-1;;;;;14930:15:0;:6;-1:-1:-1;;;;;14930:15:0;;:61;;14972:9;14988:1;14930:61;;;14954:1;14958:9;14930:61;14893:98;;;;15009:5;-1:-1:-1;;;;;15002:22:0;;15033:4;15040:8;15002:47;;;;;;;;;;;;;-1:-1:-1;;;;;15002:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15060:4;-1:-1:-1;;;;;15060:9:0;;15070:10;15082;15094:7;;;;;;;;-1:-1:-1;;;;;15094:7:0;-1:-1:-1;;;;;15094:15:0;;15110:4;;;;;;;;;-1:-1:-1;;;;;15110:4:0;15116:5;;;;;;;;;-1:-1:-1;;;;;15116:5:0;15094:28;;;;;;;;;;;;;-1:-1:-1;;;;;15094:28:0;;;;;;-1:-1:-1;;;;;15094:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15094:28:0;15124:12;;;15134:1;15124:12;;;;;;;;;;;15060:77;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15060:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15155:9:0;;-1:-1:-1;;;;;;;;;;;;;;;;13767:1405:0;;;;:::o;15180:743::-;15236:19;15273:7;;15289:4;;15295:5;;15273:28;;;-1:-1:-1;;;15273:28:0;;-1:-1:-1;;;;;15289:4:0;;;15273:28;;;;15295:5;;;15273:28;;;;;:7;;;;;:15;;:28;;;;;;;;;;;;;;:7;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15273:28:0;15347:18;;;-1:-1:-1;;;15347:18:0;;;;15273:28;;-1:-1:-1;15314:13:0;;;;-1:-1:-1;;;;;15347:16:0;;;;;:18;;;;;;;;;;;;;;;:16;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15347:18:0;;;;;;;;15393:13;;-1:-1:-1;;;15393:13:0;;;;-1:-1:-1;;;;;15313:52:0;;;;-1:-1:-1;15313:52:0;;;;;-1:-1:-1;15376:14:0;;-1:-1:-1;;;;;15393:11:0;;;;;:13;;;;;15347:18;15393:13;;;;;;:11;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15393:13:0;15463:4;;15393:13;;-1:-1:-1;15418:14:0;;;;-1:-1:-1;;;;;15453:14:0;;;15463:4;;15453:14;:60;;15494:8;15504;15453:60;;;15471:8;15481;15453:60;15417:96;;-1:-1:-1;15417:96:0;-1:-1:-1;15524:20:0;15547:17;:8;15560:3;15547:12;:17::i;:::-;15524:40;-1:-1:-1;15575:14:0;15592:31;15524:40;15612:10;15592:19;:31::i;:::-;15575:48;-1:-1:-1;15634:16:0;15653:40;15677:15;15653:19;:9;15667:4;15653:13;:19::i;:40::-;15634:59;;15704:14;15733:11;15721:9;:23;;;;;15802:4;;15721:23;;;;-1:-1:-1;15756:15:0;;;;-1:-1:-1;;;;;15792:14:0;;;15802:4;;15792:14;:60;;15833:9;15849:1;15792:60;;;15815:1;15819:9;15792:60;15897:3;;15902:12;;;15897:3;15902:12;;;;;;;;;15755:97;;-1:-1:-1;15755:97:0;;-1:-1:-1;;;;;;15863:9:0;;;;;;15755:97;;;;15897:3;;15902:12;;15863:52;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15863:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15180:743;;;;;;;;;;;;;:::o;5082:471::-;5140:7;5385:6;5381:47;;-1:-1:-1;5415:1:0;5408:8;;5381:47;5452:5;;;5456:1;5452;:5;:1;5476:5;;;;;:10;5468:56;;;;-1:-1:-1;;;5468:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:1;-1:-1:-1;5082:471:0;;;;;:::o;3728:181::-;3786:7;3818:5;;;3842:6;;;;3834:46;;;;;-1:-1:-1;;;3834:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
ipfs://931fe9e2f58f41fe8a2f27dad6172300288207933193ce7f9d298e97ad49a49b
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.