Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 18081328 | 298 days ago | IN | Create: ProofFactory | 0 ETH | 0.01652667 |
Loading...
Loading
Contract Name:
ProofFactory
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: None pragma solidity ^0.8.17; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./libraries/Ownable.sol"; import "./interfaces/ITeamFinanceLocker.sol"; import "./interfaces/ITokenCutter.sol"; import "./interfaces/IUniswapV2Router02.sol"; import "./interfaces/IProofFactoryTokenCutter.sol"; import "./interfaces/IProofFactoryGate.sol"; import "./interfaces/IProofFactory.sol"; contract ProofFactory is Ownable, IProofFactory { mapping(address => ProofToken) public validatedPairs; address public proofAdmin; address public routerAddress; address public lockerAddress; address public factoryGate; address payable public revenueAddress; address payable public rewardPoolAddress; constructor( address _initialRouterAddress, address _initialLockerAddress, address _initialRewardPoolAddress, address _initialRevenueAddress, address _factoryGate ) { require(_initialRouterAddress != address(0), "zero router address"); require(_initialLockerAddress != address(0), "zero locker address"); require( _initialRewardPoolAddress != address(0), "zero rewardPool address" ); require(_initialRevenueAddress != address(0), "zero revenue address"); require(_factoryGate != address(0), "zero factory gate address"); routerAddress = _initialRouterAddress; lockerAddress = _initialLockerAddress; proofAdmin = msg.sender; revenueAddress = payable(_initialRevenueAddress); rewardPoolAddress = payable(_initialRewardPoolAddress); factoryGate = _factoryGate; } function updateProofFactory( address _tokenAddress, address _newFactory ) external onlyOwner { require( validatedPairs[_tokenAddress].owner != address(0), "invalid tokenAddress" ); IProofFactoryTokenCutter(_tokenAddress).updateProofFactory(_newFactory); } function createToken(TokenParam memory _tokenParam) external payable { require(_tokenParam.unlockTime >= block.timestamp + 30 days); require(msg.value >= 1 ether); require(_tokenParam.antiSnipeDuration <= 36, "36 sec anti-snipe max"); address newToken = IProofFactoryGate(factoryGate).createToken( _tokenParam, routerAddress, proofAdmin, msg.sender ); IERC20(newToken).approve(routerAddress, type(uint256).max); IUniswapV2Router02 router = IUniswapV2Router02(routerAddress); router.addLiquidityETH{value: msg.value}( address(newToken), IERC20(newToken).balanceOf(address(this)), 0, 0, address(this), block.timestamp ); // disable trading IProofFactoryTokenCutter(newToken).swapTradingStatus(); validatedPairs[newToken] = ProofToken( false, IProofFactoryTokenCutter(newToken).pair(), msg.sender, _tokenParam.unlockTime, 0 ); emit TokenCreated(newToken); } function finalizeToken(address tokenAddress) external payable { _checkTokenStatus(tokenAddress); address _pair = validatedPairs[tokenAddress].pair; uint256 _unlockTime = validatedPairs[tokenAddress].unlockTime; IERC20(_pair).approve(lockerAddress, type(uint256).max); uint256 lpBalance = IERC20(_pair).balanceOf(address(this)); uint256 _lockId = ITeamFinanceLocker(lockerAddress).lockToken{ value: msg.value }(_pair, msg.sender, lpBalance, _unlockTime, false, 0x0000000000000000000000000000000000000000); validatedPairs[tokenAddress].lockId = _lockId; //enable trading ITokenCutter(tokenAddress).swapTradingStatus(); ITokenCutter(tokenAddress).setLaunchedAt(); validatedPairs[tokenAddress].status = true; } function cancelToken(address tokenAddress) external { _checkTokenStatus(tokenAddress); address _pair = validatedPairs[tokenAddress].pair; address _owner = validatedPairs[tokenAddress].owner; IUniswapV2Router02 router = IUniswapV2Router02(routerAddress); IERC20(_pair).approve(routerAddress, type(uint256).max); uint256 _lpBalance = IERC20(_pair).balanceOf(address(this)); // enable transfer and allow router to exceed tx limit to remove liquidity ITokenCutter(tokenAddress).cancelToken(); router.removeLiquidityETH( address(tokenAddress), _lpBalance, 0, 0, _owner, block.timestamp ); // disable transfer of token ITokenCutter(tokenAddress).swapTradingStatus(); delete validatedPairs[tokenAddress]; } function distributeExcessFunds() external onlyOwner { (bool sent, ) = revenueAddress.call{value: address(this).balance / 2}(""); require(sent, ""); (bool sent1, ) = rewardPoolAddress.call{value: address(this).balance}(""); require(sent1, ""); } function proofRevenueAddress() external view returns (address) { return revenueAddress; } function proofRewardPoolAddress() external view returns (address) { return rewardPoolAddress; } function setProofAdmin(address newProofAdmin) external onlyOwner { proofAdmin = newProofAdmin; } function setLockerAddress(address newlockerAddress) external onlyOwner { lockerAddress = newlockerAddress; } function setRouterAddress(address newRouterAddress) external onlyOwner { routerAddress = payable(newRouterAddress); } function setRevenueAddress(address newRevenueAddress) external onlyOwner { revenueAddress = payable(newRevenueAddress); } function setRewardPoolAddress( address newRewardPoolAddress ) external onlyOwner { rewardPoolAddress = payable(newRewardPoolAddress); } function _checkTokenStatus(address tokenAddress) internal view { require(validatedPairs[tokenAddress].owner == msg.sender, "!owner"); require(validatedPairs[tokenAddress].status == false, "validated"); } receive() external payable {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; import "../IERC20.sol"; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; interface IProofFactory { struct ProofToken { bool status; address pair; address owner; uint256 unlockTime; uint256 lockId; } struct TokenParam { string tokenName; string tokenSymbol; uint256 initialSupply; uint256 percentToLP; address reflectionToken; address devWallet; uint256 initialReflectionFee; uint256 initialReflectionFeeOnSell; uint256 initialLpFee; uint256 initialLpFeeOnSell; uint256 initialDevFee; uint256 initialDevFeeOnSell; uint256 unlockTime; uint256 antiSnipeDuration; } function createToken(TokenParam memory _tokenParam) external payable; function finalizeToken(address tokenAddress) external payable; event TokenCreated(address _address); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; import "./IProofFactory.sol"; interface IProofFactoryGate { function updateProofFactory(address _newFactory) external; function createToken( IProofFactory.TokenParam memory _tokenParam, address _routerAddress, address _proofAdmin, address _owner ) external returns (address); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import "../libraries/ProofFactoryFees.sol"; interface IProofFactoryTokenCutter is IERC20, IERC20Metadata { struct BaseData { string tokenName; string tokenSymbol; uint256 initialSupply; uint256 percentToLP; address owner; address devWallet; address reflectionToken; address routerAddress; address initialProofAdmin; uint256 antiSnipeDuration; } function setBasicData( BaseData memory _baseData, ProofFactoryFees.allFees memory fees ) external; function pair() external view returns (address); function swapTradingStatus() external; function updateProofFactory(address _newFactory) external; function changeIsTxLimitExempt( address holder, bool exempt ) external; event DistributorFail(string message); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; interface ITeamFinanceLocker { function lockToken( address _tokenAddress, address _withdrawalAddress, uint256 _amount, uint256 _unlockTime, bool _mintNFT, address referrer ) external payable returns (uint256 _id); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; interface ITokenCutter { function swapTradingStatus() external; function setLaunchedAt() external; function cancelToken() external; }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; import "./Context.sol"; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: None pragma solidity ^0.8.17; library ProofFactoryFees { struct allFees { uint256 reflectionFee; uint256 reflectionFeeOnSell; uint256 lpFee; uint256 lpFeeOnSell; uint256 devFee; uint256 devFeeOnSell; } }
{ "optimizer": { "enabled": true, "runs": 200, "details": { "yul": true } }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_initialRouterAddress","type":"address"},{"internalType":"address","name":"_initialLockerAddress","type":"address"},{"internalType":"address","name":"_initialRewardPoolAddress","type":"address"},{"internalType":"address","name":"_initialRevenueAddress","type":"address"},{"internalType":"address","name":"_factoryGate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"}],"name":"TokenCreated","type":"event"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"cancelToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"uint256","name":"percentToLP","type":"uint256"},{"internalType":"address","name":"reflectionToken","type":"address"},{"internalType":"address","name":"devWallet","type":"address"},{"internalType":"uint256","name":"initialReflectionFee","type":"uint256"},{"internalType":"uint256","name":"initialReflectionFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"initialLpFee","type":"uint256"},{"internalType":"uint256","name":"initialLpFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"initialDevFee","type":"uint256"},{"internalType":"uint256","name":"initialDevFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"},{"internalType":"uint256","name":"antiSnipeDuration","type":"uint256"}],"internalType":"struct IProofFactory.TokenParam","name":"_tokenParam","type":"tuple"}],"name":"createToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"distributeExcessFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factoryGate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"finalizeToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"lockerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proofAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proofRevenueAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proofRewardPoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revenueAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPoolAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newlockerAddress","type":"address"}],"name":"setLockerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newProofAdmin","type":"address"}],"name":"setProofAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRevenueAddress","type":"address"}],"name":"setRevenueAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRewardPoolAddress","type":"address"}],"name":"setRewardPoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_newFactory","type":"address"}],"name":"updateProofFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"validatedPairs","outputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"address","name":"pair","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"unlockTime","type":"uint256"},{"internalType":"uint256","name":"lockId","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001a9738038062001a978339810160408190526200003491620002d7565b6200003f336200026a565b6001600160a01b0385166200009b5760405162461bcd60e51b815260206004820152601360248201527f7a65726f20726f7574657220616464726573730000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038416620000f35760405162461bcd60e51b815260206004820152601360248201527f7a65726f206c6f636b6572206164647265737300000000000000000000000000604482015260640162000092565b6001600160a01b0383166200014b5760405162461bcd60e51b815260206004820152601760248201527f7a65726f20726577617264506f6f6c2061646472657373000000000000000000604482015260640162000092565b6001600160a01b038216620001a35760405162461bcd60e51b815260206004820152601460248201527f7a65726f20726576656e75652061646472657373000000000000000000000000604482015260640162000092565b6001600160a01b038116620001fb5760405162461bcd60e51b815260206004820152601960248201527f7a65726f20666163746f72792067617465206164647265737300000000000000604482015260640162000092565b600380546001600160a01b039687166001600160a01b031991821617909155600480549587169582169590951790945560028054851633179055600680549286169285169290921790915560078054928516928416929092179091556005805491909316911617905562000347565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620002d257600080fd5b919050565b600080600080600060a08688031215620002f057600080fd5b620002fb86620002ba565b94506200030b60208701620002ba565b93506200031b60408701620002ba565b92506200032b60608701620002ba565b91506200033b60808701620002ba565b90509295509295909350565b61174080620003576000396000f3fe6080604052600436106101395760003560e01c8063845a51ec116100ab578063d7e7a9e71161006f578063d7e7a9e7146103ad578063d9b13ce0146103cb578063e6a053d0146103eb578063f2c284221461040b578063f2fde38b1461042b578063f4f1af3a1461044b57600080fd5b8063845a51ec1461031a5780638da5cb5b1461033a5780639a97b07814610358578063b24cf5d71461036d578063b410908d1461038d57600080fd5b806341cb87fc116100fd57806341cb87fc1461026557806345338d631461028557806359a51c34146102a5578063653ed5d4146102c557806370a78991146102e5578063715018a61461030557600080fd5b80630d25f062146101455780632dcacf441461015a5780633268cc56146101ef5780633675f29b146102275780633690e2871461024757600080fd5b3661014057005b600080fd5b610158610153366004611304565b61045e565b005b34801561016657600080fd5b506101b4610175366004611424565b6001602081905260009182526040909120805491810154600282015460039092015460ff8416936001600160a01b036101009091048116939216919085565b6040805195151586526001600160a01b03948516602087015292909316918401919091526060830152608082015260a0015b60405180910390f35b3480156101fb57600080fd5b5060035461020f906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b34801561023357600080fd5b5060045461020f906001600160a01b031681565b34801561025357600080fd5b506006546001600160a01b031661020f565b34801561027157600080fd5b50610158610280366004611424565b610870565b34801561029157600080fd5b506101586102a0366004611424565b61089a565b3480156102b157600080fd5b5060025461020f906001600160a01b031681565b3480156102d157600080fd5b506101586102e0366004611424565b6108c4565b3480156102f157600080fd5b50610158610300366004611424565b610b42565b34801561031157600080fd5b50610158610b6c565b34801561032657600080fd5b5060075461020f906001600160a01b031681565b34801561034657600080fd5b506000546001600160a01b031661020f565b34801561036457600080fd5b50610158610b80565b34801561037957600080fd5b50610158610388366004611424565b610c8f565b34801561039957600080fd5b5060065461020f906001600160a01b031681565b3480156103b957600080fd5b506007546001600160a01b031661020f565b3480156103d757600080fd5b506101586103e6366004611448565b610cb9565b3480156103f757600080fd5b50610158610406366004611424565b610d82565b34801561041757600080fd5b5060055461020f906001600160a01b031681565b34801561043757600080fd5b50610158610446366004611424565b610dac565b610158610459366004611424565b610e25565b61046b4262278d00611481565b816101800151101561047c57600080fd5b670de0b6b3a764000034101561049157600080fd5b6024816101a0015111156104e45760405162461bcd60e51b81526020600482015260156024820152740666c40e6cac640c2dce8d25ae6dcd2e0ca40dac2f605b1b60448201526064015b60405180910390fd5b600554600354600254604051630464d3df60e01b81526000936001600160a01b0390811693630464d3df93610527938893928316929091169033906004016114ee565b6020604051808303816000875af1158015610546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056a9190611603565b60035460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291925082169063095ea7b3906044016020604051808303816000875af11580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e49190611620565b506003546040516370a0823160e01b81523060048201526001600160a01b0391821691829163f305d71991349186918216906370a0823190602401602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190611642565b60008030426040518863ffffffff1660e01b81526004016106869695949392919061165b565b60606040518083038185885af11580156106a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c99190611696565b505050816001600160a01b031663fbd757536040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b505050506040518060a00160405280600015158152602001836001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015610771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107959190611603565b6001600160a01b03908116825233602080840191909152610180870151604080850191909152600060609485018190528784168082526001808552918390208751815489870151881661010002610100600160a81b0319921515929092166001600160a81b031990911617178155878401519281018054939096166001600160a01b03199093169290921790945593850151600285015560809094015160039093019290925591519182527f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e910160405180910390a1505050565b6108786110bd565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108a26110bd565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6108cd81611117565b6001600160a01b038181166000908152600160208190526040918290208054910154600354925163095ea7b360e01b81529284166004840181905260001960248501526101009092048416931691839063095ea7b3906044016020604051808303816000875af1158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190611620565b506040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156109b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d59190611642565b9050846001600160a01b031663546a88116040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b5050604051629d473b60e21b81526001600160a01b03851692506302751cec9150610a60908890859060009081908a90429060040161165b565b60408051808303816000875af1158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa291906116c4565b5050846001600160a01b031663fbd757536040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610adf57600080fd5b505af1158015610af3573d6000803e3d6000fd5b5050506001600160a01b039095166000908152600160208190526040822080546001600160a81b031916815590810180546001600160a01b031916905560028101829055600301555050505050565b610b4a6110bd565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610b746110bd565b610b7e60006111c2565b565b610b886110bd565b6006546000906001600160a01b0316610ba26002476116e8565b604051600081818185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5050905080610c0e5760405162461bcd60e51b815260206004820152600060248201526044016104db565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610c5b576040519150601f19603f3d011682016040523d82523d6000602084013e610c60565b606091505b5050905080610c8b5760405162461bcd60e51b815260206004820152600060248201526044016104db565b5050565b610c976110bd565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610cc16110bd565b6001600160a01b038281166000908152600160208190526040909120015416610d235760405162461bcd60e51b8152602060048201526014602482015273696e76616c696420746f6b656e4164647265737360601b60448201526064016104db565b60405163326c0bfd60e11b81526001600160a01b0382811660048301528316906364d817fa90602401600060405180830381600087803b158015610d6657600080fd5b505af1158015610d7a573d6000803e3d6000fd5b505050505050565b610d8a6110bd565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610db46110bd565b6001600160a01b038116610e195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104db565b610e22816111c2565b50565b610e2e81611117565b6001600160a01b0381811660009081526001602052604090819020805460029091015460048054935163095ea7b360e01b81529385169084015260001960248401526101009091049092169190829063095ea7b3906044016020604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec99190611620565b506040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f359190611642565b60048054604051635af06fed60e01b81526001600160a01b0387811693820193909352336024820152604481018490526064810186905260006084820181905260a48201819052939450911690635af06fed90349060c40160206040518083038185885af1158015610fab573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fd09190611642565b6001600160a01b038616600081815260016020526040808220600301849055805163fbd7575360e01b81529051939450919263fbd7575392600480820193929182900301818387803b15801561102557600080fd5b505af1158015611039573d6000803e3d6000fd5b50505050846001600160a01b03166327193bc46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107857600080fd5b505af115801561108c573d6000803e3d6000fd5b5050506001600160a01b039095166000908152600160208190526040909120805460ff191690911790555050505050565b6000546001600160a01b03163314610b7e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104db565b6001600160a01b038181166000908152600160208190526040909120015416331461116d5760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064016104db565b6001600160a01b03811660009081526001602052604090205460ff1615610e225760405162461bcd60e51b81526020600482015260096024820152681d985b1a59185d195960ba1b60448201526064016104db565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b6040516101c0810167ffffffffffffffff8111828210171561124c5761124c611212565b60405290565b600082601f83011261126357600080fd5b813567ffffffffffffffff8082111561127e5761127e611212565b604051601f8301601f19908116603f011681019082821181831017156112a6576112a6611212565b816040528381528660208588010111156112bf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610e2257600080fd5b80356112ff816112df565b919050565b60006020828403121561131657600080fd5b813567ffffffffffffffff8082111561132e57600080fd5b908301906101c0828603121561134357600080fd5b61134b611228565b82358281111561135a57600080fd5b61136687828601611252565b82525060208301358281111561137b57600080fd5b61138787828601611252565b60208301525060408301356040820152606083013560608201526113ad608084016112f4565b60808201526113be60a084016112f4565b60a082015260c0838101359082015260e08084013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401359082015261018080840135908201526101a09283013592810192909252509392505050565b60006020828403121561143657600080fd5b8135611441816112df565b9392505050565b6000806040838503121561145b57600080fd5b8235611466816112df565b91506020830135611476816112df565b809150509250929050565b808201808211156114a257634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b818110156114ce576020818501810151868301820152016114b2565b506000602082860101526020601f19601f83011685010191505092915050565b60808152600085516101c080608085015261150d6102408501836114a8565b91506020880151607f198584030160a086015261152a83826114a8565b925050604088015160c0850152606088015160e0850152608088015161010061155d818701836001600160a01b03169052565b60a08a0151915061012061157b818801846001600160a01b03169052565b60c08b01516101408881019190915260e08c0151610160808a0191909152928c0151610180808a0191909152918c01516101a0808a0191909152908c015194880194909452908a01516101e08701528901516102008601525090960151610220830152506001600160a01b039384166020820152918316604083015290911660609091015290565b60006020828403121561161557600080fd5b8151611441816112df565b60006020828403121561163257600080fd5b8151801515811461144157600080fd5b60006020828403121561165457600080fd5b5051919050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156116ab57600080fd5b8351925060208401519150604084015190509250925092565b600080604083850312156116d757600080fd5b505080516020909101519092909150565b60008261170557634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212207965ef0573aab399978d0a29185bf1f1ab4c2257b694a9539616e61d449000f864736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb000000000000000000000000cf170d0b07a54844b471cbbe74d2af254245ab54000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e000000000000000000000000b48b896edb56965ca05ca7fe8449f10e9c2ae5b8
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063845a51ec116100ab578063d7e7a9e71161006f578063d7e7a9e7146103ad578063d9b13ce0146103cb578063e6a053d0146103eb578063f2c284221461040b578063f2fde38b1461042b578063f4f1af3a1461044b57600080fd5b8063845a51ec1461031a5780638da5cb5b1461033a5780639a97b07814610358578063b24cf5d71461036d578063b410908d1461038d57600080fd5b806341cb87fc116100fd57806341cb87fc1461026557806345338d631461028557806359a51c34146102a5578063653ed5d4146102c557806370a78991146102e5578063715018a61461030557600080fd5b80630d25f062146101455780632dcacf441461015a5780633268cc56146101ef5780633675f29b146102275780633690e2871461024757600080fd5b3661014057005b600080fd5b610158610153366004611304565b61045e565b005b34801561016657600080fd5b506101b4610175366004611424565b6001602081905260009182526040909120805491810154600282015460039092015460ff8416936001600160a01b036101009091048116939216919085565b6040805195151586526001600160a01b03948516602087015292909316918401919091526060830152608082015260a0015b60405180910390f35b3480156101fb57600080fd5b5060035461020f906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b34801561023357600080fd5b5060045461020f906001600160a01b031681565b34801561025357600080fd5b506006546001600160a01b031661020f565b34801561027157600080fd5b50610158610280366004611424565b610870565b34801561029157600080fd5b506101586102a0366004611424565b61089a565b3480156102b157600080fd5b5060025461020f906001600160a01b031681565b3480156102d157600080fd5b506101586102e0366004611424565b6108c4565b3480156102f157600080fd5b50610158610300366004611424565b610b42565b34801561031157600080fd5b50610158610b6c565b34801561032657600080fd5b5060075461020f906001600160a01b031681565b34801561034657600080fd5b506000546001600160a01b031661020f565b34801561036457600080fd5b50610158610b80565b34801561037957600080fd5b50610158610388366004611424565b610c8f565b34801561039957600080fd5b5060065461020f906001600160a01b031681565b3480156103b957600080fd5b506007546001600160a01b031661020f565b3480156103d757600080fd5b506101586103e6366004611448565b610cb9565b3480156103f757600080fd5b50610158610406366004611424565b610d82565b34801561041757600080fd5b5060055461020f906001600160a01b031681565b34801561043757600080fd5b50610158610446366004611424565b610dac565b610158610459366004611424565b610e25565b61046b4262278d00611481565b816101800151101561047c57600080fd5b670de0b6b3a764000034101561049157600080fd5b6024816101a0015111156104e45760405162461bcd60e51b81526020600482015260156024820152740666c40e6cac640c2dce8d25ae6dcd2e0ca40dac2f605b1b60448201526064015b60405180910390fd5b600554600354600254604051630464d3df60e01b81526000936001600160a01b0390811693630464d3df93610527938893928316929091169033906004016114ee565b6020604051808303816000875af1158015610546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056a9190611603565b60035460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291925082169063095ea7b3906044016020604051808303816000875af11580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e49190611620565b506003546040516370a0823160e01b81523060048201526001600160a01b0391821691829163f305d71991349186918216906370a0823190602401602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190611642565b60008030426040518863ffffffff1660e01b81526004016106869695949392919061165b565b60606040518083038185885af11580156106a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c99190611696565b505050816001600160a01b031663fbd757536040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561070757600080fd5b505af115801561071b573d6000803e3d6000fd5b505050506040518060a00160405280600015158152602001836001600160a01b031663a8aa1b316040518163ffffffff1660e01b8152600401602060405180830381865afa158015610771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107959190611603565b6001600160a01b03908116825233602080840191909152610180870151604080850191909152600060609485018190528784168082526001808552918390208751815489870151881661010002610100600160a81b0319921515929092166001600160a81b031990911617178155878401519281018054939096166001600160a01b03199093169290921790945593850151600285015560809094015160039093019290925591519182527f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e910160405180910390a1505050565b6108786110bd565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108a26110bd565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6108cd81611117565b6001600160a01b038181166000908152600160208190526040918290208054910154600354925163095ea7b360e01b81529284166004840181905260001960248501526101009092048416931691839063095ea7b3906044016020604051808303816000875af1158015610945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109699190611620565b506040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156109b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d59190611642565b9050846001600160a01b031663546a88116040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b5050604051629d473b60e21b81526001600160a01b03851692506302751cec9150610a60908890859060009081908a90429060040161165b565b60408051808303816000875af1158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa291906116c4565b5050846001600160a01b031663fbd757536040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610adf57600080fd5b505af1158015610af3573d6000803e3d6000fd5b5050506001600160a01b039095166000908152600160208190526040822080546001600160a81b031916815590810180546001600160a01b031916905560028101829055600301555050505050565b610b4a6110bd565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610b746110bd565b610b7e60006111c2565b565b610b886110bd565b6006546000906001600160a01b0316610ba26002476116e8565b604051600081818185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5050905080610c0e5760405162461bcd60e51b815260206004820152600060248201526044016104db565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610c5b576040519150601f19603f3d011682016040523d82523d6000602084013e610c60565b606091505b5050905080610c8b5760405162461bcd60e51b815260206004820152600060248201526044016104db565b5050565b610c976110bd565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610cc16110bd565b6001600160a01b038281166000908152600160208190526040909120015416610d235760405162461bcd60e51b8152602060048201526014602482015273696e76616c696420746f6b656e4164647265737360601b60448201526064016104db565b60405163326c0bfd60e11b81526001600160a01b0382811660048301528316906364d817fa90602401600060405180830381600087803b158015610d6657600080fd5b505af1158015610d7a573d6000803e3d6000fd5b505050505050565b610d8a6110bd565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610db46110bd565b6001600160a01b038116610e195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104db565b610e22816111c2565b50565b610e2e81611117565b6001600160a01b0381811660009081526001602052604090819020805460029091015460048054935163095ea7b360e01b81529385169084015260001960248401526101009091049092169190829063095ea7b3906044016020604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec99190611620565b506040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f359190611642565b60048054604051635af06fed60e01b81526001600160a01b0387811693820193909352336024820152604481018490526064810186905260006084820181905260a48201819052939450911690635af06fed90349060c40160206040518083038185885af1158015610fab573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fd09190611642565b6001600160a01b038616600081815260016020526040808220600301849055805163fbd7575360e01b81529051939450919263fbd7575392600480820193929182900301818387803b15801561102557600080fd5b505af1158015611039573d6000803e3d6000fd5b50505050846001600160a01b03166327193bc46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107857600080fd5b505af115801561108c573d6000803e3d6000fd5b5050506001600160a01b039095166000908152600160208190526040909120805460ff191690911790555050505050565b6000546001600160a01b03163314610b7e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104db565b6001600160a01b038181166000908152600160208190526040909120015416331461116d5760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064016104db565b6001600160a01b03811660009081526001602052604090205460ff1615610e225760405162461bcd60e51b81526020600482015260096024820152681d985b1a59185d195960ba1b60448201526064016104db565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b6040516101c0810167ffffffffffffffff8111828210171561124c5761124c611212565b60405290565b600082601f83011261126357600080fd5b813567ffffffffffffffff8082111561127e5761127e611212565b604051601f8301601f19908116603f011681019082821181831017156112a6576112a6611212565b816040528381528660208588010111156112bf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610e2257600080fd5b80356112ff816112df565b919050565b60006020828403121561131657600080fd5b813567ffffffffffffffff8082111561132e57600080fd5b908301906101c0828603121561134357600080fd5b61134b611228565b82358281111561135a57600080fd5b61136687828601611252565b82525060208301358281111561137b57600080fd5b61138787828601611252565b60208301525060408301356040820152606083013560608201526113ad608084016112f4565b60808201526113be60a084016112f4565b60a082015260c0838101359082015260e08084013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401359082015261018080840135908201526101a09283013592810192909252509392505050565b60006020828403121561143657600080fd5b8135611441816112df565b9392505050565b6000806040838503121561145b57600080fd5b8235611466816112df565b91506020830135611476816112df565b809150509250929050565b808201808211156114a257634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b818110156114ce576020818501810151868301820152016114b2565b506000602082860101526020601f19601f83011685010191505092915050565b60808152600085516101c080608085015261150d6102408501836114a8565b91506020880151607f198584030160a086015261152a83826114a8565b925050604088015160c0850152606088015160e0850152608088015161010061155d818701836001600160a01b03169052565b60a08a0151915061012061157b818801846001600160a01b03169052565b60c08b01516101408881019190915260e08c0151610160808a0191909152928c0151610180808a0191909152918c01516101a0808a0191909152908c015194880194909452908a01516101e08701528901516102008601525090960151610220830152506001600160a01b039384166020820152918316604083015290911660609091015290565b60006020828403121561161557600080fd5b8151611441816112df565b60006020828403121561163257600080fd5b8151801515811461144157600080fd5b60006020828403121561165457600080fd5b5051919050565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156116ab57600080fd5b8351925060208401519150604084015190509250925092565b600080604083850312156116d757600080fd5b505080516020909101519092909150565b60008261170557634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212207965ef0573aab399978d0a29185bf1f1ab4c2257b694a9539616e61d449000f864736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb000000000000000000000000cf170d0b07a54844b471cbbe74d2af254245ab54000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e000000000000000000000000b48b896edb56965ca05ca7fe8449f10e9c2ae5b8
-----Decoded View---------------
Arg [0] : _initialRouterAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _initialLockerAddress (address): 0xE2fE530C047f2d85298b07D9333C05737f1435fB
Arg [2] : _initialRewardPoolAddress (address): 0xcF170D0b07A54844B471CBBE74D2af254245ab54
Arg [3] : _initialRevenueAddress (address): 0xe9b4d32f829951a3Ce145D2CaA84Cf66af56CA5e
Arg [4] : _factoryGate (address): 0xB48B896edb56965ca05CA7fe8449F10e9c2ae5b8
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb
Arg [2] : 000000000000000000000000cf170d0b07a54844b471cbbe74d2af254245ab54
Arg [3] : 000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e
Arg [4] : 000000000000000000000000b48b896edb56965ca05ca7fe8449f10e9c2ae5b8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.