Source Code
Latest 24 from a total of 24 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Buy Tokens | 15284547 | 1297 days ago | IN | 0 ETH | 0.00295888 | ||||
| Buy Tokens | 15198718 | 1311 days ago | IN | 0.005 ETH | 0.00065538 | ||||
| Buy Tokens | 15194046 | 1311 days ago | IN | 0 ETH | 0.00454473 | ||||
| Buy Tokens | 15194036 | 1311 days ago | IN | 0 ETH | 0.00353444 | ||||
| Buy Tokens | 15193879 | 1311 days ago | IN | 0 ETH | 0.00696018 | ||||
| Buy Tokens | 14846272 | 1369 days ago | IN | 0.055 ETH | 0.0085956 | ||||
| Buy Tokens | 14642395 | 1401 days ago | IN | 0.05738743 ETH | 0.00620851 | ||||
| Buy Tokens | 14604464 | 1407 days ago | IN | 0.007 ETH | 0.00239638 | ||||
| Buy Tokens | 14575668 | 1412 days ago | IN | 0.015 ETH | 0.00365055 | ||||
| Buy Tokens | 14564063 | 1414 days ago | IN | 0.015 ETH | 0.00367662 | ||||
| Buy Tokens | 14558768 | 1415 days ago | IN | 0.2 ETH | 0.00909415 | ||||
| Buy Tokens | 14558690 | 1415 days ago | IN | 0.05 ETH | 0.00906268 | ||||
| Buy Tokens | 14558666 | 1415 days ago | IN | 0.2 ETH | 0.00619614 | ||||
| Buy Tokens | 14558050 | 1415 days ago | IN | 0.01 ETH | 0.00314785 | ||||
| Buy Tokens | 14519548 | 1421 days ago | IN | 0.003 ETH | 0.00536251 | ||||
| Buy Tokens | 14519248 | 1421 days ago | IN | 0.01 ETH | 0.00422895 | ||||
| Buy Tokens | 14512758 | 1422 days ago | IN | 0.002 ETH | 0.00463598 | ||||
| Buy Tokens | 14512757 | 1422 days ago | IN | 0.002 ETH | 0.00511134 | ||||
| Buy Tokens | 14507356 | 1423 days ago | IN | 0.001 ETH | 0.00658934 | ||||
| Buy Tokens | 14506839 | 1423 days ago | IN | 0.01 ETH | 0.00661347 | ||||
| Buy Tokens | 14498821 | 1424 days ago | IN | 0.005 ETH | 0.00648566 | ||||
| Buy Tokens | 14455055 | 1431 days ago | IN | 0.01 ETH | 0.00317284 | ||||
| Buy Tokens | 14454798 | 1431 days ago | IN | 0 ETH | 0.00604314 | ||||
| Transfer Ownersh... | 14447581 | 1432 days ago | IN | 0 ETH | 0.00080436 |
Latest 18 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15198718 | 1311 days ago | 0.005 ETH | ||||
| - | 14846272 | 1369 days ago | 0.055 ETH | ||||
| - | 14642395 | 1401 days ago | 0.05738743 ETH | ||||
| - | 14604464 | 1407 days ago | 0.007 ETH | ||||
| - | 14575668 | 1412 days ago | 0.015 ETH | ||||
| - | 14564063 | 1414 days ago | 0.015 ETH | ||||
| - | 14558768 | 1415 days ago | 0.2 ETH | ||||
| - | 14558690 | 1415 days ago | 0.05 ETH | ||||
| - | 14558666 | 1415 days ago | 0.2 ETH | ||||
| - | 14558050 | 1415 days ago | 0.01 ETH | ||||
| - | 14519548 | 1421 days ago | 0.003 ETH | ||||
| - | 14519248 | 1421 days ago | 0.01 ETH | ||||
| - | 14512758 | 1422 days ago | 0.002 ETH | ||||
| - | 14512757 | 1422 days ago | 0.002 ETH | ||||
| - | 14507356 | 1423 days ago | 0.001 ETH | ||||
| - | 14506839 | 1423 days ago | 0.01 ETH | ||||
| - | 14498821 | 1424 days ago | 0.005 ETH | ||||
| - | 14455055 | 1431 days ago | 0.01 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CHBPublicSale
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "./utils/ReentrancyGuard.sol";
import "./libraries/TransferHelper.sol";
import "./utils/Ownable.sol";
import "./interfaces/IERC20.sol";
import "./interfaces/OracleWrapper.sol";
contract CHBPublicSale is Ownable, ReentrancyGuard {
uint256 public totalTokenSold;
uint256 public totalUSDTRaised;
uint256 public tokenDecimal;
uint8 public defaultPhase;
uint8 public totalPhases;
address public tokenAddress;
address public receiverAddress = 0xABDe245ef6F5875c3F19d5f699c7A787050cAF5f;
address public USDTAddress = 0xdAC17F958D2ee523a2206206994597C13D831ec7;
address public USDTOracleAddress =
0x3E7d1eAB13ad0104d2750B8863b489D65364e32D;
address public BNBorETHOracleAddress =
0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419;
/* ================ STRUCT SECTION ================ */
// Stores phases
struct Phases {
uint256 tokenSold;
uint256 tokenLimit;
uint32 startTime;
uint32 expirationTimestamp;
uint32 price; // 10 ** 2
bool isComplete;
}
mapping(uint256 => Phases) public phaseInfo;
/* ================ EVENT SECTION ================ */
// Emits when tokens are bought
event TokensBought(
address buyerAddress,
uint256 buyAmount,
uint256 tokenAmount,
uint32 buyTime
);
/* ================ CONSTRUCTOR SECTION ================ */
constructor(address _tokenAddress) {
tokenAddress = _tokenAddress;
totalPhases = 6;
tokenDecimal = uint256(10**Token(tokenAddress).decimals());
uint32 currenTimeStamp = uint32(block.timestamp);
phaseInfo[0] = Phases({
tokenLimit: 200_000_000 * tokenDecimal,
tokenSold: 0,
startTime: currenTimeStamp,
expirationTimestamp: currenTimeStamp + 60 days, // 2 Months
price: 1,
isComplete: false
});
phaseInfo[1] = Phases({
tokenLimit: 100_000_000 * tokenDecimal,
tokenSold: 0,
startTime: phaseInfo[0].expirationTimestamp,
expirationTimestamp: phaseInfo[0].expirationTimestamp + 15 days, // 15 Days
isComplete: false,
price: 2
});
phaseInfo[2] = Phases({
tokenLimit: 100_000_000 * tokenDecimal,
tokenSold: 0,
startTime: phaseInfo[1].expirationTimestamp,
expirationTimestamp: phaseInfo[1].expirationTimestamp + 15 days, // 15 Days
isComplete: false,
price: 3
});
phaseInfo[3] = Phases({
tokenLimit: 100_000_000 * tokenDecimal,
tokenSold: 0,
startTime: phaseInfo[2].expirationTimestamp,
expirationTimestamp: phaseInfo[2].expirationTimestamp + 15 days, // 15 Days
isComplete: false,
price: 4
});
phaseInfo[4] = Phases({
tokenLimit: 100_000_000 * tokenDecimal,
tokenSold: 0,
startTime: phaseInfo[3].expirationTimestamp,
expirationTimestamp: phaseInfo[3].expirationTimestamp + 15 days, // 15 Days
isComplete: false,
price: 5
});
phaseInfo[5] = Phases({
tokenLimit: 100_000_000 * tokenDecimal,
tokenSold: 0,
startTime: phaseInfo[4].expirationTimestamp,
expirationTimestamp: phaseInfo[4].expirationTimestamp + 15 days, // 15 Days
isComplete: false,
price: 6
});
}
/* ================ BUYING TOKENS SECTION ================ */
// Receive Function
receive() external payable {
// Sending deposited currency to the receiver address
payable(receiverAddress).transfer(msg.value);
}
// Function lets user buy CHB tokens || Type 1 = BNB or ETH, Type = 2 for USDT
function buyTokens(uint8 _type, uint256 _usdtAmount)
external
payable
nonReentrant
{
require(
block.timestamp < phaseInfo[(totalPhases - 1)].expirationTimestamp,
"Buying Phases are over"
);
uint256 _buyAmount;
// If type == 1
if (_type == 1) {
_buyAmount = msg.value;
}
// If type == 2
else {
_buyAmount = _usdtAmount;
// Balance Check
require(
Token(USDTAddress).balanceOf(msg.sender) >= _buyAmount,
"User doesn't have enough balance"
);
// Allowance Check
require(
Token(USDTAddress).allowance(msg.sender, address(this)) >=
_buyAmount,
"Allowance provided is low"
);
}
// Token calculation
(uint256 _tokenAmount, uint8 _phaseNo) = calculateTokens(
_type,
_buyAmount
);
// Phase info setting
setPhaseInfo(_tokenAmount, defaultPhase);
// Transfers CHB to user
TransferHelper.safeTransfer(tokenAddress, msg.sender, _tokenAmount);
// Update Phase number and add token amount
defaultPhase = _phaseNo;
totalTokenSold += _tokenAmount;
// Calculated total USDT raised in the platform
(uint256 _amountToUSD, uint256 _typeDecimal) = cryptoValues(_type);
totalUSDTRaised += uint256((_buyAmount * _amountToUSD) / _typeDecimal);
if (_type == 1) {
// Sending deposited currency to the receiver address
payable(receiverAddress).transfer(_buyAmount);
} else {
// Sending deposited currency to the receiver address
TransferHelper.safeTransferFrom(
USDTAddress,
msg.sender,
receiverAddress,
_buyAmount
);
}
// Emits event
emit TokensBought(
msg.sender,
_buyAmount,
_tokenAmount,
uint32(block.timestamp)
);
}
// Function calculates tokens according to user's given amount
function calculateTokens(uint8 _type, uint256 _amount)
public
view
returns (uint256, uint8)
{
(uint256 _amountToUSD, uint256 _typeDecimal) = cryptoValues(_type);
uint256 _amountGivenInUsd = ((_amount * _amountToUSD) / _typeDecimal);
return
calculateTokensInternal(_type, _amountGivenInUsd, defaultPhase, 0);
}
// Internal function to calculatye tokens
function calculateTokensInternal(
uint8 _type,
uint256 _amount,
uint8 _phaseNo,
uint256 _previousTokens
) internal view returns (uint256, uint8) {
// Phases cannot exceed totalPhases
require(
_phaseNo < totalPhases,
"Not enough tokens in the contract or Phase expired"
);
Phases memory pInfo = phaseInfo[_phaseNo];
// If phase is still going on
if (pInfo.expirationTimestamp > block.timestamp) {
uint256 _tokensAmount = tokensUserWillGet(_amount, pInfo.price);
uint256 _tokensLeftToSell = (pInfo.tokenLimit + _previousTokens) -
pInfo.tokenSold;
// If token left are 0. Next phase will be executed
if (_tokensLeftToSell == 0) {
return
calculateTokensInternal(
_type,
_amount,
_phaseNo + 1,
_previousTokens
);
}
// If the phase have enough tokens left
else if (_tokensLeftToSell >= _tokensAmount) {
return (_tokensAmount, _phaseNo);
}
// If the phase doesn't have enough tokens
else {
_tokensAmount =
pInfo.tokenLimit +
_previousTokens -
pInfo.tokenSold;
uint256 _tokenPriceInPhase = tokenValueInPhase(
pInfo.price,
_tokensAmount
);
(
uint256 _remainingTokens,
uint8 _newPhase
) = calculateTokensInternal(
_type,
_amount - _tokenPriceInPhase,
_phaseNo + 1,
0
);
return (_remainingTokens + _tokensAmount, _newPhase);
}
}
// In case the phase is expired. New will begin after sending the left tokens to the next phase
else {
uint256 _remainingTokens = pInfo.tokenLimit - pInfo.tokenSold;
return
calculateTokensInternal(
_type,
_amount,
_phaseNo + 1,
_remainingTokens + _previousTokens
);
}
}
// Returns the value of tokens in the phase in dollors
function tokenValueInPhase(uint32 _price, uint256 _tokenAmount)
internal
view
returns (uint256)
{
return ((_tokenAmount * uint256(_price) * (10**8)) /
(100 * tokenDecimal));
}
// Tokens user will get according to the price
function tokensUserWillGet(uint256 _amount, uint32 _price)
internal
view
returns (uint256)
{
return ((_amount * tokenDecimal * 100) / ((10**8) * uint256(_price)));
}
// Returns the crypto values used
function cryptoValues(uint8 _type)
internal
view
returns (uint256, uint256)
{
uint256 _amountToUSD;
uint256 _typeDecimal;
if (_type == 1) {
_amountToUSD = OracleWrapper(BNBorETHOracleAddress).latestAnswer();
_typeDecimal = 10**18;
} else {
_amountToUSD = OracleWrapper(USDTOracleAddress).latestAnswer();
_typeDecimal = uint256(10**Token(USDTAddress).decimals());
}
return (_amountToUSD, _typeDecimal);
}
// Sets phase info according to the tokens bought
function setPhaseInfo(uint256 _tokensUserWillGet, uint8 _phaseNo) internal {
require(_phaseNo < totalPhases, "All tokens have been exhausted");
Phases storage pInfo = phaseInfo[_phaseNo];
if (block.timestamp < pInfo.expirationTimestamp) {
// when phase has more tokens than reuired
if ((pInfo.tokenLimit - pInfo.tokenSold) > _tokensUserWillGet) {
pInfo.tokenSold += _tokensUserWillGet;
}
// when phase has equal tokens as reuired
else if (
(pInfo.tokenLimit - pInfo.tokenSold) == _tokensUserWillGet
) {
pInfo.tokenSold = pInfo.tokenLimit;
pInfo.isComplete = true;
}
// when tokens required are more than left tokens in phase
else {
uint256 tokensLeft = _tokensUserWillGet -
(pInfo.tokenLimit - pInfo.tokenSold);
pInfo.tokenSold = pInfo.tokenLimit;
pInfo.isComplete = true;
setPhaseInfo(tokensLeft, _phaseNo + 1);
}
}
// if tokens left in phase afterb completion of expiration time
else {
uint256 remainingTokens = pInfo.tokenLimit - pInfo.tokenSold;
pInfo.tokenSold = pInfo.tokenLimit;
pInfo.isComplete = true;
phaseInfo[_phaseNo + 1].tokenLimit += remainingTokens;
setPhaseInfo(_tokensUserWillGet, _phaseNo + 1);
}
}
// Function sends the left over tokens to the receiving address, only after phases are over
function sendLeftoverTokensToReceiver() external onlyOwner {
require(
block.timestamp > phaseInfo[(totalPhases - 1)].expirationTimestamp,
"Phases are not over yet"
);
uint256 _balance = Token(tokenAddress).balanceOf(address(this));
require(_balance > 0, "No tokens left to send");
TransferHelper.safeTransfer(tokenAddress, receiverAddress, _balance);
}
/* ================ OTHER FUNCTIONS SECTION ================ */
// Updates USDT Address
function updateUSDTAddress(address _USDTAddress) external onlyOwner {
USDTAddress = _USDTAddress;
}
// Updates USDT Oracle Address
function updateUSDTOracleAddress(address _USDTOracleAddress)
external
onlyOwner
{
USDTOracleAddress = _USDTOracleAddress;
}
// Updates USDT Oracle Address
function updateBNBorETHOracleAddress(address _BNBorETHOracleAddress)
external
onlyOwner
{
BNBorETHOracleAddress = _BNBorETHOracleAddress;
}
// Updates Receiver Address
function updateReceiverAddress(address _receiverAddress)
external
onlyOwner
{
receiverAddress = _receiverAddress;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor () {
_status = _NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and make it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
// On the first call to nonReentrant, _notEntered will be true
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
_;
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.4;
// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
function safeApprove(
address token,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('approve(address,uint256)')));
(bool success, bytes memory data) = token.call(
abi.encodeWithSelector(0x095ea7b3, to, value)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"TransferHelper::safeApprove: approve failed"
);
}
function safeTransfer(
address token,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('transfer(address,uint256)')));
(bool success, bytes memory data) = token.call(
abi.encodeWithSelector(0xa9059cbb, to, value)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"TransferHelper::safeTransfer: transfer failed"
);
}
function safeTransferFrom(
address token,
address from,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
(bool success, bytes memory data) = token.call(
abi.encodeWithSelector(0x23b872dd, from, to, value)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"TransferHelper::transferFrom: transferFrom failed"
);
}
function safeTransferETH(address to, uint256 value) internal {
(bool success, ) = to.call{value: value}(new bytes(0));
require(
success,
"TransferHelper::safeTransferETH: ETH transfer failed"
);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
contract Ownable {
address public owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() {
_setOwner(msg.sender);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner, "Ownable: caller is not the owner");
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
function _setOwner(address newOwner) internal {
owner = newOwner;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
interface Token {
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(address owner, address spender)
external
view
returns (uint256);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
interface OracleWrapper {
function latestAnswer() external view returns (uint128);
}{
"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
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"buyTime","type":"uint32"}],"name":"TokensBought","type":"event"},{"inputs":[],"name":"BNBorETHOracleAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDTAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDTOracleAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_type","type":"uint8"},{"internalType":"uint256","name":"_usdtAmount","type":"uint256"}],"name":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_type","type":"uint8"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calculateTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultPhase","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"phaseInfo","outputs":[{"internalType":"uint256","name":"tokenSold","type":"uint256"},{"internalType":"uint256","name":"tokenLimit","type":"uint256"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"expirationTimestamp","type":"uint32"},{"internalType":"uint32","name":"price","type":"uint32"},{"internalType":"bool","name":"isComplete","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiverAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendLeftoverTokensToReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDecimal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPhases","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUSDTRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_BNBorETHOracleAddress","type":"address"}],"name":"updateBNBorETHOracleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_receiverAddress","type":"address"}],"name":"updateReceiverAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_USDTAddress","type":"address"}],"name":"updateUSDTAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_USDTOracleAddress","type":"address"}],"name":"updateUSDTOracleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600680546001600160a01b031990811673abde245ef6f5875c3f19d5f699c7a787050caf5f1790915560078054821673dac17f958d2ee523a2206206994597c13d831ec7179055600880548216733e7d1eab13ad0104d2750b8863b489d65364e32d17905560098054909116735f4ec3df9cbd43714fe2740f5e3616155c5b84191790553480156200009557600080fd5b50604051620024b1380380620024b1833981016040819052620000b89162000a31565b600080546001600160a01b031916331790556001805560058054610100600160b01b031916620100006001600160a01b03848116820261ff0019169290921761060017928390556040805163313ce56760e01b81529051919093049091169163313ce567916004808301926020929190829003018186803b1580156200013d57600080fd5b505afa15801562000152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000178919062000a63565b6200018590600a62000afc565b60048190556040805160c081019091526000815242916020820190620001b090630bebc20062000bbd565b815263ffffffff83166020820152604001620001d083624f1a0062000a88565b63ffffffff9081168252600160208084019190915260006040938401819052808052600a825284517f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e355848201517f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e455848401517f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e580546060880151608089015160a09099015115156c010000000000000000000000000260ff60601b1999881668010000000000000000029990991664ffffffffff60401b19918816640100000000026001600160401b0319909316949097169390931717919091169390931794909417909155815160c081019092529181526004549091820190620002fc906305f5e10062000bbd565b81527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e554640100000000900463ffffffff16602080830182905260008052600a905260409091019062000353906213c68062000a88565b63ffffffff908116825260026020808401919091526000604093840181905260018152600a825284517fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc755848201517fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc855848401517fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc980546060880151608089015160a09099015115156c010000000000000000000000000260ff60601b1999881668010000000000000000029990991664ffffffffff60401b19918816640100000000026001600160401b0319909316949097169390931717919091169390931794909417909155815160c08101909252918152600454909182019062000480906305f5e10062000bbd565b81527fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc954640100000000900463ffffffff1660208083018290526001600052600a9052604090910190620004d8906213c68062000a88565b63ffffffff908116825260036020808401919091526000604093840181905260028152600a825284517fbff4442b8ed600beeb8e26b1279a0f0d14c6edfaec26d968ee13c86f7d4c2ba855848201517fbff4442b8ed600beeb8e26b1279a0f0d14c6edfaec26d968ee13c86f7d4c2ba955848401517fbff4442b8ed600beeb8e26b1279a0f0d14c6edfaec26d968ee13c86f7d4c2baa80546060880151608089015160a09099015115156c010000000000000000000000000260ff60601b1999881668010000000000000000029990991664ffffffffff60401b19918816640100000000026001600160401b0319909316949097169390931717919091169390931794909417909155815160c08101909252918152600454909182019062000605906305f5e10062000bbd565b81527fbff4442b8ed600beeb8e26b1279a0f0d14c6edfaec26d968ee13c86f7d4c2baa54640100000000900463ffffffff1660208083018290526002600052600a90526040909101906200065d906213c68062000a88565b63ffffffff9081168252600460208084018290526000604094850181905260038152600a825285517fa856840544dc26124927add067d799967eac11be13e14d82cc281ea46fa3975955858201517fa856840544dc26124927add067d799967eac11be13e14d82cc281ea46fa3975a5585850151600080516020620024918339815191528054606089015160808a015160a0909a015115156c010000000000000000000000000260ff60601b199a891668010000000000000000029a909a1664ffffffffff60401b19918916640100000000026001600160401b0319909316949098169390931717919091169490941795909517909255825160c081019093529282529154909182019062000777906305f5e10062000bbd565b81526000805160206200249183398151915254640100000000900463ffffffff1660208083018290526003600052600a9052604090910190620007be906213c68062000a88565b63ffffffff90811682526005602080840191909152600060409384018190526004808252600a835285517fe1eb2b2161a492c07c5a334e48012567cba93ec021043f53c1955516a3c5a84155858301517fe1eb2b2161a492c07c5a334e48012567cba93ec021043f53c1955516a3c5a8425585850151600080516020620024718339815191528054606089015160808a015160a0909a015115156c010000000000000000000000000260ff60601b199a891668010000000000000000029a909a1664ffffffffff60401b19918916640100000000026001600160401b0319909316949098169390931717919091169490941795909517909255825160c0810190935290825291549091820190620008da906305f5e10062000bbd565b81526000805160206200247183398151915254640100000000900463ffffffff1660208083018290526004600052600a905260409091019062000921906213c68062000a88565b63ffffffff908116825260066020808401919091526000604093840181905260059052600a815283517ff35035bc2b01d44bd35a1dcdc552315cffb73da35cfd60570b7b777f98036f9f558301517ff35035bc2b01d44bd35a1dcdc552315cffb73da35cfd60570b7b777f98036fa055908201517ff35035bc2b01d44bd35a1dcdc552315cffb73da35cfd60570b7b777f98036fa180546060850151608086015160a09096015115156c010000000000000000000000000260ff60601b1996861668010000000000000000029690961664ffffffffff60401b19918616640100000000026001600160401b031990931694909516939093171791909116919091179190911790555062000bf59050565b60006020828403121562000a4457600080fd5b81516001600160a01b038116811462000a5c57600080fd5b9392505050565b60006020828403121562000a7657600080fd5b815160ff8116811462000a5c57600080fd5b600063ffffffff80831681851680830382111562000aaa5762000aaa62000bdf565b01949350505050565b600181815b8085111562000af457816000190482111562000ad85762000ad862000bdf565b8085161562000ae657918102915b93841c939080029062000ab8565b509250929050565b600062000a5c60ff84168360008262000b185750600162000bb7565b8162000b275750600062000bb7565b816001811462000b40576002811462000b4b5762000b6b565b600191505062000bb7565b60ff84111562000b5f5762000b5f62000bdf565b50506001821b62000bb7565b5060208310610133831016604e8410600b841016171562000b90575081810a62000bb7565b62000b9c838362000ab3565b806000190482111562000bb35762000bb362000bdf565b0290505b92915050565b600081600019048311821515161562000bda5762000bda62000bdf565b500290565b634e487b7160e01b600052601160045260246000fd5b61186c8062000c056000396000f3fe6080604052600436106101235760003560e01c8063940c333e116100a0578063ddcbdaf211610064578063ddcbdaf2146103ec578063e8e438591461040c578063ef5f567914610426578063f2fde38b14610446578063ff920c741461046657600080fd5b8063940c333e146103685780639d76ea581461037b578063b3fcfd6a146103a1578063b5f7f636146103b6578063d02c7f7e146103cc57600080fd5b80635caed029116100e75780635caed029146102b95780636b8eed0a146102cf57806375d60372146102f157806381409bab146103115780638da5cb5b1461034857600080fd5b806308c89b6d1461016957806316fed3e214610192578063195619bb146101ca5780631a4b0a25146101ea5780633c5d18121461028857600080fd5b36610164576006546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610161573d6000803e3d6000fd5b50005b600080fd5b34801561017557600080fd5b5061017f60035481565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506006546101b2906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b3480156101d657600080fd5b506008546101b2906001600160a01b031681565b3480156101f657600080fd5b5061024d610205366004611580565b600a6020526000908152604090208054600182015460029092015490919063ffffffff808216916401000000008104821691600160401b82041690600160601b900460ff1686565b60408051968752602087019590955263ffffffff938416948601949094529082166060850152166080830152151560a082015260c001610189565b34801561029457600080fd5b506005546102a790610100900460ff1681565b60405160ff9091168152602001610189565b3480156102c557600080fd5b5061017f60045481565b3480156102db57600080fd5b506102ef6102ea366004611505565b610486565b005b3480156102fd57600080fd5b506102ef61030c366004611505565b6104db565b34801561031d57600080fd5b5061033161032c3660046115cf565b610527565b6040805192835260ff909116602083015201610189565b34801561035457600080fd5b506000546101b2906001600160a01b031681565b6102ef6103763660046115cf565b610578565b34801561038757600080fd5b506005546101b2906201000090046001600160a01b031681565b3480156103ad57600080fd5b506102ef610976565b3480156103c257600080fd5b5061017f60025481565b3480156103d857600080fd5b506102ef6103e7366004611505565b610b23565b3480156103f857600080fd5b506102ef610407366004611505565b610b6f565b34801561041857600080fd5b506005546102a79060ff1681565b34801561043257600080fd5b506009546101b2906001600160a01b031681565b34801561045257600080fd5b506102ef610461366004611505565b610bbb565b34801561047257600080fd5b506007546101b2906001600160a01b031681565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611636565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105055760405162461bcd60e51b81526004016104b090611636565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008061053686610c53565b909250905060008161054884886117b8565b61055291906116a8565b60055490915061056a908890839060ff166000610e35565b945094505050509250929050565b600260015414156105cb5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b0565b60026001908155600554600a916000916105ed9190610100900460ff166117ee565b60ff168152602081019190915260400160002060020154640100000000900463ffffffff1642106106595760405162461bcd60e51b8152602060048201526016602482015275213abcb4b73390283430b9b2b99030b9329037bb32b960511b60448201526064016104b0565b60008260ff166001141561066e57503461080b565b506007546040516370a0823160e01b8152336004820152829182916001600160a01b03909116906370a082319060240160206040518083038186803b1580156106b657600080fd5b505afa1580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee9190611599565b101561073c5760405162461bcd60e51b815260206004820181905260248201527f5573657220646f65736e2774206861766520656e6f7567682062616c616e636560448201526064016104b0565b600754604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e9060440160206040518083038186803b15801561078557600080fd5b505afa158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611599565b101561080b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e63652070726f7669646564206973206c6f770000000000000060448201526064016104b0565b6000806108188584610527565b600554919350915061082e90839060ff16611051565b60055461084b906201000090046001600160a01b03163384611226565b6005805460ff191660ff83161790556002805483919060009061086f90849061166b565b90915550600090508061088187610c53565b90925090508061089183876117b8565b61089b91906116a8565b600360008282546108ac919061166b565b9091555050600160ff881614156108fd576006546040516001600160a01b039091169086156108fc029087906000818181858888f193505050501580156108f7573d6000803e3d6000fd5b5061091c565b60075460065461091c916001600160a01b039081169133911688611357565b604080513381526020810187905290810185905263ffffffff421660608201527f7a8ce7485c0a347f7e5f7b942c8ea1b2fc6b805ed8a9e9f6a005edf7e7467bd49060800160405180910390a15050600180555050505050565b6000546001600160a01b031633146109a05760405162461bcd60e51b81526004016104b090611636565b600554600a906000906109bd90600190610100900460ff166117ee565b60ff168152602081019190915260400160002060020154640100000000900463ffffffff164211610a305760405162461bcd60e51b815260206004820152601760248201527f50686173657320617265206e6f74206f7665722079657400000000000000000060448201526064016104b0565b6005546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a082319060240160206040518083038186803b158015610a7a57600080fd5b505afa158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab29190611599565b905060008111610afd5760405162461bcd60e51b8152602060048201526016602482015275139bc81d1bdad95b9cc81b19599d081d1bc81cd95b9960521b60448201526064016104b0565b600554600654610b20916001600160a01b03620100009091048116911683611226565b50565b6000546001600160a01b03163314610b4d5760405162461bcd60e51b81526004016104b090611636565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b995760405162461bcd60e51b81526004016104b090611636565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610be55760405162461bcd60e51b81526004016104b090611636565b6001600160a01b038116610bf857600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000808460ff1660011415610d0657600960009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ceb9190611557565b6001600160801b03169150670de0b6b3a76400009050610e2b565b600860009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5457600080fd5b505afa158015610d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8c9190611557565b6001600160801b03169150600760009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610de557600080fd5b505afa158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1d91906115b2565b610e2890600a61170d565b90505b9094909350915050565b600554600090819060ff610100909104811690851610610eb25760405162461bcd60e51b815260206004820152603260248201527f4e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261636044820152711d081bdc88141a185cd948195e1c1a5c995960721b60648201526084016104b0565b60ff8085166000908152600a6020908152604091829020825160c081018452815481526001820154928101929092526002015463ffffffff808216938301939093526401000000008104831660608301819052600160401b82049093166080830152600160601b9004909216151560a083015242101561100d576000610f3c878360800151611495565b905060008260000151868460200151610f55919061166b565b610f5f91906117d7565b905080610f8857610f7c8989610f768a6001611683565b89610e35565b94509450505050611048565b818110610f9c575092508491506110489050565b82516020840151610fae90889061166b565b610fb891906117d7565b91506000610fca8460800151846114d6565b9050600080610fef8c610fdd858e6117d7565b610fe88d6001611683565b6000610e35565b9092509050610ffe858361166b565b97509550611048945050505050565b80516020820151600091611020916117d7565b90506110418888611032896001611683565b61103c898661166b565b610e35565b9350935050505b94509492505050565b60055460ff6101009091048116908216106110ae5760405162461bcd60e51b815260206004820152601e60248201527f416c6c20746f6b656e732068617665206265656e20657868617573746564000060448201526064016104b0565b60ff81166000908152600a602052604090206002810154640100000000900463ffffffff164210156111a3578054600182015484916110ec916117d7565b11156111115782816000016000828254611106919061166b565b909155506112219050565b805460018201548491611123916117d7565b141561114a576001810154815560028101805460ff60601b1916600160601b179055505050565b8054600182015460009161115d916117d7565b61116790856117d7565b600180840154845560028401805460ff60601b1916600160601b17905590915061119d908290611198908690611683565b611051565b50505050565b805460018201546000916111b6916117d7565b600180840154845560028401805460ff60601b1916600160601b1790559091508190600a906000906111e9908790611683565b60ff168152602001908152602001600020600101600082825461120c919061166b565b9091555061119d905084611198856001611683565b505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161128291906115fb565b6000604051808303816000865af19150503d80600081146112bf576040519150601f19603f3d011682016040523d82523d6000602084013e6112c4565b606091505b50915091508180156112ee5750805115806112ee5750808060200190518101906112ee9190611535565b6113505760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104b0565b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916113bb91906115fb565b6000604051808303816000865af19150503d80600081146113f8576040519150601f19603f3d011682016040523d82523d6000602084013e6113fd565b606091505b50915091508180156114275750805115806114275750808060200190518101906114279190611535565b61148d5760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104b0565b505050505050565b60006114ab63ffffffff83166305f5e1006117b8565b6004546114b890856117b8565b6114c39060646117b8565b6114cd91906116a8565b90505b92915050565b600060045460646114e791906117b8565b6114f763ffffffff8516846117b8565b6114c3906305f5e1006117b8565b60006020828403121561151757600080fd5b81356001600160a01b038116811461152e57600080fd5b9392505050565b60006020828403121561154757600080fd5b8151801515811461152e57600080fd5b60006020828403121561156957600080fd5b81516001600160801b038116811461152e57600080fd5b60006020828403121561159257600080fd5b5035919050565b6000602082840312156115ab57600080fd5b5051919050565b6000602082840312156115c457600080fd5b815161152e81611827565b600080604083850312156115e257600080fd5b82356115ed81611827565b946020939093013593505050565b6000825160005b8181101561161c5760208186018101518583015201611602565b8181111561162b576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561167e5761167e611811565b500190565b600060ff821660ff84168060ff038211156116a0576116a0611811565b019392505050565b6000826116c557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156117055781600019048211156116eb576116eb611811565b808516156116f857918102915b93841c93908002906116cf565b509250929050565b60006114cd60ff841683600082611726575060016114d0565b81611733575060006114d0565b816001811461174957600281146117535761176f565b60019150506114d0565b60ff84111561176457611764611811565b50506001821b6114d0565b5060208310610133831016604e8410600b8410161715611792575081810a6114d0565b61179c83836116ca565b80600019048211156117b0576117b0611811565b029392505050565b60008160001904831182151516156117d2576117d2611811565b500290565b6000828210156117e9576117e9611811565b500390565b600060ff821660ff84168082101561180857611808611811565b90039392505050565b634e487b7160e01b600052601160045260246000fd5b60ff81168114610b2057600080fdfea264697066735822122043382a61f4d168d174f9ec0377d1f8229a892f03697939f3c961dc902bc5856d64736f6c63430008070033e1eb2b2161a492c07c5a334e48012567cba93ec021043f53c1955516a3c5a843a856840544dc26124927add067d799967eac11be13e14d82cc281ea46fa3975b000000000000000000000000f68d4d917592f3a62417ace42592f15296cc33a0
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063940c333e116100a0578063ddcbdaf211610064578063ddcbdaf2146103ec578063e8e438591461040c578063ef5f567914610426578063f2fde38b14610446578063ff920c741461046657600080fd5b8063940c333e146103685780639d76ea581461037b578063b3fcfd6a146103a1578063b5f7f636146103b6578063d02c7f7e146103cc57600080fd5b80635caed029116100e75780635caed029146102b95780636b8eed0a146102cf57806375d60372146102f157806381409bab146103115780638da5cb5b1461034857600080fd5b806308c89b6d1461016957806316fed3e214610192578063195619bb146101ca5780631a4b0a25146101ea5780633c5d18121461028857600080fd5b36610164576006546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610161573d6000803e3d6000fd5b50005b600080fd5b34801561017557600080fd5b5061017f60035481565b6040519081526020015b60405180910390f35b34801561019e57600080fd5b506006546101b2906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b3480156101d657600080fd5b506008546101b2906001600160a01b031681565b3480156101f657600080fd5b5061024d610205366004611580565b600a6020526000908152604090208054600182015460029092015490919063ffffffff808216916401000000008104821691600160401b82041690600160601b900460ff1686565b60408051968752602087019590955263ffffffff938416948601949094529082166060850152166080830152151560a082015260c001610189565b34801561029457600080fd5b506005546102a790610100900460ff1681565b60405160ff9091168152602001610189565b3480156102c557600080fd5b5061017f60045481565b3480156102db57600080fd5b506102ef6102ea366004611505565b610486565b005b3480156102fd57600080fd5b506102ef61030c366004611505565b6104db565b34801561031d57600080fd5b5061033161032c3660046115cf565b610527565b6040805192835260ff909116602083015201610189565b34801561035457600080fd5b506000546101b2906001600160a01b031681565b6102ef6103763660046115cf565b610578565b34801561038757600080fd5b506005546101b2906201000090046001600160a01b031681565b3480156103ad57600080fd5b506102ef610976565b3480156103c257600080fd5b5061017f60025481565b3480156103d857600080fd5b506102ef6103e7366004611505565b610b23565b3480156103f857600080fd5b506102ef610407366004611505565b610b6f565b34801561041857600080fd5b506005546102a79060ff1681565b34801561043257600080fd5b506009546101b2906001600160a01b031681565b34801561045257600080fd5b506102ef610461366004611505565b610bbb565b34801561047257600080fd5b506007546101b2906001600160a01b031681565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611636565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105055760405162461bcd60e51b81526004016104b090611636565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008061053686610c53565b909250905060008161054884886117b8565b61055291906116a8565b60055490915061056a908890839060ff166000610e35565b945094505050509250929050565b600260015414156105cb5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b0565b60026001908155600554600a916000916105ed9190610100900460ff166117ee565b60ff168152602081019190915260400160002060020154640100000000900463ffffffff1642106106595760405162461bcd60e51b8152602060048201526016602482015275213abcb4b73390283430b9b2b99030b9329037bb32b960511b60448201526064016104b0565b60008260ff166001141561066e57503461080b565b506007546040516370a0823160e01b8152336004820152829182916001600160a01b03909116906370a082319060240160206040518083038186803b1580156106b657600080fd5b505afa1580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee9190611599565b101561073c5760405162461bcd60e51b815260206004820181905260248201527f5573657220646f65736e2774206861766520656e6f7567682062616c616e636560448201526064016104b0565b600754604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e9060440160206040518083038186803b15801561078557600080fd5b505afa158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611599565b101561080b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e63652070726f7669646564206973206c6f770000000000000060448201526064016104b0565b6000806108188584610527565b600554919350915061082e90839060ff16611051565b60055461084b906201000090046001600160a01b03163384611226565b6005805460ff191660ff83161790556002805483919060009061086f90849061166b565b90915550600090508061088187610c53565b90925090508061089183876117b8565b61089b91906116a8565b600360008282546108ac919061166b565b9091555050600160ff881614156108fd576006546040516001600160a01b039091169086156108fc029087906000818181858888f193505050501580156108f7573d6000803e3d6000fd5b5061091c565b60075460065461091c916001600160a01b039081169133911688611357565b604080513381526020810187905290810185905263ffffffff421660608201527f7a8ce7485c0a347f7e5f7b942c8ea1b2fc6b805ed8a9e9f6a005edf7e7467bd49060800160405180910390a15050600180555050505050565b6000546001600160a01b031633146109a05760405162461bcd60e51b81526004016104b090611636565b600554600a906000906109bd90600190610100900460ff166117ee565b60ff168152602081019190915260400160002060020154640100000000900463ffffffff164211610a305760405162461bcd60e51b815260206004820152601760248201527f50686173657320617265206e6f74206f7665722079657400000000000000000060448201526064016104b0565b6005546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a082319060240160206040518083038186803b158015610a7a57600080fd5b505afa158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab29190611599565b905060008111610afd5760405162461bcd60e51b8152602060048201526016602482015275139bc81d1bdad95b9cc81b19599d081d1bc81cd95b9960521b60448201526064016104b0565b600554600654610b20916001600160a01b03620100009091048116911683611226565b50565b6000546001600160a01b03163314610b4d5760405162461bcd60e51b81526004016104b090611636565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b995760405162461bcd60e51b81526004016104b090611636565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610be55760405162461bcd60e51b81526004016104b090611636565b6001600160a01b038116610bf857600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000808460ff1660011415610d0657600960009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ceb9190611557565b6001600160801b03169150670de0b6b3a76400009050610e2b565b600860009054906101000a90046001600160a01b03166001600160a01b03166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5457600080fd5b505afa158015610d68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8c9190611557565b6001600160801b03169150600760009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610de557600080fd5b505afa158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1d91906115b2565b610e2890600a61170d565b90505b9094909350915050565b600554600090819060ff610100909104811690851610610eb25760405162461bcd60e51b815260206004820152603260248201527f4e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261636044820152711d081bdc88141a185cd948195e1c1a5c995960721b60648201526084016104b0565b60ff8085166000908152600a6020908152604091829020825160c081018452815481526001820154928101929092526002015463ffffffff808216938301939093526401000000008104831660608301819052600160401b82049093166080830152600160601b9004909216151560a083015242101561100d576000610f3c878360800151611495565b905060008260000151868460200151610f55919061166b565b610f5f91906117d7565b905080610f8857610f7c8989610f768a6001611683565b89610e35565b94509450505050611048565b818110610f9c575092508491506110489050565b82516020840151610fae90889061166b565b610fb891906117d7565b91506000610fca8460800151846114d6565b9050600080610fef8c610fdd858e6117d7565b610fe88d6001611683565b6000610e35565b9092509050610ffe858361166b565b97509550611048945050505050565b80516020820151600091611020916117d7565b90506110418888611032896001611683565b61103c898661166b565b610e35565b9350935050505b94509492505050565b60055460ff6101009091048116908216106110ae5760405162461bcd60e51b815260206004820152601e60248201527f416c6c20746f6b656e732068617665206265656e20657868617573746564000060448201526064016104b0565b60ff81166000908152600a602052604090206002810154640100000000900463ffffffff164210156111a3578054600182015484916110ec916117d7565b11156111115782816000016000828254611106919061166b565b909155506112219050565b805460018201548491611123916117d7565b141561114a576001810154815560028101805460ff60601b1916600160601b179055505050565b8054600182015460009161115d916117d7565b61116790856117d7565b600180840154845560028401805460ff60601b1916600160601b17905590915061119d908290611198908690611683565b611051565b50505050565b805460018201546000916111b6916117d7565b600180840154845560028401805460ff60601b1916600160601b1790559091508190600a906000906111e9908790611683565b60ff168152602001908152602001600020600101600082825461120c919061166b565b9091555061119d905084611198856001611683565b505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161128291906115fb565b6000604051808303816000865af19150503d80600081146112bf576040519150601f19603f3d011682016040523d82523d6000602084013e6112c4565b606091505b50915091508180156112ee5750805115806112ee5750808060200190518101906112ee9190611535565b6113505760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104b0565b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916113bb91906115fb565b6000604051808303816000865af19150503d80600081146113f8576040519150601f19603f3d011682016040523d82523d6000602084013e6113fd565b606091505b50915091508180156114275750805115806114275750808060200190518101906114279190611535565b61148d5760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104b0565b505050505050565b60006114ab63ffffffff83166305f5e1006117b8565b6004546114b890856117b8565b6114c39060646117b8565b6114cd91906116a8565b90505b92915050565b600060045460646114e791906117b8565b6114f763ffffffff8516846117b8565b6114c3906305f5e1006117b8565b60006020828403121561151757600080fd5b81356001600160a01b038116811461152e57600080fd5b9392505050565b60006020828403121561154757600080fd5b8151801515811461152e57600080fd5b60006020828403121561156957600080fd5b81516001600160801b038116811461152e57600080fd5b60006020828403121561159257600080fd5b5035919050565b6000602082840312156115ab57600080fd5b5051919050565b6000602082840312156115c457600080fd5b815161152e81611827565b600080604083850312156115e257600080fd5b82356115ed81611827565b946020939093013593505050565b6000825160005b8181101561161c5760208186018101518583015201611602565b8181111561162b576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000821982111561167e5761167e611811565b500190565b600060ff821660ff84168060ff038211156116a0576116a0611811565b019392505050565b6000826116c557634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156117055781600019048211156116eb576116eb611811565b808516156116f857918102915b93841c93908002906116cf565b509250929050565b60006114cd60ff841683600082611726575060016114d0565b81611733575060006114d0565b816001811461174957600281146117535761176f565b60019150506114d0565b60ff84111561176457611764611811565b50506001821b6114d0565b5060208310610133831016604e8410600b8410161715611792575081810a6114d0565b61179c83836116ca565b80600019048211156117b0576117b0611811565b029392505050565b60008160001904831182151516156117d2576117d2611811565b500290565b6000828210156117e9576117e9611811565b500390565b600060ff821660ff84168082101561180857611808611811565b90039392505050565b634e487b7160e01b600052601160045260246000fd5b60ff81168114610b2057600080fdfea264697066735822122043382a61f4d168d174f9ec0377d1f8229a892f03697939f3c961dc902bc5856d64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f68d4d917592f3a62417ace42592f15296cc33a0
-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xf68D4d917592f3a62417aCE42592F15296cc33A0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f68d4d917592f3a62417ace42592f15296cc33a0
Loading...
Loading
Loading...
Loading
Net Worth in USD
$14,525.55
Net Worth in ETH
7.634223
Token Allocations
CHB
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BSC | 100.00% | $0.00 | 696,669,093.3678 | $0.00 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.