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
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60803462 | 18423194 | 341 days ago | IN | 0 ETH | 0.03097133 |
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 } }, "viaIR": 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
6080346200029e57601f6200161938819003918201601f191683019291906001600160401b03841183851017620002a3578160a092849260409687528339810103126200029e576200005181620002b9565b60209162000061838201620002b9565b916200006f858301620002b9565b6200008b60806200008360608601620002b9565b9401620002b9565b916000549060018060a01b031995338784161760005588519260018060a01b03928391823391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3169283156200025c5750811692831562000218578116948515620001d45781169384156200019057169586156200014d57508460035416176003558360045416176004553383600254161760025582600654161760065581600754161760075560055416176005555161134a9081620002cf8239f35b60649088519062461bcd60e51b82526004820152601960248201527f7a65726f20666163746f727920676174652061646472657373000000000000006044820152fd5b885162461bcd60e51b815260048101899052601460248201527f7a65726f20726576656e756520616464726573730000000000000000000000006044820152606490fd5b885162461bcd60e51b815260048101899052601760248201527f7a65726f20726577617264506f6f6c20616464726573730000000000000000006044820152606490fd5b885162461bcd60e51b815260048101899052601360248201527f7a65726f206c6f636b65722061646472657373000000000000000000000000006044820152606490fd5b62461bcd60e51b815260048101899052601360248201527f7a65726f20726f757465722061646472657373000000000000000000000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200029e5756fe6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c80630d25f06214610ad55780632dcacf4414610a665780633268cc5614610a3d5780633675f29b14610a145780633690e287146105a657806341cb87fc146109d457806345338d631461099457806359a51c341461096b578063653ed5d41461072b57806370a78991146106eb578063715018a614610691578063845a51ec1461057d5780638da5cb5b1461066a5780639a97b0781461060f578063b24cf5d7146105cf578063b410908d146105a6578063d7e7a9e71461057d578063d9b13ce0146104a5578063e6a053d014610465578063f2c284221461043c578063f2fde38b146103735763f4f1af3a14610119575061000e565b60208060031936011261036f5761012e61112b565b906101388261127a565b6001600160a01b03918216808452600182526040808520805460029091015460048054935163095ea7b360e01b8152938716908401526000196024840152929460089190911c81169184816044818a875af1801561033757610342575b506040516370a0823160e01b8152306004820152918483602481845afa9182156103375785938893610303575b509060c491600454166040519586948593635af06fed60e01b85526004850152336024850152604484015260648301528860848301528860a483015234905af19081156102f85784916102c6575b50828452600182526003604085200155813b156102a35760405163fbd7575360e01b81528390818160048183885af180156102a7576102b2575b5050813b156102a3576040516309c64ef160e21b81528390818160048183885af180156102a75761028f575b5091600192525260408120600160ff1982541617905580f35b61029890611092565b6102a3578238610276565b8280fd5b6040513d84823e3d90fd5b6102bb90611092565b6102a357823861024a565b90508181813d83116102f1575b6102dd81836110a6565b810103126102ec575138610210565b600080fd5b503d6102d3565b6040513d86823e3d90fd5b848193959294503d8311610330575b61031c81836110a6565b810103126102ec57518492909160c46101c2565b503d610312565b6040513d89823e3d90fd5b61036190853d8711610368575b61035981836110a6565b81019061120c565b5038610195565b503d61034f565b5080fd5b50346104395760203660031901126104395761038d61112b565b610395611155565b6001600160a01b039081169081156103e557600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346104395780600319360112610439576005546040516001600160a01b039091168152602090f35b50346104395760203660031901126104395761047f61112b565b610487611155565b60018060a01b03166001600160601b0360a01b600454161760045580f35b5034610439576040366003190112610439576104bf61112b565b6001600160a01b0360243581811692908390036102ec5781906104e0611155565b1690818452600160205260016040852001541615610541578291813b1561053d57829160248392604051948593849263326c0bfd60e11b845260048401525af180156102a75761052d5750f35b61053690611092565b6104395780f35b5050fd5b60405162461bcd60e51b8152602060048201526014602482015273696e76616c696420746f6b656e4164647265737360601b6044820152606490fd5b50346104395780600319360112610439576007546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576006546040516001600160a01b039091168152602090f35b5034610439576020366003190112610439576105e961112b565b6105f1611155565b60018060a01b03166001600160601b0360a01b600754161760075580f35b5034610439578060031936011261043957610628611155565b6106678180808060018060a01b036106578280808085600654164760011c905af1610651611224565b50611254565b6007541647905af1610651611224565b80f35b5034610439578060031936011261043957546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576106aa611155565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346104395760203660031901126104395761070561112b565b61070d611155565b60018060a01b03166001600160601b0360a01b600254161760025580f35b50346104395760208060031936011261036f5761074661112b565b906107508261127a565b6001600160a01b03828116808552600180845260408087208054920154600354915163095ea7b360e01b81529185166004830181905260001960248401529396949081169288929160089190911c16868260448186855af190811561091257602492889261094e575b506040516370a0823160e01b815230600482015292839182905afa9081156102a757829161091d575b50863b1561036f5760405163546a881160e01b81528281600481838c5af18015610912576108f1575b5060408051629d473b60e21b81526001600160a01b039687166004820152602481019290925260006044830181905260648301529290941660848501524260a48501529091839160c4918391905af180156102f8576108c6575b50813b156102a35760405163fbd7575360e01b81528390818160048183885af180156102a7576108b2575b5091600192525280600360408220828155826001820155826002820155015580f35b6108bb90611092565b6102a3578238610890565b604090813d83116108ea575b6108dc81836110a6565b810103126102a35738610865565b503d6108d2565b91610900819694929593611092565b61090e57919390923861080b565b8480fd5b6040513d85823e3d90fd5b809250868092503d8311610947575b61093681836110a6565b810103126102ec57869051386107e2565b503d61092c565b61096490833d85116103685761035981836110a6565b50386107b9565b50346104395780600319360112610439576002546040516001600160a01b039091168152602090f35b5034610439576020366003190112610439576109ae61112b565b6109b6611155565b60018060a01b03166001600160601b0360a01b600654161760065580f35b5034610439576020366003190112610439576109ee61112b565b6109f6611155565b60018060a01b03166001600160601b0360a01b600354161760035580f35b50346104395780600319360112610439576004546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576003546040516001600160a01b039091168152602090f35b50346104395760203660031901126104395760a0906001600160a01b039060409082610a9061112b565b168152600160205220908154918160018201541660036002830154920154926040519460ff81161515865260081c166020850152604084015260608301526080820152f35b5060031960203682011261036f5767ffffffffffffffff6004351161036f576101c09060043536030112610439576102406040526004356004013567ffffffffffffffff811161036f57610b309060043691813501016110e4565b6080526024600435013567ffffffffffffffff811161036f57610b5a9060043691813501016110e4565b60a052600435604481013560c052606481013560e052610b7c90608401611141565b61010052610b8e60043560a401611141565b6101205260043560c48101356101405260e481013561016052610104810135610180526101248101356101a0526101448101356101c0526101648101356101e052610184810135610200526101a40135610220524262278d00810190811061107e5761018460043501351061043957670de0b6b3a76400003410610439576102205160241061104157600554600354600254604051630464d3df60e01b8152608060048201819052516101c0608483015290949360209386936001600160a01b039283169385938893859390821692911690610c8990610c73906102448601906111cc565b60808a01518582036083190160a48701526111cc565b60c05160c485015260e05160e4850152610100516001600160a01b0390811661010486015261012051166101248501526101405161014485015261016051610164850152610180516101848501526101a0516101a48501526101c0516101c48501526101e0516101e485015261020051610204850152610220516102248501526024840192909252604483015233606483015203925af1918215611034578192611013575b5060035460405163095ea7b360e01b81526001600160a01b0391821660048201526000196024820152908316929060208160448186885af1801561091257610ff4575b506003546040516370a0823160e01b8152306004820152916001600160a01b0390911690602083602481885afa9283156102f8578493610fbb575b5060405163f305d71960e01b81526001600160a01b03919091166004820152602481019290925260006044830181905260648301523060848301524260a4830152606090829060c490829034905af180156102a757610f90575b50813b156104395760405163fbd7575360e01b8152818160048183875af180156102a757610f81575b5060405163a8aa1b3160e01b81529091602082600481845afa918215610912578392610f50575b50610180608001519060405160a0810181811067ffffffffffffffff821117610f3a577f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e946020946003926040528784528584019160018060a01b0316825260408401338152606085019182526080850192898452868a526001885260408a20955115159060ff875491610100600160a81b03905160081b169216906affffffffffffffffffffff60a81b1617178555600185019060018060a01b039051166001600160601b0360a01b82541617905551600284015551910155604051908152a180f35b634e487b7160e01b600052604160045260246000fd5b610f7391925060203d602011610f7a575b610f6b81836110a6565b8101906111ad565b9038610e56565b503d610f61565b610f8a90611092565b38610e2f565b606090813d8311610fb4575b610fa681836110a6565b810103126104395738610e06565b503d610f9c565b9092506020813d602011610fec575b81610fd7602093836110a6565b81010312610fe85751916060610dac565b8380fd5b3d9150610fca565b61100c9060203d6020116103685761035981836110a6565b5038610d71565b61102d91925060203d602011610f7a57610f6b81836110a6565b9038610d2e565b50604051903d90823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152740666c40e6cac640c2dce8d25ae6dcd2e0ca40dac2f605b1b6044820152606490fd5b634e487b7160e01b82526011600452602482fd5b67ffffffffffffffff8111610f3a57604052565b90601f8019910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f01601f191660200190565b81601f820112156102ec578035906110fb826110c8565b9261110960405194856110a6565b828452602083830101116102ec57816000926020809301838601378301015290565b600435906001600160a01b03821682036102ec57565b35906001600160a01b03821682036102ec57565b6000546001600160a01b0316330361116957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908160209103126102ec57516001600160a01b03811681036102ec5790565b919082519283825260005b8481106111f8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111d7565b908160209103126102ec575180151581036102ec5790565b3d1561124f573d90611235826110c8565b9161124360405193846110a6565b82523d6000602084013e565b606090565b1561125b57565b60405162461bcd60e51b81526020600482015260006024820152604490fd5b60018060a01b03809116908160005260016020526001604060002001541633036112e657600052600160205260ff604060002054166112b557565b60405162461bcd60e51b81526020600482015260096024820152681d985b1a59185d195960ba1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606490fdfea2646970667358221220dabf926208bd6a4fe7c3c3d0f21cd23455be4a98ce0ed7aef40c1af39881bc4364736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb000000000000000000000000377e168af6a06075423aede50856de177efaac3e000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e000000000000000000000000ef5e95eb9037cb23e9dc3d5b4ba1fd12e734c354
Deployed Bytecode
0x6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c80630d25f06214610ad55780632dcacf4414610a665780633268cc5614610a3d5780633675f29b14610a145780633690e287146105a657806341cb87fc146109d457806345338d631461099457806359a51c341461096b578063653ed5d41461072b57806370a78991146106eb578063715018a614610691578063845a51ec1461057d5780638da5cb5b1461066a5780639a97b0781461060f578063b24cf5d7146105cf578063b410908d146105a6578063d7e7a9e71461057d578063d9b13ce0146104a5578063e6a053d014610465578063f2c284221461043c578063f2fde38b146103735763f4f1af3a14610119575061000e565b60208060031936011261036f5761012e61112b565b906101388261127a565b6001600160a01b03918216808452600182526040808520805460029091015460048054935163095ea7b360e01b8152938716908401526000196024840152929460089190911c81169184816044818a875af1801561033757610342575b506040516370a0823160e01b8152306004820152918483602481845afa9182156103375785938893610303575b509060c491600454166040519586948593635af06fed60e01b85526004850152336024850152604484015260648301528860848301528860a483015234905af19081156102f85784916102c6575b50828452600182526003604085200155813b156102a35760405163fbd7575360e01b81528390818160048183885af180156102a7576102b2575b5050813b156102a3576040516309c64ef160e21b81528390818160048183885af180156102a75761028f575b5091600192525260408120600160ff1982541617905580f35b61029890611092565b6102a3578238610276565b8280fd5b6040513d84823e3d90fd5b6102bb90611092565b6102a357823861024a565b90508181813d83116102f1575b6102dd81836110a6565b810103126102ec575138610210565b600080fd5b503d6102d3565b6040513d86823e3d90fd5b848193959294503d8311610330575b61031c81836110a6565b810103126102ec57518492909160c46101c2565b503d610312565b6040513d89823e3d90fd5b61036190853d8711610368575b61035981836110a6565b81019061120c565b5038610195565b503d61034f565b5080fd5b50346104395760203660031901126104395761038d61112b565b610395611155565b6001600160a01b039081169081156103e557600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346104395780600319360112610439576005546040516001600160a01b039091168152602090f35b50346104395760203660031901126104395761047f61112b565b610487611155565b60018060a01b03166001600160601b0360a01b600454161760045580f35b5034610439576040366003190112610439576104bf61112b565b6001600160a01b0360243581811692908390036102ec5781906104e0611155565b1690818452600160205260016040852001541615610541578291813b1561053d57829160248392604051948593849263326c0bfd60e11b845260048401525af180156102a75761052d5750f35b61053690611092565b6104395780f35b5050fd5b60405162461bcd60e51b8152602060048201526014602482015273696e76616c696420746f6b656e4164647265737360601b6044820152606490fd5b50346104395780600319360112610439576007546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576006546040516001600160a01b039091168152602090f35b5034610439576020366003190112610439576105e961112b565b6105f1611155565b60018060a01b03166001600160601b0360a01b600754161760075580f35b5034610439578060031936011261043957610628611155565b6106678180808060018060a01b036106578280808085600654164760011c905af1610651611224565b50611254565b6007541647905af1610651611224565b80f35b5034610439578060031936011261043957546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576106aa611155565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346104395760203660031901126104395761070561112b565b61070d611155565b60018060a01b03166001600160601b0360a01b600254161760025580f35b50346104395760208060031936011261036f5761074661112b565b906107508261127a565b6001600160a01b03828116808552600180845260408087208054920154600354915163095ea7b360e01b81529185166004830181905260001960248401529396949081169288929160089190911c16868260448186855af190811561091257602492889261094e575b506040516370a0823160e01b815230600482015292839182905afa9081156102a757829161091d575b50863b1561036f5760405163546a881160e01b81528281600481838c5af18015610912576108f1575b5060408051629d473b60e21b81526001600160a01b039687166004820152602481019290925260006044830181905260648301529290941660848501524260a48501529091839160c4918391905af180156102f8576108c6575b50813b156102a35760405163fbd7575360e01b81528390818160048183885af180156102a7576108b2575b5091600192525280600360408220828155826001820155826002820155015580f35b6108bb90611092565b6102a3578238610890565b604090813d83116108ea575b6108dc81836110a6565b810103126102a35738610865565b503d6108d2565b91610900819694929593611092565b61090e57919390923861080b565b8480fd5b6040513d85823e3d90fd5b809250868092503d8311610947575b61093681836110a6565b810103126102ec57869051386107e2565b503d61092c565b61096490833d85116103685761035981836110a6565b50386107b9565b50346104395780600319360112610439576002546040516001600160a01b039091168152602090f35b5034610439576020366003190112610439576109ae61112b565b6109b6611155565b60018060a01b03166001600160601b0360a01b600654161760065580f35b5034610439576020366003190112610439576109ee61112b565b6109f6611155565b60018060a01b03166001600160601b0360a01b600354161760035580f35b50346104395780600319360112610439576004546040516001600160a01b039091168152602090f35b50346104395780600319360112610439576003546040516001600160a01b039091168152602090f35b50346104395760203660031901126104395760a0906001600160a01b039060409082610a9061112b565b168152600160205220908154918160018201541660036002830154920154926040519460ff81161515865260081c166020850152604084015260608301526080820152f35b5060031960203682011261036f5767ffffffffffffffff6004351161036f576101c09060043536030112610439576102406040526004356004013567ffffffffffffffff811161036f57610b309060043691813501016110e4565b6080526024600435013567ffffffffffffffff811161036f57610b5a9060043691813501016110e4565b60a052600435604481013560c052606481013560e052610b7c90608401611141565b61010052610b8e60043560a401611141565b6101205260043560c48101356101405260e481013561016052610104810135610180526101248101356101a0526101448101356101c0526101648101356101e052610184810135610200526101a40135610220524262278d00810190811061107e5761018460043501351061043957670de0b6b3a76400003410610439576102205160241061104157600554600354600254604051630464d3df60e01b8152608060048201819052516101c0608483015290949360209386936001600160a01b039283169385938893859390821692911690610c8990610c73906102448601906111cc565b60808a01518582036083190160a48701526111cc565b60c05160c485015260e05160e4850152610100516001600160a01b0390811661010486015261012051166101248501526101405161014485015261016051610164850152610180516101848501526101a0516101a48501526101c0516101c48501526101e0516101e485015261020051610204850152610220516102248501526024840192909252604483015233606483015203925af1918215611034578192611013575b5060035460405163095ea7b360e01b81526001600160a01b0391821660048201526000196024820152908316929060208160448186885af1801561091257610ff4575b506003546040516370a0823160e01b8152306004820152916001600160a01b0390911690602083602481885afa9283156102f8578493610fbb575b5060405163f305d71960e01b81526001600160a01b03919091166004820152602481019290925260006044830181905260648301523060848301524260a4830152606090829060c490829034905af180156102a757610f90575b50813b156104395760405163fbd7575360e01b8152818160048183875af180156102a757610f81575b5060405163a8aa1b3160e01b81529091602082600481845afa918215610912578392610f50575b50610180608001519060405160a0810181811067ffffffffffffffff821117610f3a577f2e2b3f61b70d2d131b2a807371103cc98d51adcaa5e9a8f9c32658ad8426e74e946020946003926040528784528584019160018060a01b0316825260408401338152606085019182526080850192898452868a526001885260408a20955115159060ff875491610100600160a81b03905160081b169216906affffffffffffffffffffff60a81b1617178555600185019060018060a01b039051166001600160601b0360a01b82541617905551600284015551910155604051908152a180f35b634e487b7160e01b600052604160045260246000fd5b610f7391925060203d602011610f7a575b610f6b81836110a6565b8101906111ad565b9038610e56565b503d610f61565b610f8a90611092565b38610e2f565b606090813d8311610fb4575b610fa681836110a6565b810103126104395738610e06565b503d610f9c565b9092506020813d602011610fec575b81610fd7602093836110a6565b81010312610fe85751916060610dac565b8380fd5b3d9150610fca565b61100c9060203d6020116103685761035981836110a6565b5038610d71565b61102d91925060203d602011610f7a57610f6b81836110a6565b9038610d2e565b50604051903d90823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152740666c40e6cac640c2dce8d25ae6dcd2e0ca40dac2f605b1b6044820152606490fd5b634e487b7160e01b82526011600452602482fd5b67ffffffffffffffff8111610f3a57604052565b90601f8019910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f01601f191660200190565b81601f820112156102ec578035906110fb826110c8565b9261110960405194856110a6565b828452602083830101116102ec57816000926020809301838601378301015290565b600435906001600160a01b03821682036102ec57565b35906001600160a01b03821682036102ec57565b6000546001600160a01b0316330361116957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908160209103126102ec57516001600160a01b03811681036102ec5790565b919082519283825260005b8481106111f8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016111d7565b908160209103126102ec575180151581036102ec5790565b3d1561124f573d90611235826110c8565b9161124360405193846110a6565b82523d6000602084013e565b606090565b1561125b57565b60405162461bcd60e51b81526020600482015260006024820152604490fd5b60018060a01b03809116908160005260016020526001604060002001541633036112e657600052600160205260ff604060002054166112b557565b60405162461bcd60e51b81526020600482015260096024820152681d985b1a59185d195960ba1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606490fdfea2646970667358221220dabf926208bd6a4fe7c3c3d0f21cd23455be4a98ce0ed7aef40c1af39881bc4364736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb000000000000000000000000377e168af6a06075423aede50856de177efaac3e000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e000000000000000000000000ef5e95eb9037cb23e9dc3d5b4ba1fd12e734c354
-----Decoded View---------------
Arg [0] : _initialRouterAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _initialLockerAddress (address): 0xE2fE530C047f2d85298b07D9333C05737f1435fB
Arg [2] : _initialRewardPoolAddress (address): 0x377E168aF6A06075423AEDe50856dE177EfaAc3E
Arg [3] : _initialRevenueAddress (address): 0xe9b4d32f829951a3Ce145D2CaA84Cf66af56CA5e
Arg [4] : _factoryGate (address): 0xef5E95eB9037cb23e9dc3D5B4bA1fd12e734C354
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000e2fe530c047f2d85298b07d9333c05737f1435fb
Arg [2] : 000000000000000000000000377e168af6a06075423aede50856de177efaac3e
Arg [3] : 000000000000000000000000e9b4d32f829951a3ce145d2caa84cf66af56ca5e
Arg [4] : 000000000000000000000000ef5e95eb9037cb23e9dc3d5b4ba1fd12e734c354
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.