Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 2 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6025764 | 9 days ago | Contract Creation | 0 S | |||
6025269 | 9 days ago | Contract Creation | 0 S |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
ProLaunchpad
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: UNLICENSED pragma solidity ^0.8.0; import {IMemeUniV2Pair} from './interfaces/IMemeUniV2Pair.sol'; import {IMemeUniV2Factory} from './interfaces/IMemeUniV2Factory.sol'; import {IMemeUniV2Router02} from './interfaces/IMemeUniV2Router02.sol'; import {IMinter} from './interfaces/IMinter.sol'; import {Clones} from '@openzeppelin/contracts/proxy/Clones.sol'; import {IWETH} from '@uniswap/v2-periphery/contracts/interfaces/IWETH.sol'; import {ITournamentToken} from './interfaces/ITournamentToken.sol'; contract ProLaunchpad { uint constant public LIQUIDITY_BONUS = 100_000 ether; IWETH public WETH; address public tokenImplementation; address public owner; address public router; address public baks; event Listing( address indexed tokenOwner, address token, string name, string symbol, string siteUrl, string imageUrl, string chatUrl, string socialUrl, string description ); constructor(address _weth, address _tokenImplementation, address _router, address _baks) { WETH = IWETH(_weth); tokenImplementation = _tokenImplementation; router = _router; baks = _baks; } modifier onlyOwner() { require(msg.sender == owner, 'OWNER_ERR'); _; } function changeTokenImplementation(address _newImplementation) external onlyOwner { tokenImplementation = _newImplementation; } function changeRouter(address _newRouter) external onlyOwner { router = _newRouter; } function transferOwner(address _newOwner) external onlyOwner { owner = _newOwner; } function changeBaks(address _baks) external onlyOwner { baks = _baks; } function pro_listing( string memory name, string memory symbol, string memory siteUrl, string memory imageUrl, string memory description, string memory chatUrl, string memory socialUrl, uint supply ) external returns(address, address){ require(bytes(name).length > 0 && bytes(name).length <= 128, 'INV_NAME'); require(bytes(symbol).length > 0 && bytes(symbol).length <= 128, 'INV_SYMBOL'); require(bytes(imageUrl).length > 0 && bytes(imageUrl).length <= 150, 'INV_IMAGE'); require(bytes(siteUrl).length <= 128, 'INV_SITE'); require(bytes(description).length <= 128, 'INV_DESC'); require(bytes(chatUrl).length <= 128, 'INV_CHAT'); require(bytes(socialUrl).length <= 128, 'INV_SOC'); require(supply > 1, 'INV_SUPPLY'); address newToken = _deploy_token( name, symbol, siteUrl, imageUrl, description, chatUrl, socialUrl, supply, address(this) ); IMinter(baks).mint(address(this), LIQUIDITY_BONUS); _addLiquidity(newToken, supply); emit Listing(msg.sender, newToken, name, symbol, siteUrl, imageUrl, chatUrl, socialUrl, description); return (msg.sender, newToken); } function _deploy_token( string memory name, string memory symbol, string memory siteUrl, string memory imageUrl, string memory description, string memory chatUrl, string memory socialUrl, uint supply, address mintTo ) internal returns (address newToken){ require(bytes(name).length > 0 && bytes(name).length <= 64, 'INV_NAME'); require(bytes(symbol).length > 0 && bytes(symbol).length <= 64, 'INV_SYMBOL'); require(bytes(imageUrl).length > 0 && bytes(imageUrl).length <= 150, 'INV_IMAGE'); require(bytes(siteUrl).length <= 64, 'INV_SITE'); require(bytes(description).length <= 64, 'INV_DESC'); require(bytes(chatUrl).length <= 64, 'INV_CHAT'); require(bytes(socialUrl).length <= 64, 'INV_SOC'); newToken = Clones.clone(tokenImplementation); ITournamentToken(newToken).initialize( name, symbol, siteUrl, imageUrl, description, chatUrl, socialUrl, supply, mintTo ); return newToken; } function _addLiquidity(address _newToken, uint _supply) internal { IMinter(_newToken).approve(router, type(uint256).max); IMinter(baks).approve(router, LIQUIDITY_BONUS); IMemeUniV2Router02(router).addLiquidity( baks, // tokenA _newToken, // tokenB LIQUIDITY_BONUS, // amountADesired _supply, // amountBDesired 1, // uint amountAMin 1, // uint amountBMin address(0), block.timestamp // uint deadline ); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (proxy/Clones.sol) pragma solidity ^0.8.0; /** * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for * deploying minimal proxy contracts, also known as "clones". * * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies * > a minimal bytecode implementation that delegates all calls to a known, fixed address. * * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2` * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the * deterministic method. * * _Available since v3.4._ */ library Clones { /** * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. * * This function uses the create opcode, which should never revert. */ function clone(address implementation) internal returns (address instance) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create(0, 0x09, 0x37) } require(instance != address(0), "ERC1167: create failed"); } /** * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. * * This function uses the create2 opcode and a `salt` to deterministically deploy * the clone. Using the same `implementation` and `salt` multiple time will revert, since * the clones cannot be deployed twice at the same address. */ function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create2(0, 0x09, 0x37, salt) } require(instance != address(0), "ERC1167: create2 failed"); } /** * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. */ function predictDeterministicAddress( address implementation, bytes32 salt, address deployer ) internal pure returns (address predicted) { /// @solidity memory-safe-assembly assembly { let ptr := mload(0x40) mstore(add(ptr, 0x38), deployer) mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff) mstore(add(ptr, 0x14), implementation) mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73) mstore(add(ptr, 0x58), salt) mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37)) predicted := keccak256(add(ptr, 0x43), 0x55) } } /** * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. */ function predictDeterministicAddress( address implementation, bytes32 salt ) internal view returns (address predicted) { return predictDeterministicAddress(implementation, salt, address(this)); } }
// 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); }
pragma solidity >=0.5.0; interface IWETH { function deposit() external payable; function transfer(address to, uint value) external returns (bool); function withdraw(uint) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IMemeUniV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IMemeUniV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2; interface IMemeUniV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2; import './IMemeUniV2Router01.sol'; interface IMemeUniV2Router02 is IMemeUniV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IMinter { function mint(address to, uint value) external; function approve(address to, uint value) external; }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; import {IERC20} from '@openzeppelin/contracts/token/ERC20/IERC20.sol'; interface ITournamentToken is IERC20 { function burn(uint256 amount) external; function setPauseStatus(bool status) external; function transferOwner(address newOwner) external; function setWhitelistStatus(address from, address to, bool status) external; function initialize( string memory name_, string memory symbol_, string memory siteUrl_, string memory imageUrl_, string memory description_, string memory chatUrl_, string memory socialUrl_, uint256 initialSupply_, address mintTo_ ) external; function name() external view returns (string memory); function symbol() external view returns (string memory); function siteUrl() external view returns (string memory); function imageUrl() external view returns (string memory); function description() external view returns (string memory); function chatUrl() external view returns (string memory); function socialUrl() external view returns (string memory); function donation() external view returns (uint); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_tokenImplementation","type":"address"},{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_baks","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":false,"internalType":"string","name":"siteUrl","type":"string"},{"indexed":false,"internalType":"string","name":"imageUrl","type":"string"},{"indexed":false,"internalType":"string","name":"chatUrl","type":"string"},{"indexed":false,"internalType":"string","name":"socialUrl","type":"string"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"Listing","type":"event"},{"inputs":[],"name":"LIQUIDITY_BONUS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baks","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_baks","type":"address"}],"name":"changeBaks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRouter","type":"address"}],"name":"changeRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"changeTokenImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"siteUrl","type":"string"},{"internalType":"string","name":"imageUrl","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"chatUrl","type":"string"},{"internalType":"string","name":"socialUrl","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"}],"name":"pro_listing","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610fc0380380610fc083398101604081905261002f9161009e565b600080546001600160a01b039586166001600160a01b03199182161790915560018054948616948216949094179093556003805492851692841692909217909155600480549190931691161790556100f2565b80516001600160a01b038116811461009957600080fd5b919050565b600080600080608085870312156100b457600080fd5b6100bd85610082565b93506100cb60208601610082565b92506100d960408601610082565b91506100e760608601610082565b905092959194509250565b610ebf806101016000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012c578063ad5c46481461013f578063cdd5790c14610152578063e4fb06c914610185578063f887ea40146101a4578063fb340554146101b757600080fd5b80632f3a3d5d146100ae578063340ac20f146100de5780634c4e61e9146100f35780634fb2e45d146101065780637fdc147e14610119575b600080fd5b6001546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610a9a565b6101ca565b005b6004546100c1906001600160a01b031681565b6100f1610114366004610a9a565b61021f565b6100f1610127366004610a9a565b61026b565b6002546100c1906001600160a01b031681565b6000546100c1906001600160a01b031681565b610165610160366004610b6d565b6102b7565b604080516001600160a01b039384168152929091166020830152016100d5565b61019669152d02c7e14af680000081565b6040519081526020016100d5565b6003546100c1906001600160a01b031681565b6100f16101c5366004610a9a565b6105bb565b6002546001600160a01b031633146101fd5760405162461bcd60e51b81526004016101f490610c92565b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146102495760405162461bcd60e51b81526004016101f490610c92565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146102955760405162461bcd60e51b81526004016101f490610c92565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008a511180156102cd575060808a5111155b6103045760405162461bcd60e51b8152602060048201526008602482015267494e565f4e414d4560c01b60448201526064016101f4565b6000895111801561031757506080895111155b6103505760405162461bcd60e51b815260206004820152600a60248201526912539597d4d6535093d360b21b60448201526064016101f4565b6000875111801561036357506096875111155b61039b5760405162461bcd60e51b8152602060048201526009602482015268494e565f494d41474560b81b60448201526064016101f4565b6080885111156103d85760405162461bcd60e51b8152602060048201526008602482015267494e565f5349544560c01b60448201526064016101f4565b6080865111156104155760405162461bcd60e51b8152602060048201526008602482015267494e565f4445534360c01b60448201526064016101f4565b6080855111156104525760405162461bcd60e51b815260206004820152600860248201526712539597d0d2105560c21b60448201526064016101f4565b60808451111561048e5760405162461bcd60e51b8152602060048201526007602482015266494e565f534f4360c81b60448201526064016101f4565b600183116104cb5760405162461bcd60e51b815260206004820152600a602482015269494e565f535550504c5960b01b60448201526064016101f4565b60006104de8b8b8b8b8b8b8b8b30610607565b600480546040516340c10f1960e01b8152309281019290925269152d02c7e14af680000060248301529192506001600160a01b03909116906340c10f1990604401600060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b5050505061055b818561086f565b336001600160a01b03167f6064c2dcd163dd8a5d2412a565cb2217aa1ac4ea60e35009093c33351b7d4984828d8d8d8d8c8c8f6040516105a2989796959493929190610cfb565b60405180910390a2339b909a5098505050505050505050565b6002546001600160a01b031633146105e55760405162461bcd60e51b81526004016101f490610c92565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000808a5111801561061b575060408a5111155b6106525760405162461bcd60e51b8152602060048201526008602482015267494e565f4e414d4560c01b60448201526064016101f4565b6000895111801561066557506040895111155b61069e5760405162461bcd60e51b815260206004820152600a60248201526912539597d4d6535093d360b21b60448201526064016101f4565b600087511180156106b157506096875111155b6106e95760405162461bcd60e51b8152602060048201526009602482015268494e565f494d41474560b81b60448201526064016101f4565b6040885111156107265760405162461bcd60e51b8152602060048201526008602482015267494e565f5349544560c01b60448201526064016101f4565b6040865111156107635760405162461bcd60e51b8152602060048201526008602482015267494e565f4445534360c01b60448201526064016101f4565b6040855111156107a05760405162461bcd60e51b815260206004820152600860248201526712539597d0d2105560c21b60448201526064016101f4565b6040845111156107dc5760405162461bcd60e51b8152602060048201526007602482015266494e565f534f4360c81b60448201526064016101f4565b6001546107f1906001600160a01b0316610a00565b60405163b47c5e6b60e01b81529091506001600160a01b0382169063b47c5e6b90610830908d908d908d908d908d908d908d908d908d90600401610da7565b600060405180830381600087803b15801561084a57600080fd5b505af115801561085e573d6000803e3d6000fd5b505050509998505050505050505050565b60035460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529083169063095ea7b390604401600060405180830381600087803b1580156108be57600080fd5b505af11580156108d2573d6000803e3d6000fd5b50506004805460035460405163095ea7b360e01b81526001600160a01b039182169381019390935269152d02c7e14af6800000602484015216925063095ea7b39150604401600060405180830381600087803b15801561093157600080fd5b505af1158015610945573d6000803e3d6000fd5b50506003546004805460405162e8e33760e81b81526001600160a01b0391821692810192909252868116602483015269152d02c7e14af680000060448301526064820186905260016084830181905260a4830152600060c48301524260e4830152909116925063e8e337009150610104016060604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190610e5b565b5050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610a955760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b60448201526064016101f4565b919050565b600060208284031215610aac57600080fd5b81356001600160a01b0381168114610ac357600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610af157600080fd5b813567ffffffffffffffff80821115610b0c57610b0c610aca565b604051601f8301601f19908116603f01168101908282118183101715610b3457610b34610aca565b81604052838152866020858801011115610b4d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b031215610b8a57600080fd5b883567ffffffffffffffff80821115610ba257600080fd5b610bae8c838d01610ae0565b995060208b0135915080821115610bc457600080fd5b610bd08c838d01610ae0565b985060408b0135915080821115610be657600080fd5b610bf28c838d01610ae0565b975060608b0135915080821115610c0857600080fd5b610c148c838d01610ae0565b965060808b0135915080821115610c2a57600080fd5b610c368c838d01610ae0565b955060a08b0135915080821115610c4c57600080fd5b610c588c838d01610ae0565b945060c08b0135915080821115610c6e57600080fd5b50610c7b8b828c01610ae0565b92505060e089013590509295985092959890939650565b60208082526009908201526827aba722a92fa2a92960b91b604082015260600190565b6000815180845260005b81811015610cdb57602081850181015186830182015201610cbf565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038916815261010060208201819052600090610d208382018b610cb5565b90508281036040840152610d34818a610cb5565b90508281036060840152610d488189610cb5565b90508281036080840152610d5c8188610cb5565b905082810360a0840152610d708187610cb5565b905082810360c0840152610d848186610cb5565b905082810360e0840152610d988185610cb5565b9b9a5050505050505050505050565b6000610120808352610dbb8184018d610cb5565b90508281036020840152610dcf818c610cb5565b90508281036040840152610de3818b610cb5565b90508281036060840152610df7818a610cb5565b90508281036080840152610e0b8189610cb5565b905082810360a0840152610e1f8188610cb5565b905082810360c0840152610e338187610cb5565b60e084019590955250506001600160a01b039190911661010090910152979650505050505050565b600080600060608486031215610e7057600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212206679cd84367db3c9c30aad5d1c952e7bf6467af4a2677dc26024409baebb19b164736f6c63430008110033000000000000000000000000039e2fb66102314ce7b64ce5ce3e5183bc94ad380000000000000000000000006cd307b24c424613fabd6942c57fe5f47db1171d000000000000000000000000a6ad18c2ac47803e193f75c3677b14bf19b94883000000000000000000000000051aef34c1e03e4d5babd180d4a7c532e87001a2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461012c578063ad5c46481461013f578063cdd5790c14610152578063e4fb06c914610185578063f887ea40146101a4578063fb340554146101b757600080fd5b80632f3a3d5d146100ae578063340ac20f146100de5780634c4e61e9146100f35780634fb2e45d146101065780637fdc147e14610119575b600080fd5b6001546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec366004610a9a565b6101ca565b005b6004546100c1906001600160a01b031681565b6100f1610114366004610a9a565b61021f565b6100f1610127366004610a9a565b61026b565b6002546100c1906001600160a01b031681565b6000546100c1906001600160a01b031681565b610165610160366004610b6d565b6102b7565b604080516001600160a01b039384168152929091166020830152016100d5565b61019669152d02c7e14af680000081565b6040519081526020016100d5565b6003546100c1906001600160a01b031681565b6100f16101c5366004610a9a565b6105bb565b6002546001600160a01b031633146101fd5760405162461bcd60e51b81526004016101f490610c92565b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146102495760405162461bcd60e51b81526004016101f490610c92565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146102955760405162461bcd60e51b81526004016101f490610c92565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008a511180156102cd575060808a5111155b6103045760405162461bcd60e51b8152602060048201526008602482015267494e565f4e414d4560c01b60448201526064016101f4565b6000895111801561031757506080895111155b6103505760405162461bcd60e51b815260206004820152600a60248201526912539597d4d6535093d360b21b60448201526064016101f4565b6000875111801561036357506096875111155b61039b5760405162461bcd60e51b8152602060048201526009602482015268494e565f494d41474560b81b60448201526064016101f4565b6080885111156103d85760405162461bcd60e51b8152602060048201526008602482015267494e565f5349544560c01b60448201526064016101f4565b6080865111156104155760405162461bcd60e51b8152602060048201526008602482015267494e565f4445534360c01b60448201526064016101f4565b6080855111156104525760405162461bcd60e51b815260206004820152600860248201526712539597d0d2105560c21b60448201526064016101f4565b60808451111561048e5760405162461bcd60e51b8152602060048201526007602482015266494e565f534f4360c81b60448201526064016101f4565b600183116104cb5760405162461bcd60e51b815260206004820152600a602482015269494e565f535550504c5960b01b60448201526064016101f4565b60006104de8b8b8b8b8b8b8b8b30610607565b600480546040516340c10f1960e01b8152309281019290925269152d02c7e14af680000060248301529192506001600160a01b03909116906340c10f1990604401600060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b5050505061055b818561086f565b336001600160a01b03167f6064c2dcd163dd8a5d2412a565cb2217aa1ac4ea60e35009093c33351b7d4984828d8d8d8d8c8c8f6040516105a2989796959493929190610cfb565b60405180910390a2339b909a5098505050505050505050565b6002546001600160a01b031633146105e55760405162461bcd60e51b81526004016101f490610c92565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000808a5111801561061b575060408a5111155b6106525760405162461bcd60e51b8152602060048201526008602482015267494e565f4e414d4560c01b60448201526064016101f4565b6000895111801561066557506040895111155b61069e5760405162461bcd60e51b815260206004820152600a60248201526912539597d4d6535093d360b21b60448201526064016101f4565b600087511180156106b157506096875111155b6106e95760405162461bcd60e51b8152602060048201526009602482015268494e565f494d41474560b81b60448201526064016101f4565b6040885111156107265760405162461bcd60e51b8152602060048201526008602482015267494e565f5349544560c01b60448201526064016101f4565b6040865111156107635760405162461bcd60e51b8152602060048201526008602482015267494e565f4445534360c01b60448201526064016101f4565b6040855111156107a05760405162461bcd60e51b815260206004820152600860248201526712539597d0d2105560c21b60448201526064016101f4565b6040845111156107dc5760405162461bcd60e51b8152602060048201526007602482015266494e565f534f4360c81b60448201526064016101f4565b6001546107f1906001600160a01b0316610a00565b60405163b47c5e6b60e01b81529091506001600160a01b0382169063b47c5e6b90610830908d908d908d908d908d908d908d908d908d90600401610da7565b600060405180830381600087803b15801561084a57600080fd5b505af115801561085e573d6000803e3d6000fd5b505050509998505050505050505050565b60035460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529083169063095ea7b390604401600060405180830381600087803b1580156108be57600080fd5b505af11580156108d2573d6000803e3d6000fd5b50506004805460035460405163095ea7b360e01b81526001600160a01b039182169381019390935269152d02c7e14af6800000602484015216925063095ea7b39150604401600060405180830381600087803b15801561093157600080fd5b505af1158015610945573d6000803e3d6000fd5b50506003546004805460405162e8e33760e81b81526001600160a01b0391821692810192909252868116602483015269152d02c7e14af680000060448301526064820186905260016084830181905260a4830152600060c48301524260e4830152909116925063e8e337009150610104016060604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190610e5b565b5050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610a955760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b60448201526064016101f4565b919050565b600060208284031215610aac57600080fd5b81356001600160a01b0381168114610ac357600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610af157600080fd5b813567ffffffffffffffff80821115610b0c57610b0c610aca565b604051601f8301601f19908116603f01168101908282118183101715610b3457610b34610aca565b81604052838152866020858801011115610b4d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600080610100898b031215610b8a57600080fd5b883567ffffffffffffffff80821115610ba257600080fd5b610bae8c838d01610ae0565b995060208b0135915080821115610bc457600080fd5b610bd08c838d01610ae0565b985060408b0135915080821115610be657600080fd5b610bf28c838d01610ae0565b975060608b0135915080821115610c0857600080fd5b610c148c838d01610ae0565b965060808b0135915080821115610c2a57600080fd5b610c368c838d01610ae0565b955060a08b0135915080821115610c4c57600080fd5b610c588c838d01610ae0565b945060c08b0135915080821115610c6e57600080fd5b50610c7b8b828c01610ae0565b92505060e089013590509295985092959890939650565b60208082526009908201526827aba722a92fa2a92960b91b604082015260600190565b6000815180845260005b81811015610cdb57602081850181015186830182015201610cbf565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038916815261010060208201819052600090610d208382018b610cb5565b90508281036040840152610d34818a610cb5565b90508281036060840152610d488189610cb5565b90508281036080840152610d5c8188610cb5565b905082810360a0840152610d708187610cb5565b905082810360c0840152610d848186610cb5565b905082810360e0840152610d988185610cb5565b9b9a5050505050505050505050565b6000610120808352610dbb8184018d610cb5565b90508281036020840152610dcf818c610cb5565b90508281036040840152610de3818b610cb5565b90508281036060840152610df7818a610cb5565b90508281036080840152610e0b8189610cb5565b905082810360a0840152610e1f8188610cb5565b905082810360c0840152610e338187610cb5565b60e084019590955250506001600160a01b039190911661010090910152979650505050505050565b600080600060608486031215610e7057600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212206679cd84367db3c9c30aad5d1c952e7bf6467af4a2677dc26024409baebb19b164736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000039e2fb66102314ce7b64ce5ce3e5183bc94ad380000000000000000000000006cd307b24c424613fabd6942c57fe5f47db1171d000000000000000000000000a6ad18c2ac47803e193f75c3677b14bf19b94883000000000000000000000000051aef34c1e03e4d5babd180d4a7c532e87001a2
-----Decoded View---------------
Arg [0] : _weth (address): 0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38
Arg [1] : _tokenImplementation (address): 0x6cD307B24c424613FAbd6942c57fe5F47dB1171d
Arg [2] : _router (address): 0xa6AD18C2aC47803E193F75c3677b14BF19B94883
Arg [3] : _baks (address): 0x051Aef34c1E03E4d5BAbd180d4A7c532E87001a2
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000039e2fb66102314ce7b64ce5ce3e5183bc94ad38
Arg [1] : 0000000000000000000000006cd307b24c424613fabd6942c57fe5f47db1171d
Arg [2] : 000000000000000000000000a6ad18c2ac47803e193f75c3677b14bf19b94883
Arg [3] : 000000000000000000000000051aef34c1e03e4d5babd180d4a7c532e87001a2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.