Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 8283470 | 434 days ago | IN | Create: UniswapAMM | 0 ETH | 0.02779703 |
Loading...
Loading
Contract Name:
UniswapAMM
Compiler Version
v0.8.16+commit.07a7930e
Optimization Enabled:
Yes with 100000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity 0.8.16; pragma experimental ABIEncoderV2; // ========================================================== // ====================== UniswapAMM ======================== // ========================================================== // Primary Author(s) // MAXOS Team: https://maxos.finance/ import "../Sweep/ISweep.sol"; import "../Common/Owned.sol"; import "../Utils/Uniswap/V2/TransferHelper.sol"; import "../Utils/Uniswap/V3/ISwapRouter.sol"; contract UniswapAMM is Owned { // Core ISweep private SWEEP; // Uniswap v3 ISwapRouter public univ3_router; constructor( address _creator_address, address _sweep_contract_address, address _uniswap_router_address ) Owned(_creator_address) { SWEEP = ISweep(_sweep_contract_address); univ3_router = ISwapRouter(_uniswap_router_address); //0xE592427A0AEce92De3Edee1F18E0157C05861564 } event Bought(uint256 usdx_amount); event Sold(uint256 sweep_amount); /* ========== Actions ========== */ /** * @notice Buy Sweep * @param _collateral_address Token Address to use for buying sweep. * @param _collateral_amount Token Amount. * @param _amountOutMin Minimum amount out. * @dev Increases the sweep balance and decrease collateral balance. */ function buySweep(address _collateral_address, uint256 _collateral_amount, uint256 _amountOutMin) public returns (uint256 sweep_amount) { sweep_amount = swapExactInput(_collateral_address, address(SWEEP), _collateral_amount, _amountOutMin); emit Bought(sweep_amount); } /** * @notice Sell Sweep * @param _collateral_address Token Address to return after selling sweep. * @param _sweep_amount Sweep Amount. * @param _amountOutMin Minimum amount out. * @dev Decreases the sweep balance and increase collateral balance */ function sellSweep(address _collateral_address, uint256 _sweep_amount, uint256 _amountOutMin) public returns (uint256 collateral_amount) { collateral_amount = swapExactInput(address(SWEEP), _collateral_address, _sweep_amount, _amountOutMin); emit Sold(_sweep_amount); } /** * @notice Swap tokenA into tokenB using univ3_router.ExactInputSingle() * @param _tokenA Address to in * @param _tokenB Address to out * @param _amountIn Amount of _tokenA * @param _amountOutMin Minimum amount out. */ function swapExactInput(address _tokenA, address _tokenB, uint256 _amountIn, uint256 _amountOutMin) public returns (uint256 amountOut) { // Approval TransferHelper.safeTransferFrom(_tokenA, msg.sender, address(this), _amountIn); TransferHelper.safeApprove(_tokenA, address(univ3_router), _amountIn); ISwapRouter.ExactInputSingleParams memory swap_params = ISwapRouter.ExactInputSingleParams({ tokenIn: _tokenA, tokenOut: _tokenB, fee: 3000, recipient: msg.sender, deadline: block.timestamp + 200, amountIn: _amountIn, amountOutMinimum: _amountOutMin, sqrtPriceLimitX96: 0 }); amountOut = univ3_router.exactInputSingle(swap_params); } /** * @notice setSweep * @param _sweep_address. */ function setSWEEP(address _sweep_address) external onlyOwner { SWEEP = ISweep(_sweep_address); } }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity >=0.5.0; /// @title Callback for IUniswapV3PoolActions#swap /// @notice Any contract that calls IUniswapV3PoolActions#swap must implement this interface interface IUniswapV3SwapCallback { /// @notice Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap. /// @dev In the implementation you must pay the pool tokens owed for the swap. /// The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. /// amount0Delta and amount1Delta can both be 0 if no tokens were swapped. /// @param amount0Delta The amount of token0 that was sent (negative) or must be received (positive) by the pool by /// the end of the swap. If positive, the callback must send that amount of token0 to the pool. /// @param amount1Delta The amount of token1 that was sent (negative) or must be received (positive) by the pool by /// the end of the swap. If positive, the callback must send that amount of token1 to the pool. /// @param data Any data passed through by the caller via the IUniswapV3PoolActions#swap call function uniswapV3SwapCallback( int256 amount0Delta, int256 amount1Delta, bytes calldata data ) external; }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity 0.8.16; // https://docs.synthetix.io/contracts/Owned contract Owned { address public owner; address public nominatedOwner; event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); constructor(address _owner) { require(_owner != address(0), "Owner address cannot be 0"); owner = _owner; emit OwnerChanged(address(0), _owner); } modifier onlyOwner() { require( msg.sender == owner, "Only the contract owner may perform this action" ); _; } function nominateNewOwner(address _owner) external onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external { require( msg.sender == nominatedOwner, "You must be nominated before you can accept ownership" ); owner = nominatedOwner; nominatedOwner = address(0); emit OwnerChanged(owner, nominatedOwner); } }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity 0.8.16; interface ISweep { struct Minter { bool is_listed; uint256 max_mint_amount; uint256 minted_amount; } function DEFAULT_ADMIN_ADDRESS() external view returns (address); function balancer() external view returns (address); function treasury() external view returns (address); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function balanceOf(address account) external view returns (uint256); function decimals() external view returns (uint8); function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool); function isValidMinter(address) external view returns (bool); function amm_price() external view returns (uint256); function increaseAllowance(address spender, uint256 addedValue) external returns (bool); function name() external view returns (string memory); function owner() external view returns (address); function minter_burn_from(uint256 amount) external; function minter_mint(address m_address, uint256 m_amount) external; function minters(address m_address) external returns (Minter memory); function target_price() external view returns (uint256); function interest_rate() external view returns (uint256); function period_time() external view returns (uint256); function step_value() external view returns (uint256); function beginNewPeriod(uint256 interest_rate, uint256 current_target_price, uint256 next_target_price) external; function setUniswapOracle(address _uniswap_oracle_address) external; function setTimelock(address new_timelock) external; function symbol() external view returns (string memory); function timelock_address() external view returns (address); function totalSupply() external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.16; // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library TransferHelper { function safeApprove(address token, address to, uint value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: APPROVE_FAILED'); } function safeTransfer(address token, address to, uint value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FAILED'); } function safeTransferFrom(address token, address from, address to, uint value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper: TRANSFER_FROM_FAILED'); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); } }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity 0.8.16; pragma abicoder v2; import '@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol'; /// @title Router token swapping functionality /// @notice Functions for swapping tokens via Uniswap V3 interface ISwapRouter is IUniswapV3SwapCallback { struct ExactInputSingleParams { address tokenIn; address tokenOut; uint24 fee; address recipient; uint256 deadline; uint256 amountIn; uint256 amountOutMinimum; uint160 sqrtPriceLimitX96; } /// @notice Swaps `amountIn` of one token for as much as possible of another token /// @param params The parameters necessary for the swap, encoded as `ExactInputSingleParams` in calldata /// @return amountOut The amount of the received token function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut); struct ExactInputParams { bytes path; address recipient; uint256 deadline; uint256 amountIn; uint256 amountOutMinimum; } /// @notice Swaps `amountIn` of one token for as much as possible of another along the specified path /// @param params The parameters necessary for the multi-hop swap, encoded as `ExactInputParams` in calldata /// @return amountOut The amount of the received token function exactInput(ExactInputParams calldata params) external payable returns (uint256 amountOut); struct ExactOutputSingleParams { address tokenIn; address tokenOut; uint24 fee; address recipient; uint256 deadline; uint256 amountOut; uint256 amountInMaximum; uint160 sqrtPriceLimitX96; } /// @notice Swaps as little as possible of one token for `amountOut` of another token /// @param params The parameters necessary for the swap, encoded as `ExactOutputSingleParams` in calldata /// @return amountIn The amount of the input token function exactOutputSingle(ExactOutputSingleParams calldata params) external payable returns (uint256 amountIn); struct ExactOutputParams { bytes path; address recipient; uint256 deadline; uint256 amountOut; uint256 amountInMaximum; } /// @notice Swaps as little as possible of one token for `amountOut` of another along the specified path (reversed) /// @param params The parameters necessary for the multi-hop swap, encoded as `ExactOutputParams` in calldata /// @return amountIn The amount of the input token function exactOutput(ExactOutputParams calldata params) external payable returns (uint256 amountIn); }
{ "optimizer": { "enabled": true, "runs": 100000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_creator_address","type":"address"},{"internalType":"address","name":"_sweep_contract_address","type":"address"},{"internalType":"address","name":"_uniswap_router_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"usdx_amount","type":"uint256"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sweep_amount","type":"uint256"}],"name":"Sold","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_collateral_address","type":"address"},{"internalType":"uint256","name":"_collateral_amount","type":"uint256"},{"internalType":"uint256","name":"_amountOutMin","type":"uint256"}],"name":"buySweep","outputs":[{"internalType":"uint256","name":"sweep_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_collateral_address","type":"address"},{"internalType":"uint256","name":"_sweep_amount","type":"uint256"},{"internalType":"uint256","name":"_amountOutMin","type":"uint256"}],"name":"sellSweep","outputs":[{"internalType":"uint256","name":"collateral_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sweep_address","type":"address"}],"name":"setSWEEP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenA","type":"address"},{"internalType":"address","name":"_tokenB","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"uint256","name":"_amountOutMin","type":"uint256"}],"name":"swapExactInput","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"univ3_router","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610db9380380610db983398101604081905261002f91610130565b826001600160a01b03811661008a5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a150600280546001600160a01b039384166001600160a01b0319918216179091556003805492909316911617905550610173565b80516001600160a01b038116811461012b57600080fd5b919050565b60008060006060848603121561014557600080fd5b61014e84610114565b925061015c60208501610114565b915061016a60408501610114565b90509250925092565b610c37806101826000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c806379ba5097116100765780638c60c71c1161005b5780638c60c71c146101635780638da5cb5b14610176578063bd0281421461019657600080fd5b806379ba50971461013b5780638292fd841461014357600080fd5b80631627540c146100a85780632dd09ce1146100bd57806338da412e146100d057806353a47bb7146100f6575b600080fd5b6100bb6100b6366004610a28565b6101a9565b005b6100bb6100cb366004610a28565b6102ce565b6100e36100de366004610a4a565b6103bc565b6040519081526020015b60405180910390f35b6001546101169073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b6100bb610426565b6003546101169073ffffffffffffffffffffffffffffffffffffffff1681565b6100e3610171366004610a4a565b610555565b6000546101169073ffffffffffffffffffffffffffffffffffffffff1681565b6100e36101a4366004610a7d565b6105b1565b60005473ffffffffffffffffffffffffffffffffffffffff163314610255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084015b60405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229060200160405180910390a150565b60005473ffffffffffffffffffffffffffffffffffffffff163314610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015260840161024c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6002546000906103e49073ffffffffffffffffffffffffffffffffffffffff168585856105b1565b90507f92f64ca637d023f354075a4be751b169c1a8a9ccb6d33cdd0cb35205439957278360405161041791815260200190565b60405180910390a19392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015260840161024c565b600180546000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009182168117835592169092556040805191825260208201929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1565b60025460009061057e90859073ffffffffffffffffffffffffffffffffffffffff1685856105b1565b90507f4e08ba899977cf7d4c2964bce71c6b9a7ef76ee5166a4c1249a1e08016e33ef18160405161041791815260200190565b60006105bf853330866106f1565b6003546105e490869073ffffffffffffffffffffffffffffffffffffffff168561088f565b604080516101008101825273ffffffffffffffffffffffffffffffffffffffff808816825286166020820152610bb891810191909152336060820152600090608081016106324260c8610abf565b8152602081018690526040808201869052600060609092019190915260035490517f414bf38900000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063414bf389906106a4908490600401610aff565b6020604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e79190610b97565b9695505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916107909190610bb0565b6000604051808303816000865af19150503d80600081146107cd576040519150601f19603f3d011682016040523d82523d6000602084013e6107d2565b606091505b50915091508180156107fc5750805115806107fc5750808060200190518101906107fc9190610bdf565b610887576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160448201527f494c454400000000000000000000000000000000000000000000000000000000606482015260840161024c565b505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905291516000928392908716916109269190610bb0565b6000604051808303816000865af19150503d8060008114610963576040519150601f19603f3d011682016040523d82523d6000602084013e610968565b606091505b50915091508180156109925750805115806109925750808060200190518101906109929190610bdf565b6109f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161024c565b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610a2357600080fd5b919050565b600060208284031215610a3a57600080fd5b610a43826109ff565b9392505050565b600080600060608486031215610a5f57600080fd5b610a68846109ff565b95602085013595506040909401359392505050565b60008060008060808587031215610a9357600080fd5b610a9c856109ff565b9350610aaa602086016109ff565b93969395505050506040820135916060013590565b80820180821115610af9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b60006101008201905073ffffffffffffffffffffffffffffffffffffffff80845116835280602085015116602084015262ffffff6040850151166040840152806060850151166060840152506080830151608083015260a083015160a083015260c083015160c083015260e0830151610b9060e084018273ffffffffffffffffffffffffffffffffffffffff169052565b5092915050565b600060208284031215610ba957600080fd5b5051919050565b6000825160005b81811015610bd15760208186018101518583015201610bb7565b506000920191825250919050565b600060208284031215610bf157600080fd5b81518015158114610a4357600080fdfea2646970667358221220ff4d1c35a22e04f17b264ef0eaeda1a111544a08c7f22309ac4f2498d48d9ca564736f6c6343000810003300000000000000000000000093ae1efd2e78028351c080fa0fbbbef97ec42ead0000000000000000000000004dba82efd938f273c5b8ae6a66d745a48584e636000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a35760003560e01c806379ba5097116100765780638c60c71c1161005b5780638c60c71c146101635780638da5cb5b14610176578063bd0281421461019657600080fd5b806379ba50971461013b5780638292fd841461014357600080fd5b80631627540c146100a85780632dd09ce1146100bd57806338da412e146100d057806353a47bb7146100f6575b600080fd5b6100bb6100b6366004610a28565b6101a9565b005b6100bb6100cb366004610a28565b6102ce565b6100e36100de366004610a4a565b6103bc565b6040519081526020015b60405180910390f35b6001546101169073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b6100bb610426565b6003546101169073ffffffffffffffffffffffffffffffffffffffff1681565b6100e3610171366004610a4a565b610555565b6000546101169073ffffffffffffffffffffffffffffffffffffffff1681565b6100e36101a4366004610a7d565b6105b1565b60005473ffffffffffffffffffffffffffffffffffffffff163314610255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084015b60405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229060200160405180910390a150565b60005473ffffffffffffffffffffffffffffffffffffffff163314610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015260840161024c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6002546000906103e49073ffffffffffffffffffffffffffffffffffffffff168585856105b1565b90507f92f64ca637d023f354075a4be751b169c1a8a9ccb6d33cdd0cb35205439957278360405161041791815260200190565b60405180910390a19392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015260840161024c565b600180546000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009182168117835592169092556040805191825260208201929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1565b60025460009061057e90859073ffffffffffffffffffffffffffffffffffffffff1685856105b1565b90507f4e08ba899977cf7d4c2964bce71c6b9a7ef76ee5166a4c1249a1e08016e33ef18160405161041791815260200190565b60006105bf853330866106f1565b6003546105e490869073ffffffffffffffffffffffffffffffffffffffff168561088f565b604080516101008101825273ffffffffffffffffffffffffffffffffffffffff808816825286166020820152610bb891810191909152336060820152600090608081016106324260c8610abf565b8152602081018690526040808201869052600060609092019190915260035490517f414bf38900000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063414bf389906106a4908490600401610aff565b6020604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e79190610b97565b9695505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916107909190610bb0565b6000604051808303816000865af19150503d80600081146107cd576040519150601f19603f3d011682016040523d82523d6000602084013e6107d2565b606091505b50915091508180156107fc5750805115806107fc5750808060200190518101906107fc9190610bdf565b610887576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160448201527f494c454400000000000000000000000000000000000000000000000000000000606482015260840161024c565b505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905291516000928392908716916109269190610bb0565b6000604051808303816000865af19150503d8060008114610963576040519150601f19603f3d011682016040523d82523d6000602084013e610968565b606091505b50915091508180156109925750805115806109925750808060200190518101906109929190610bdf565b6109f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604482015260640161024c565b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610a2357600080fd5b919050565b600060208284031215610a3a57600080fd5b610a43826109ff565b9392505050565b600080600060608486031215610a5f57600080fd5b610a68846109ff565b95602085013595506040909401359392505050565b60008060008060808587031215610a9357600080fd5b610a9c856109ff565b9350610aaa602086016109ff565b93969395505050506040820135916060013590565b80820180821115610af9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b60006101008201905073ffffffffffffffffffffffffffffffffffffffff80845116835280602085015116602084015262ffffff6040850151166040840152806060850151166060840152506080830151608083015260a083015160a083015260c083015160c083015260e0830151610b9060e084018273ffffffffffffffffffffffffffffffffffffffff169052565b5092915050565b600060208284031215610ba957600080fd5b5051919050565b6000825160005b81811015610bd15760208186018101518583015201610bb7565b506000920191825250919050565b600060208284031215610bf157600080fd5b81518015158114610a4357600080fdfea2646970667358221220ff4d1c35a22e04f17b264ef0eaeda1a111544a08c7f22309ac4f2498d48d9ca564736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000093ae1efd2e78028351c080fa0fbbbef97ec42ead0000000000000000000000004dba82efd938f273c5b8ae6a66d745a48584e636000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564
-----Decoded View---------------
Arg [0] : _creator_address (address): 0x93aE1efd2E78028351C080FA0fbBBeF97Ec42EAD
Arg [1] : _sweep_contract_address (address): 0x4dba82EfD938f273C5b8aE6a66D745a48584e636
Arg [2] : _uniswap_router_address (address): 0xE592427A0AEce92De3Edee1F18E0157C05861564
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000093ae1efd2e78028351c080fa0fbbbef97ec42ead
Arg [1] : 0000000000000000000000004dba82efd938f273c5b8ae6a66d745a48584e636
Arg [2] : 000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564
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.