Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Multi Chain
Multichain Addresses
8 addresses found via BlockscanLatest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60c06040 | 16373698 | 140 days 14 hrs ago | IN | Create: TresChain | 0 ETH | 0.07986191 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TresChain
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-10 */ /* website: https://treschain.com twitter: https://twitter.com/treslecheschain Contract Version 3.2 No Tax. Anti Sandwich Attack Cooldown 3 Minutes, good luck trying to snipe it or front run investors now. Code By Bladepool */ // SPDX-License-Identifier: MIT 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; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue( target, data, 0, "Address: low-level call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); (bool success, bytes memory returndata) = target.call{value: value}( data ); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall( target, data, "Address: low-level static call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall( target, data, "Address: low-level delegate call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ 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); } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract TresChain is Context, IERC20, Ownable { using Address for address; //Contract Update Information string private constant version = "3.2"; string private constant developer = "Bladepool"; string private constant edition = "SAFU"; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; //Mapping section for better tracking. mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; //Mapping for Cooldown Strategy // This is a map of addresses to cooldown times and is triggered on every transfer. mapping(address => uint32) private _cooldowns; // Some addresses should never have a cooldown, such as exchange addresses. Those can be added here. mapping(address => bool) private _cooldownWhitelist; // *GregoryUnderscore - 4/19/22 // Force a "sell cooldown" after a buy or transfer. // By forcing a cooldown, sandwich attacks become much harder because they // cannot immediately take profit. This greatly decreases the likelihood of attacks. // Adjust the cooldown as needed. However, do not make it changeable as that would // be a grave security issue. uint constant MEV_COOLDOWN_TIME = 3 minutes; //Loging and Event Information for better troubleshooting. event Log(string, uint256); event AuditLog(string, address); event SwapTokensForETH(uint256 amountIn, address[] path); //Supply Definition. uint256 private _tTotal = 25_000_000 * 10**18; uint256 private _tFeeTotal; //Token Definition. string private constant _name = "TRES"; string private constant _symbol = "TRES"; uint8 private constant _decimals = 18; //Router and Pair Configuration. IUniswapV2Router02 public immutable uniswapV2Router; address public currentRouter; address public immutable uniswapV2Pair; constructor() { _tOwned[_msgSender()] = _tTotal; //Adding Variables for all the routers for easier deployment for our customers. if (block.chainid == 56) { currentRouter = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // PCS Router } else if (block.chainid == 97) { currentRouter = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; // PCS Testnet } else if (block.chainid == 43114) { currentRouter = 0x60aE616a2155Ee3d9A68541Ba4544862310933d4; //Avax Mainnet } else if (block.chainid == 137) { currentRouter = 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff; //Polygon Ropsten } else if (block.chainid == 6066) { currentRouter = 0x71299fFf5338cd6c5eD9538Ba901a29453D4f9C4; //Tres Leches Mainnet Chain } else if (block.chainid == 6065) { currentRouter = 0x71299fFf5338cd6c5eD9538Ba901a29453D4f9C4; //Tres Leches Testnet Chain } else if (block.chainid == 5) { currentRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //Ropsten } else if (block.chainid == 1 || block.chainid == 4) { currentRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //Mainnet } else { revert(); } //End of Router Variables. //Create Pair in the contructor, this may fail on some blockchains and can be done in a separate line if needed. IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(currentRouter); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _cooldownWhitelist[owner()] = true; _cooldownWhitelist[address(this)] = true; _cooldownWhitelist[currentRouter] = true; _cooldownWhitelist[uniswapV2Pair] = true; emit Transfer(address(0), _msgSender(), _tTotal); } //Readable Functions. function contractVersion () public pure returns (string memory){ return version; } function contractDev() public pure returns (string memory){ return developer; } function contractEdition() public pure returns (string memory){ return edition; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } //ERC 20 Standard Transfer Functions function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } //ERC 20 Standard Allowance Function function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } //ERC 20 Standard Approve Function function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } //ERC 20 Standard Transfer From function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()] - amount ); return true; } //ERC 20 Standard increase Allowance function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } //ERC 20 Standard decrease Allowance function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue ); return true; } //Approve Function function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } //Transfer function, validate correct wallet structure, take fees, and other custom taxes are done during the transfer. function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); //if any account belongs to _isExcludedFromFee account then remove the fee // *GregoryUnderscore - 4/19/22 // If the from address is not in the cooldown whitelist, verify it is not in the cooldown // period. If it is, prevent the transfer. if (_cooldownWhitelist[from] != true) { // Change the error message according to the customized cooldown time. require(_cooldowns[from] <= uint32(block.timestamp), "Please wait 3 minutes before transferring or selling your tokens."); } _tokenTransfer(from, to, amount); } //Swap Tokens for BNB or to add liquidity either automatically or manual, by default this is set to manual. //swap for eth is to support the converstion of tokens to weth during swapandliquify this is a supporting function function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); //Get Details about the swap before actually doing the swap. uint256[] memory amountsIn = IUniswapV2Router02(currentRouter).getAmountsIn( tokenAmount, path ); uint256[] memory amountsOut = IUniswapV2Router02(currentRouter).getAmountsOut( amountsIn[0], path ); // make the swap uniswapV2Router.swapExactTokensForETH( tokenAmount, amountsOut[amountsOut.length - 1] / 2, // Slippage 50% path, address(this), // The contract block.timestamp + 60 ); emit SwapTokensForETH(tokenAmount, path); } function _tokenTransfer( address sender, address recipient, uint256 amount ) private { // *GregoryUnderscore - 4/19/22 // If the to address is not in the cooldown whitelist, add a cooldown to it. if (_cooldownWhitelist[recipient] != true) { // Add a cooldown to the address receiving the tokens. _cooldowns[recipient] = uint32(block.timestamp + MEV_COOLDOWN_TIME); } _transferBothExcluded(sender, recipient, amount); } function _transferBothExcluded( address sender, address recipient, uint256 tAmount ) private { uint256 tTransferAmount = tAmount; _tOwned[sender] = _tOwned[sender] - tAmount; _tOwned[recipient] = _tOwned[recipient] + tTransferAmount; emit Transfer(sender, recipient, tTransferAmount); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} /////---fallback--//// //This cannot be removed as is a fallback to the swapAndLiquify event SwapETHForTokens(uint256 amountIn, address[] path); // added oracle information from the swap for a more accurate results and revert if there is a potential snipe or front run bot, This still under Development. function swapETHForTokens(uint256 amount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(this); // make the swap //Get Details about the swap before actually doing the swap. uint256[] memory amountsIn = IUniswapV2Router02(currentRouter).getAmountsIn( amount, path ); uint256[] memory amountsOut = IUniswapV2Router02(currentRouter).getAmountsOut( amountsIn[0], path ); uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: amount }( amountsOut[amountsOut.length - 1] / 2, // Slippage 50% path, deadWallet, // Burn address block.timestamp + 300 ); emit SwapETHForTokens(amount, path); } // Withdraw ETH that's potentially stuck in the Contract function recoverETHfromContract(address _recoveryWallet) external onlyOwner { payable(_recoveryWallet).transfer(address(this).balance); emit AuditLog( "We have recover the stock eth from contract.", _recoveryWallet ); } // Withdraw ERC20 tokens that are potentially stuck in Contract function recoverTokensFromContract(address _tokenAddress, uint256 _amount,address _recoveryWallet ) external onlyOwner { IERC20(_tokenAddress).transfer(_recoveryWallet, _amount); emit Log("We have recovered tokens from contract:", _amount); } /** * *GregoryUnderscore - 4/19/22 * Pass in an address to add it to the cooldown whitelist. */ function addCooldownWhitelist(address whitelistAddy) public onlyOwner { require(_cooldownWhitelist[whitelistAddy] != true, "This Address is already in the cooldown"); _cooldownWhitelist[whitelistAddy] = true; emit AuditLog( "We have added the following wallet to the whitelist.", whitelistAddy ); } /** * *GregoryUnderscore - 4/19/22 * Pass in an address to remove it from the cooldown whitelist. */ function removeCooldownWhitelist(address whitelistAddy) public onlyOwner { require(_cooldownWhitelist[whitelistAddy] != false, "This Address is not in the Cooldown."); _cooldownWhitelist[whitelistAddy] = false; emit AuditLog( "We have removed the following wallet to the whitelist.", whitelistAddy ); } /** **Blade 1/4/2023 *Added function to view current cooldownaddresses. */ function isCoolDownWhitelist(address account) external view returns (bool) { return _cooldownWhitelist[account]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"AuditLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Log","type":"event"},{"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":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"whitelistAddy","type":"address"}],"name":"addCooldownWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractDev","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"contractEdition","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"contractVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"currentRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isCoolDownWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recoveryWallet","type":"address"}],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_recoveryWallet","type":"address"}],"name":"recoverTokensFromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"whitelistAddy","type":"address"}],"name":"removeCooldownWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526a14adf4b7320334b90000006005553480156200002057600080fd5b506200002c336200044a565b60055433600090815260016020526040902055466038036200007457600780546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e179055620001fc565b46606103620000a957600780546001600160a01b031916739ac64cc6e4415144c455bd8e4837fea55603e5c3179055620001fc565b4661a86a03620000df57600780546001600160a01b0319167360ae616a2155ee3d9a68541ba4544862310933d4179055620001fc565b466089036200011457600780546001600160a01b03191673a5e0829caced8ffdd4de3c43696c57f7d7a678ff179055620001fc565b466117b2036200014a57600780546001600160a01b0319167371299fff5338cd6c5ed9538ba901a29453d4f9c4179055620001fc565b466117b1036200018057600780546001600160a01b0319167371299fff5338cd6c5ed9538ba901a29453d4f9c4179055620001fc565b46600503620001b557600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001fc565b4660011480620001c55750466004145b15620001f757600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001fc565b600080fd5b6007546040805163c45a015560e01b815290516001600160a01b0390921691829163c45a01559160048083019260209291908290030181865afa15801562000248573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026e91906200049a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e291906200049a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035691906200049a565b6001600160a01b0390811660a0528116608052600160046000620003826000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600490935281832080548516600190811790915560075482168452828420805486168217905560a051909116835291208054909216179055620003f33390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200043b91815260200190565b60405180910390a350620004cc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620004ad57600080fd5b81516001600160a01b0381168114620004c557600080fd5b9392505050565b60805160a0516111fb620004f260003960006103a10152600061028301526111fb6000f3fe6080604052600436106101855760003560e01c80635f203a53116100d15780638da5cb5b1161008a578063a457c2d711610064578063a457c2d7146104e0578063a9059cbb14610500578063dd62ed3e14610520578063f2fde38b1461056657600080fd5b80638da5cb5b1461049657806395d89b4114610191578063a0a8e460146104b457600080fd5b80635f203a53146103c357806368c03787146103e357806370a0823114610403578063715018a6146104395780637724bad81461044e57806385141a771461048057600080fd5b806323b872dd1161013e578063313ce56711610118578063313ce56714610333578063395093511461034f57806342844b041461036f57806349bd5a5e1461038f57600080fd5b806323b872dd146102c4578063265ed728146102e45780632a4a7ba81461030657600080fd5b806306fdde0314610191578063095ea7b3146101d05780630c42e98514610200578063122fea3b146102395780631694505e1461027157806318160ddd146102a557600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506040805180820190915260048152635452455360e01b60208201525b6040516101c79190611006565b60405180910390f35b3480156101dc57600080fd5b506101f06101eb366004611070565b610586565b60405190151581526020016101c7565b34801561020c57600080fd5b506101f061021b36600461109a565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561024557600080fd5b50600754610259906001600160a01b031681565b6040516001600160a01b0390911681526020016101c7565b34801561027d57600080fd5b506102597f000000000000000000000000000000000000000000000000000000000000000081565b3480156102b157600080fd5b506005545b6040519081526020016101c7565b3480156102d057600080fd5b506101f06102df3660046110bc565b61059d565b3480156102f057600080fd5b506103046102ff36600461109a565b6105ef565b005b34801561031257600080fd5b506040805180820190915260048152635341465560e01b60208201526101ba565b34801561033f57600080fd5b50604051601281526020016101c7565b34801561035b57600080fd5b506101f061036a366004611070565b6106b8565b34801561037b57600080fd5b5061030461038a36600461109a565b6106ef565b34801561039b57600080fd5b506102597f000000000000000000000000000000000000000000000000000000000000000081565b3480156103cf57600080fd5b506103046103de36600461109a565b61081b565b3480156103ef57600080fd5b506103046103fe3660046110f8565b610953565b34801561040f57600080fd5b506102b661041e36600461109a565b6001600160a01b031660009081526001602052604090205490565b34801561044557600080fd5b50610304610a4a565b34801561045a57600080fd5b50604080518082019091526009815268109b1859195c1bdbdb60ba1b60208201526101ba565b34801561048c57600080fd5b5061025961dead81565b3480156104a257600080fd5b506000546001600160a01b0316610259565b3480156104c057600080fd5b5060408051808201909152600381526219971960e91b60208201526101ba565b3480156104ec57600080fd5b506101f06104fb366004611070565b610a5e565b34801561050c57600080fd5b506101f061051b366004611070565b610a95565b34801561052c57600080fd5b506102b661053b366004611134565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057257600080fd5b5061030461058136600461109a565b610aa2565b6000610593338484610b1b565b5060015b92915050565b60006105aa848484610c3f565b6001600160a01b0384166000908152600260209081526040808320338085529252909120546105e59186916105e090869061117d565b610b1b565b5060019392505050565b6105f7610e3d565b6040516001600160a01b038216904780156108fc02916000818181858888f1935050505015801561062c573d6000803e3d6000fd5b5060408051818152602c918101919091527f57652068617665207265636f766572207468652073746f636b2065746820667260608201526b37b69031b7b73a3930b1ba1760a11b60808201526001600160a01b03821660208201527f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a009060a0015b60405180910390a150565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105939185906105e0908690611190565b6106f7610e3d565b6001600160a01b03811660009081526004602052604081205460ff16151590036107745760405162461bcd60e51b8152602060048201526024808201527f546869732041646472657373206973206e6f7420696e2074686520436f6f6c6460448201526337bbb71760e11b60648201526084015b60405180910390fd5b6001600160a01b038116600081815260046020908152604091829020805460ff1916905581518281526036928101929092527f576520686176652072656d6f7665642074686520666f6c6c6f77696e67207761606083015275363632ba103a37903a3432903bb434ba32b634b9ba1760511b60808301528101919091527f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a009060a0016106ad565b610823610e3d565b6001600160a01b03811660009081526004602052604090205460ff1615156001036108a05760405162461bcd60e51b815260206004820152602760248201527f54686973204164647265737320697320616c726561647920696e20746865206360448201526637b7b63237bbb760c91b606482015260840161076b565b6001600160a01b03811660009081526004602052604090819020805460ff19166001179055517f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00906106ad90839060408082526034908201527f576520686176652061646465642074686520666f6c6c6f77696e672077616c6c60608201527332ba103a37903a3432903bb434ba32b634b9ba1760611b60808201526001600160a01b0391909116602082015260a00190565b61095b610e3d565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af11580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce91906111a3565b50604080518181526027818301527f57652068617665207265636f766572656420746f6b656e732066726f6d20636f606082015266373a3930b1ba1d60c91b60808201526020810184905290517fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b59181900360a00190a1505050565b610a52610e3d565b610a5c6000610e97565b565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105939185906105e090869061117d565b6000610593338484610c3f565b610aaa610e3d565b6001600160a01b038116610b0f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076b565b610b1881610e97565b50565b6001600160a01b038316610b7d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161076b565b6001600160a01b038216610bde5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161076b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ca35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161076b565b6001600160a01b038216610d055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161076b565b60008111610d675760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161076b565b6001600160a01b03831660009081526004602052604090205460ff161515600114610e2d576001600160a01b03831660009081526003602052604090205463ffffffff42811691161115610e2d5760405162461bcd60e51b815260206004820152604160248201527f506c6561736520776169742033206d696e75746573206265666f72652074726160448201527f6e7366657272696e67206f722073656c6c696e6720796f757220746f6b656e736064820152601760f91b608482015260a40161076b565b610e38838383610ee7565b505050565b6000546001600160a01b03163314610a5c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161076b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821660009081526004602052604090205460ff161515600114610f4857610f1760b442611190565b6001600160a01b0383166000908152600360205260409020805463ffffffff191663ffffffff929092169190911790555b610e388383836001600160a01b0383166000908152600160205260409020548190610f7490829061117d565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610fa4908290611190565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ff89085815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561103357858101830151858201604001528201611017565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461106b57600080fd5b919050565b6000806040838503121561108357600080fd5b61108c83611054565b946020939093013593505050565b6000602082840312156110ac57600080fd5b6110b582611054565b9392505050565b6000806000606084860312156110d157600080fd5b6110da84611054565b92506110e860208501611054565b9150604084013590509250925092565b60008060006060848603121561110d57600080fd5b61111684611054565b92506020840135915061112b60408501611054565b90509250925092565b6000806040838503121561114757600080fd5b61115083611054565b915061115e60208401611054565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561059757610597611167565b8082018082111561059757610597611167565b6000602082840312156111b557600080fd5b815180151581146110b557600080fdfea2646970667358221220ae73b16e798dbe5f0163e172e66d5c6047ef3d2cd55f836f722b9f9a7d8024cc64736f6c63430008110033
Deployed ByteCode Sourcemap
23305:13445:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27508:83;;;;;;;;;;-1:-1:-1;27578:5:0;;;;;;;;;;;;-1:-1:-1;;;27578:5:0;;;;27508:83;;;;;;;:::i;:::-;;;;;;;;28518:193;;;;;;;;;;-1:-1:-1;28518:193:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;28518:193:0;1004:187:1;36619:128:0;;;;;;;;;;-1:-1:-1;36619:128:0;;;;;:::i;:::-;-1:-1:-1;;;;;36712:27:0;36688:4;36712:27;;;:18;:27;;;;;;;;;36619:128;25118:28;;;;;;;;;;-1:-1:-1;25118:28:0;;;;-1:-1:-1;;;;;25118:28:0;;;;;;-1:-1:-1;;;;;1551:32:1;;;1533:51;;1521:2;1506:18;25118:28:0;1387:203:1;25060:51:0;;;;;;;;;;;;;;;27785:95;;;;;;;;;;-1:-1:-1;27865:7:0;;27785:95;;;1976:25:1;;;1964:2;1949:18;27785:95:0;1830:177:1;28750:350:0;;;;;;;;;;-1:-1:-1;28750:350:0;;;;;:::i;:::-;;:::i;34923:277::-;;;;;;;;;;-1:-1:-1;34923:277:0;;;;;:::i;:::-;;:::i;:::-;;27407:95;;;;;;;;;;-1:-1:-1;27487:7:0;;;;;;;;;;;;-1:-1:-1;;;27487:7:0;;;;27407:95;;27694:83;;;;;;;;;;-1:-1:-1;27694:83:0;;25015:2;2487:36:1;;2475:2;2460:18;27694:83:0;2345:184:1;29144:297:0;;;;;;;;;;-1:-1:-1;29144:297:0;;;;;:::i;:::-;;:::i;36140:376::-;;;;;;;;;;-1:-1:-1;36140:376:0;;;;;:::i;:::-;;:::i;25153:38::-;;;;;;;;;;;;;;;35658:364;;;;;;;;;;-1:-1:-1;35658:364:0;;;;;:::i;:::-;;:::i;35279:269::-;;;;;;;;;;-1:-1:-1;35279:269:0;;;;;:::i;:::-;;:::i;27888:117::-;;;;;;;;;;-1:-1:-1;27888:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;27981:16:0;27954:7;27981:16;;;:7;:16;;;;;;;27888:117;13250:103;;;;;;;;;;;;;:::i;27308:93::-;;;;;;;;;;-1:-1:-1;27384:9:0;;;;;;;;;;;;-1:-1:-1;;;27384:9:0;;;;27308:93;;23553:88;;;;;;;;;;;;23599:42;23553:88;;12602:87;;;;;;;;;;-1:-1:-1;12648:7:0;12675:6;-1:-1:-1;;;;;12675:6:0;12602:87;;27206:96;;;;;;;;;;-1:-1:-1;27287:7:0;;;;;;;;;;;;-1:-1:-1;;;27287:7:0;;;;27206:96;;29485:307;;;;;;;;;;-1:-1:-1;29485:307:0;;;;;:::i;:::-;;:::i;28049:199::-;;;;;;;;;;-1:-1:-1;28049:199:0;;;;;:::i;:::-;;:::i;28292:184::-;;;;;;;;;;-1:-1:-1;28292:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;28441:18:0;;;28409:7;28441:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;28292:184;13508:238;;;;;;;;;;-1:-1:-1;13508:238:0;;;;;:::i;:::-;;:::i;28518:193::-;28620:4;28642:39;417:10;28665:7;28674:6;28642:8;:39::i;:::-;-1:-1:-1;28699:4:0;28518:193;;;;;:::o;28750:350::-;28882:4;28899:36;28909:6;28917:9;28928:6;28899:9;:36::i;:::-;-1:-1:-1;;;;;29017:19:0;;;;;;:11;:19;;;;;;;;417:10;29017:33;;;;;;;;;28946:124;;28969:6;;29017:42;;29053:6;;29017:42;:::i;:::-;28946:8;:124::i;:::-;-1:-1:-1;29088:4:0;28750:350;;;;;:::o;34923:277::-;12488:13;:11;:13::i;:::-;35010:56:::1;::::0;-1:-1:-1;;;;;35010:33:0;::::1;::::0;35044:21:::1;35010:56:::0;::::1;;;::::0;::::1;::::0;;;35044:21;35010:33;:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;35082:110:0::1;::::0;;3609:21:1;;;3666:2;3646:18;;;3639:30;;;;3705:34;3700:2;3685:18;;3678:62;-1:-1:-1;;;3771:3:1;3756:19;;3749:43;-1:-1:-1;;;;;3866:32:1;;3859:4;3844:20;;3837:62;35082:110:0::1;::::0;3824:3:1;3809:19;35082:110:0::1;;;;;;;;34923:277:::0;:::o;29144:297::-;417:10;29259:4;29353:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;29353:34:0;;;;;;;;;;29259:4;;29281:130;;29331:7;;29353:47;;29390:10;;29353:47;:::i;36140:376::-;12488:13;:11;:13::i;:::-;-1:-1:-1;;;;;36232:33:0;::::1;;::::0;;;:18:::1;:33;::::0;;;;;::::1;;:42;;::::0;;36224:91:::1;;;::::0;-1:-1:-1;;;36224:91:0;;4242:2:1;36224:91:0::1;::::0;::::1;4224:21:1::0;4281:2;4261:18;;;4254:30;4320:34;4300:18;;;4293:62;-1:-1:-1;;;4371:18:1;;;4364:34;4415:19;;36224:91:0::1;;;;;;;;;-1:-1:-1::0;;;;;36320:33:0;::::1;36356:5;36320:33:::0;;;:18:::1;:33;::::0;;;;;;;;:41;;-1:-1:-1;;36320:41:0::1;::::0;;36393:118;;4657:21:1;;;4714:2;4694:18;;;4687:30;;;;4753:34;4748:2;4733:18;;4726:62;-1:-1:-1;;;4819:3:1;4804:19;;4797:53;4902:20;;4895:62;;;;36393:118:0::1;::::0;4882:3:1;4867:19;36393:118:0::1;4445:518:1::0;35658:364:0;12488:13;:11;:13::i;:::-;-1:-1:-1;;;;;35747:33:0;::::1;;::::0;;;:18:::1;:33;::::0;;;;;::::1;;:41;;:33:::0;:41;35739:93:::1;;;::::0;-1:-1:-1;;;35739:93:0;;5170:2:1;35739:93:0::1;::::0;::::1;5152:21:1::0;5209:2;5189:18;;;5182:30;5248:34;5228:18;;;5221:62;-1:-1:-1;;;5299:18:1;;;5292:37;5346:19;;35739:93:0::1;4968:403:1::0;35739:93:0::1;-1:-1:-1::0;;;;;35837:33:0;::::1;;::::0;;;:18:::1;:33;::::0;;;;;;:40;;-1:-1:-1;;35837:40:0::1;35873:4;35837:40;::::0;;35901:116;::::1;::::0;::::1;::::0;35856:13;;5606:2:1;5588:21;;;5645:2;5625:18;;;5618:30;5684:34;5679:2;5664:18;;5657:62;-1:-1:-1;;;5750:3:1;5735:19;;5728:51;-1:-1:-1;;;;;5853:32:1;;;;5846:4;5831:20;;5824:62;5811:3;5796:19;;5376:516;35279:269:0;12488:13;:11;:13::i;:::-;35413:56:::1;::::0;-1:-1:-1;;;35413:56:0;;-1:-1:-1;;;;;6089:32:1;;;35413:56:0::1;::::0;::::1;6071:51:1::0;6138:18;;;6131:34;;;35413:30:0;::::1;::::0;::::1;::::0;6044:18:1;;35413:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;35485:55:0::1;::::0;;6670:21:1;;;6727:2;6707:18;;;6700:30;6766:34;6761:2;6746:18;;6739:62;-1:-1:-1;;;6832:3:1;6817:19;;6810:38;6915:4;6900:20;;6893:36;;;35485:55:0;;::::1;::::0;;;;6880:3:1;35485:55:0;;::::1;35279:269:::0;;;:::o;13250:103::-;12488:13;:11;:13::i;:::-;13315:30:::1;13342:1;13315:18;:30::i;:::-;13250:103::o:0;29485:307::-;417:10;29605:4;29699:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;29699:34:0;;;;;;;;;;29605:4;;29627:135;;29677:7;;29699:52;;29736:15;;29699:52;:::i;28049:199::-;28154:4;28176:42;417:10;28200:9;28211:6;28176:9;:42::i;13508:238::-;12488:13;:11;:13::i;:::-;-1:-1:-1;;;;;13611:22:0;::::1;13589:110;;;::::0;-1:-1:-1;;;13589:110:0;;7142:2:1;13589:110:0::1;::::0;::::1;7124:21:1::0;7181:2;7161:18;;;7154:30;7220:34;7200:18;;;7193:62;-1:-1:-1;;;7271:18:1;;;7264:36;7317:19;;13589:110:0::1;6940:402:1::0;13589:110:0::1;13710:28;13729:8;13710:18;:28::i;:::-;13508:238:::0;:::o;29820:371::-;-1:-1:-1;;;;;29947:19:0;;29939:68;;;;-1:-1:-1;;;29939:68:0;;7549:2:1;29939:68:0;;;7531:21:1;7588:2;7568:18;;;7561:30;7627:34;7607:18;;;7600:62;-1:-1:-1;;;7678:18:1;;;7671:34;7722:19;;29939:68:0;7347:400:1;29939:68:0;-1:-1:-1;;;;;30026:21:0;;30018:68;;;;-1:-1:-1;;;30018:68:0;;7954:2:1;30018:68:0;;;7936:21:1;7993:2;7973:18;;;7966:30;8032:34;8012:18;;;8005:62;-1:-1:-1;;;8083:18:1;;;8076:32;8125:19;;30018:68:0;7752:398:1;30018:68:0;-1:-1:-1;;;;;30099:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;30151:32;;1976:25:1;;;30151:32:0;;1949:18:1;30151:32:0;;;;;;;29820:371;;;:::o;30318:898::-;-1:-1:-1;;;;;30440:18:0;;30432:68;;;;-1:-1:-1;;;30432:68:0;;8357:2:1;30432:68:0;;;8339:21:1;8396:2;8376:18;;;8369:30;8435:34;8415:18;;;8408:62;-1:-1:-1;;;8486:18:1;;;8479:35;8531:19;;30432:68:0;8155:401:1;30432:68:0;-1:-1:-1;;;;;30519:16:0;;30511:64;;;;-1:-1:-1;;;30511:64:0;;8763:2:1;30511:64:0;;;8745:21:1;8802:2;8782:18;;;8775:30;8841:34;8821:18;;;8814:62;-1:-1:-1;;;8892:18:1;;;8885:33;8935:19;;30511:64:0;8561:399:1;30511:64:0;30603:1;30594:6;:10;30586:64;;;;-1:-1:-1;;;30586:64:0;;9167:2:1;30586:64:0;;;9149:21:1;9206:2;9186:18;;;9179:30;9245:34;9225:18;;;9218:62;-1:-1:-1;;;9296:18:1;;;9289:39;9345:19;;30586:64:0;8965:405:1;30586:64:0;-1:-1:-1;;;;;30920:24:0;;;;;;:18;:24;;;;;;;;:32;;:24;:32;30916:246;;-1:-1:-1;;;;;31043:16:0;;;;;;:10;:16;;;;;;:43;31070:15;31043:43;;:16;;:43;;31035:121;;;;-1:-1:-1;;;31035:121:0;;9577:2:1;31035:121:0;;;9559:21:1;9616:2;9596:18;;;9589:30;9655:34;9635:18;;;9628:62;9726:34;9706:18;;;9699:62;-1:-1:-1;;;9777:19:1;;;9770:32;9819:19;;31035:121:0;9375:469:1;31035:121:0;31176:32;31191:4;31197:2;31201:6;31176:14;:32::i;:::-;30318:898;;;:::o;12767:132::-;12648:7;12675:6;-1:-1:-1;;;;;12675:6:0;417:10;12831:23;12823:68;;;;-1:-1:-1;;;12823:68:0;;10051:2:1;12823:68:0;;;10033:21:1;;;10070:18;;;10063:30;10129:34;10109:18;;;10102:62;10181:18;;12823:68:0;9849:356:1;13906:191:0;13980:16;13999:6;;-1:-1:-1;;;;;14016:17:0;;;-1:-1:-1;;;;;;14016:17:0;;;;;;14049:40;;13999:6;;;;;;;14049:40;;13980:16;14049:40;13969:128;13906:191;:::o;32460:484::-;-1:-1:-1;;;;;32701:29:0;;;;;;:18;:29;;;;;;;;:37;;:29;:37;32697:181;;32836:35;24542:9;32836:15;:35;:::i;:::-;-1:-1:-1;;;;;32805:21:0;;;;;;:10;:21;;;;;:67;;-1:-1:-1;;32805:67:0;;;;;;;;;;;;32697:181;32888:48;32910:6;32918:9;32929:6;-1:-1:-1;;;;;33152:15:0;;33088:23;33152:15;;;:7;:15;;;;;;33114:7;;33152:25;;33114:7;;33152:25;:::i;:::-;-1:-1:-1;;;;;33134:15:0;;;;;;;:7;:15;;;;;;:43;;;;33211:18;;;;;;;:36;;33232:15;;33211:36;:::i;:::-;-1:-1:-1;;;;;33190:18:0;;;;;;;:7;:18;;;;;;;:57;;;;33265:44;;;;;;;;;;33293:15;1976:25:1;;1964:2;1949:18;;1830:177;33265:44:0;;;;;;;;33077:240;32952:365;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:186::-;1255:6;1308:2;1296:9;1287:7;1283:23;1279:32;1276:52;;;1324:1;1321;1314:12;1276:52;1347:29;1366:9;1347:29;:::i;:::-;1337:39;1196:186;-1:-1:-1;;;1196:186:1:o;2012:328::-;2089:6;2097;2105;2158:2;2146:9;2137:7;2133:23;2129:32;2126:52;;;2174:1;2171;2164:12;2126:52;2197:29;2216:9;2197:29;:::i;:::-;2187:39;;2245:38;2279:2;2268:9;2264:18;2245:38;:::i;:::-;2235:48;;2330:2;2319:9;2315:18;2302:32;2292:42;;2012:328;;;;;:::o;2534:::-;2611:6;2619;2627;2680:2;2668:9;2659:7;2655:23;2651:32;2648:52;;;2696:1;2693;2686:12;2648:52;2719:29;2738:9;2719:29;:::i;:::-;2709:39;;2795:2;2784:9;2780:18;2767:32;2757:42;;2818:38;2852:2;2841:9;2837:18;2818:38;:::i;:::-;2808:48;;2534:328;;;;;:::o;2867:260::-;2935:6;2943;2996:2;2984:9;2975:7;2971:23;2967:32;2964:52;;;3012:1;3009;3002:12;2964:52;3035:29;3054:9;3035:29;:::i;:::-;3025:39;;3083:38;3117:2;3106:9;3102:18;3083:38;:::i;:::-;3073:48;;2867:260;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3910:125::-;3975:9;;;3996:10;;;3993:36;;;4009:18;;:::i;6176:277::-;6243:6;6296:2;6284:9;6275:7;6271:23;6267:32;6264:52;;;6312:1;6309;6302:12;6264:52;6344:9;6338:16;6397:5;6390:13;6383:21;6376:5;6373:32;6363:60;;6419:1;6416;6409:12
Swarm Source
ipfs://ae73b16e798dbe5f0163e172e66d5c6047ef3d2cd55f836f722b9f9a7d8024cc
Loading...
Loading
Loading...
Loading
OVERVIEW
Tres Leches is the most inspiring cake in the dessert family is complete with different tastes.The main goal of this token is to create a community effort to assist the feature students in having a fantastic education via scholarship donations.
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ 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.