Source Code
Latest 25 from a total of 17,784 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Renounce Ownersh... | 23406460 | 87 days ago | IN | 0 ETH | 0.00002721 | ||||
| Withdraw Tokens | 23406458 | 87 days ago | IN | 0 ETH | 0.00004684 | ||||
| Claim | 23225304 | 112 days ago | IN | 0 ETH | 0.00012378 | ||||
| Claim | 23111472 | 128 days ago | IN | 0 ETH | 0.0001074 | ||||
| Claim | 22926540 | 154 days ago | IN | 0 ETH | 0.00088947 | ||||
| Claim | 22884466 | 160 days ago | IN | 0 ETH | 0.00041901 | ||||
| Claim | 22749454 | 179 days ago | IN | 0 ETH | 0.0000233 | ||||
| Claim | 22509380 | 212 days ago | IN | 0 ETH | 0.00008253 | ||||
| Claim | 22057808 | 276 days ago | IN | 0 ETH | 0.00008899 | ||||
| Claim | 21996798 | 284 days ago | IN | 0 ETH | 0.00012086 | ||||
| Claim | 21876763 | 301 days ago | IN | 0 ETH | 0.00011098 | ||||
| Claim | 21751299 | 318 days ago | IN | 0 ETH | 0.00033334 | ||||
| Claim | 21593193 | 340 days ago | IN | 0 ETH | 0.00065549 | ||||
| Claim | 21580050 | 342 days ago | IN | 0 ETH | 0.00085664 | ||||
| Claim | 21500351 | 353 days ago | IN | 0 ETH | 0.00033402 | ||||
| Claim | 21428089 | 363 days ago | IN | 0 ETH | 0.00103706 | ||||
| Claim | 21334741 | 377 days ago | IN | 0 ETH | 0.00155902 | ||||
| Claim | 21315586 | 379 days ago | IN | 0 ETH | 0.0029425 | ||||
| Claim | 21293666 | 382 days ago | IN | 0 ETH | 0.00153351 | ||||
| Claim | 21286145 | 383 days ago | IN | 0 ETH | 0.00082532 | ||||
| Claim | 21239770 | 390 days ago | IN | 0 ETH | 0.00119402 | ||||
| Claim | 20732757 | 461 days ago | IN | 0 ETH | 0.00028596 | ||||
| Claim | 20649567 | 472 days ago | IN | 0 ETH | 0.00011637 | ||||
| Claim | 20464051 | 498 days ago | IN | 0 ETH | 0.00111704 | ||||
| Claim | 20353858 | 513 days ago | IN | 0 ETH | 0.00026983 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 16508750 | 1053 days ago | 0.04005466 ETH | ||||
| Transfer | 16508632 | 1053 days ago | 0.02795466 ETH | ||||
| Transfer | 16508610 | 1053 days ago | 0.0656327 ETH | ||||
| Transfer | 16508601 | 1053 days ago | 0.0243084 ETH | ||||
| Transfer | 16508600 | 1053 days ago | 0.0243084 ETH | ||||
| Transfer | 16508591 | 1053 days ago | 0.0243084 ETH | ||||
| Transfer | 16508555 | 1053 days ago | 0.04861681 ETH | ||||
| Transfer | 16508493 | 1053 days ago | 0.41443844 ETH | ||||
| Transfer | 16508482 | 1053 days ago | 0.08288768 ETH | ||||
| Transfer | 16508469 | 1053 days ago | 0.06216576 ETH | ||||
| Transfer | 16508455 | 1053 days ago | 0.62165766 ETH | ||||
| Transfer | 16508370 | 1053 days ago | 0.02487624 ETH | ||||
| Transfer | 16508357 | 1053 days ago | 0.76701759 ETH | ||||
| Transfer | 16508350 | 1053 days ago | 0.20730205 ETH | ||||
| Transfer | 16508317 | 1053 days ago | 0.0310953 ETH | ||||
| Transfer | 16508306 | 1053 days ago | 0.12438123 ETH | ||||
| Transfer | 16508252 | 1053 days ago | 0.05182551 ETH | ||||
| Transfer | 16508241 | 1053 days ago | 0.10365102 ETH | ||||
| Transfer | 16508209 | 1053 days ago | 0.02902228 ETH | ||||
| Transfer | 16508200 | 1053 days ago | 0.05410583 ETH | ||||
| Transfer | 16508190 | 1053 days ago | 0.0207302 ETH | ||||
| Transfer | 16508140 | 1053 days ago | 0.0207302 ETH | ||||
| Transfer | 16508124 | 1053 days ago | 0.02072793 ETH | ||||
| Transfer | 16508120 | 1053 days ago | 0.22800732 ETH | ||||
| Transfer | 16508059 | 1053 days ago | 0.05181984 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RIAPresale
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;
import "./lib/IERC20.sol";
import "./lib/Address.sol";
import "./lib/Context.sol";
import "./lib/Pausable.sol";
import "./lib/Ownable.sol";
import "./lib/ReentrancyGuard.sol";
interface Aggregator {
function latestRoundData() external view returns (
uint80 roundId,
int256 answer,
uint startedAt,
uint updatedAt,
uint80 answeredInRound
);
}
contract RIAPresale is ReentrancyGuard, Ownable, Pausable {
uint public salePrice;
uint public totalTokensForPresale;
uint public minimumBuyAmount;
uint public inSale;
uint public priceStep;
uint public periodSize;
uint public startTime;
uint public endTime;
uint public claimStart;
uint public baseDecimals;
address public saleToken;
address dataOracle;
address USDTtoken;
address USDCtoken;
address BUSDtoken;
address DAItoken;
mapping(address => uint) public userDeposits;
mapping(address => bool) public hasClaimed;
event TokensBought(
address indexed user,
uint indexed tokensBought,
address indexed purchaseToken,
uint amountPaid,
uint timestamp
);
event TokensClaimed(
address indexed user,
uint amount,
uint timestamp
);
constructor(uint _startTime, uint _endTime, address _oracle, address _usdt, address _usdc, address _busd, address _dai) {
require(_startTime > block.timestamp && _endTime > _startTime, "Invalid time");
baseDecimals = (10 ** 18);
salePrice = 0.01 * (10 ** 18); //USD
priceStep = 0.0025 * (10 ** 18); //USD
periodSize = 30_000_000;
totalTokensForPresale = 300_000_000;
minimumBuyAmount = 1000;
inSale = totalTokensForPresale;
startTime = _startTime;
endTime = _endTime;
dataOracle = _oracle;
USDTtoken = _usdt;
USDCtoken = _usdc;
BUSDtoken = _busd;
DAItoken = _dai;
}
function pause() external onlyOwner {
_pause();
}
function unpause() external onlyOwner {
_unpause();
}
function calculatePrice(uint256 _amount) internal view returns (uint256 totalValue) {
uint256 totalSold = totalTokensForPresale - inSale;
if(totalSold + _amount <= periodSize) return (_amount * salePrice);
else {
uint256 extra = (totalSold + _amount) - periodSize;
uint256 _salePrice = salePrice;
if(totalSold >= periodSize) {
_salePrice = (_salePrice + priceStep) + (((totalSold - periodSize) / periodSize) * priceStep);
uint256 period = _amount / periodSize;
if(period == 0) return (_amount * _salePrice);
else {
while(period > 0) {
totalValue = totalValue + (periodSize * _salePrice);
_amount -= periodSize;
_salePrice += priceStep;
period--;
}
if(_amount > 0) totalValue += (_amount * _salePrice);
}
} else {
totalValue = (_amount - extra) * _salePrice;
if(extra <= periodSize) return totalValue + (extra * ((_salePrice * 125) / 100));
else {
while(extra >= periodSize) {
_salePrice += priceStep;
totalValue = totalValue + (periodSize * _salePrice);
extra -= periodSize;
}
if(extra > 0) {
_salePrice += priceStep;
totalValue += (extra * _salePrice);
}
return totalValue;
}
}
}
}
function getETHLatestPrice() public view returns (uint) {
(, int256 price, , , ) = Aggregator(dataOracle).latestRoundData();
price = (price * (10 ** 10));
return uint(price);
}
function sendValue(address payable recipient, uint amount) internal {
require(address(this).balance >= amount, "Low balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "ETH Payment failed");
}
modifier checkSaleState(uint amount) {
require(block.timestamp >= startTime && block.timestamp <= endTime, "Invalid time for buying");
require(amount >= minimumBuyAmount, "Too small amount");
require(amount > 0 && amount <= inSale, "Invalid sale amount");
_;
}
function buyWithEth(uint amount) external payable checkSaleState(amount) whenNotPaused nonReentrant {
uint usdPrice = calculatePrice(amount);
uint ethAmount = (usdPrice * baseDecimals) / getETHLatestPrice();
require(msg.value >= ethAmount, "Less payment");
uint excess = msg.value - ethAmount;
inSale -= amount;
userDeposits[_msgSender()] += (amount * baseDecimals);
sendValue(payable(owner()), ethAmount);
if(excess > 0) sendValue(payable(_msgSender()), excess);
emit TokensBought(
_msgSender(),
amount,
address(0),
ethAmount,
block.timestamp
);
}
function buyWithUSD(uint amount, uint purchaseToken) external checkSaleState(amount) whenNotPaused {
uint usdPrice = calculatePrice(amount);
if(purchaseToken == 0 || purchaseToken == 1) usdPrice = usdPrice / (10 ** 12); //USDT and USDC have 6 decimals
inSale -= amount;
userDeposits[_msgSender()] += (amount * baseDecimals);
IERC20 tokenInterface;
if(purchaseToken == 0) tokenInterface = IERC20(USDTtoken);
else if(purchaseToken == 1) tokenInterface = IERC20(USDCtoken);
else if(purchaseToken == 2) tokenInterface = IERC20(BUSDtoken);
else if(purchaseToken == 3) tokenInterface = IERC20(DAItoken);
uint ourAllowance = tokenInterface.allowance(_msgSender(), address(this));
require(usdPrice <= ourAllowance, "Make sure to add enough allowance");
(bool success, ) = address(tokenInterface).call(
abi.encodeWithSignature(
"transferFrom(address,address,uint256)",
_msgSender(),
owner(),
usdPrice
)
);
require(success, "Token payment failed");
emit TokensBought(
_msgSender(),
amount,
address(tokenInterface),
usdPrice,
block.timestamp
);
}
function getEthAmount(uint amount) external view returns (uint ethAmount) {
uint usdPrice = calculatePrice(amount);
ethAmount = (usdPrice * baseDecimals) / getETHLatestPrice();
}
function getTokenAmount(uint amount, uint purchaseToken) external view returns (uint usdPrice) {
usdPrice = calculatePrice(amount);
if(purchaseToken == 0 || purchaseToken == 1) usdPrice = usdPrice / (10 ** 12); //USDT and USDC have 6 decimals
}
function startClaim(uint _claimStart, uint tokensAmount, address _saleToken) external onlyOwner {
require(_claimStart > endTime && _claimStart > block.timestamp, "Invalid claim start time");
require(tokensAmount >= ((totalTokensForPresale - inSale) * baseDecimals), "Tokens less than sold");
require(_saleToken != address(0), "Zero token address");
require(claimStart == 0, "Claim already set");
claimStart = _claimStart;
saleToken = _saleToken;
IERC20(_saleToken).transferFrom(_msgSender(), address(this), tokensAmount);
}
function claim() external whenNotPaused {
require(saleToken != address(0), "Sale token not added");
require(block.timestamp >= claimStart, "Claim has not started yet");
require(!hasClaimed[_msgSender()], "Already claimed");
hasClaimed[_msgSender()] = true;
uint amount = userDeposits[_msgSender()];
require(amount > 0, "Nothing to claim");
delete userDeposits[_msgSender()];
IERC20(saleToken).transfer(_msgSender(), amount);
emit TokensClaimed(_msgSender(), amount, block.timestamp);
}
function changeClaimStart(uint _claimStart) external onlyOwner {
require(claimStart > 0, "Initial claim data not set");
require(_claimStart > endTime, "Sale in progress");
require(_claimStart > block.timestamp, "Claim start in past");
claimStart = _claimStart;
}
function changeSaleTimes(uint _startTime, uint _endTime) external onlyOwner {
require(_startTime > 0 || _endTime > 0, "Invalid parameters");
if(_startTime > 0) {
require(block.timestamp < _startTime, "Sale time in past");
startTime = _startTime;
}
if(_endTime > 0) {
require(_endTime > startTime, "Invalid endTime");
endTime = _endTime;
}
}
function changePriceStep(uint _priceStep) external onlyOwner {
require(_priceStep > 0 && _priceStep != priceStep, "Invalid price step");
priceStep = _priceStep;
}
function changePeriodSize(uint _periodSize) external onlyOwner {
require(_periodSize > 0 && _periodSize != periodSize, "Invalid period size");
periodSize = _periodSize;
}
function changeMinimumBuyAmount(uint _amount) external onlyOwner {
require(_amount > 0 && _amount != minimumBuyAmount, "Invalid amount");
minimumBuyAmount = _amount;
}
function withdrawTokens(address token, uint amount) external onlyOwner {
IERC20(token).transfer(owner(), amount);
}
function withdrawEthers() external onlyOwner {
(bool success,) = owner().call{value: address(this).balance}("");
require(success, "Failed to withdraw");
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.6;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;
/**
* @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
* ====
*/
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 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://diligence.consensys.net/posts/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 functionCall(target, data, "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");
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{value: value}(data);
return verifyCallResult(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) {
require(isContract(target), "Address: static call to non-contract");
(bool success, bytes memory returndata) = target.staticcall(data);
return verifyCallResult(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) {
require(isContract(target), "Address: delegate call to non-contract");
(bool success, bytes memory returndata) = target.delegatecall(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
* revert reason 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 {
// 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
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}pragma solidity ^0.8.6;
// SPDX-License-Identifier: MIT License
import "./Context.sol";
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 () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
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 {
emit OwnershipTransferred(_owner, address(0));
_owner = 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");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/Pausable.sol)
pragma solidity ^0.8.6;
import "./Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
require(!paused(), "Pausable: paused");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
require(paused(), "Pausable: not paused");
_;
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)
pragma solidity ^0.8.6;
/**
* @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 making 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;
}
}{
"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":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_usdt","type":"address"},{"internalType":"address","name":"_usdc","type":"address"},{"internalType":"address","name":"_busd","type":"address"},{"internalType":"address","name":"_dai","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":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokensBought","type":"uint256"},{"indexed":true,"internalType":"address","name":"purchaseToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountPaid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TokensBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TokensClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"baseDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyWithEth","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"purchaseToken","type":"uint256"}],"name":"buyWithUSD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claimStart","type":"uint256"}],"name":"changeClaimStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"changeMinimumBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_periodSize","type":"uint256"}],"name":"changePeriodSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_priceStep","type":"uint256"}],"name":"changePriceStep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"}],"name":"changeSaleTimes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimStart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getETHLatestPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getEthAmount","outputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"purchaseToken","type":"uint256"}],"name":"getTokenAmount","outputs":[{"internalType":"uint256","name":"usdPrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceStep","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"salePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_claimStart","type":"uint256"},{"internalType":"uint256","name":"tokensAmount","type":"uint256"},{"internalType":"address","name":"_saleToken","type":"address"}],"name":"startClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensForPresale","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":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEthers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b50604051620021f7380380620021f783398101604081905262000034916200019f565b6001600081815581546001600160a01b031916339081179092556040518291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001805460ff60a01b1916905542871180156200009657508686115b620000d65760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642074696d6560a01b604482015260640160405180910390fd5b670de0b6b3a7640000600b55662386f26fc100006002556608e1bc9bf040006006556301c9c3806007556311e1a30060038190556103e8600455600555600896909655600994909455600d80546001600160a01b03199081166001600160a01b0395861617909155600e8054821693851693909317909255600f805483169184169190911790556010805482169383169390931790925560118054909216921691909117905562000222565b80516001600160a01b03811681146200019a57600080fd5b919050565b600080600080600080600060e0888a031215620001bb57600080fd5b8751965060208801519550620001d46040890162000182565b9450620001e46060890162000182565b9350620001f46080890162000182565b92506200020460a0890162000182565b91506200021460c0890162000182565b905092959891949750929550565b611fc580620002326000396000f3fe6080604052600436106101ee5760003560e01c806373b2e80e1161010d5780638fc7a25d116100a0578063e4463eb21161006f578063e4463eb21461052d578063e985e36714610543578063f04d688f14610563578063f2fde38b14610579578063f51f96dd1461059957600080fd5b80638fc7a25d146104b857806394e99256146104d857806399f02935146104ed578063b2caaebd1461050d57600080fd5b80638456cb59116100dc5780638456cb591461044557806388d519c41461045a5780638d6a2ed5146104705780638da5cb5b1461048657600080fd5b806373b2e80e146103d65780637649b9571461040657806378e97925146104195780638008d5bc1461042f57600080fd5b806333f76178116101855780635c975abb116101545780635c975abb14610361578063687e6f441461038c5780636ec8dea2146103a1578063715018a6146103c157600080fd5b806333f76178146103015780633c16b3f3146103175780633f4ba83a146103375780634e71d92d1461034c57600080fd5b80630bc1236e116101c15780630bc1236e146102955780630dc9c838146102b557806311b3840e146102d55780633197cbb6146102eb57600080fd5b806306b091f9146101f357806307f180821461021557806308677efa146102355780630ba36dcd14610255575b600080fd5b3480156101ff57600080fd5b5061021361020e366004611ceb565b6105af565b005b34801561022157600080fd5b50610213610230366004611d15565b610679565b34801561024157600080fd5b50610213610250366004611d15565b610783565b34801561026157600080fd5b50610282610270366004611d2e565b60126020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b506102826102b0366004611d49565b610801565b3480156102c157600080fd5b506102136102d0366004611d49565b610838565b3480156102e157600080fd5b5061028260035481565b3480156102f757600080fd5b5061028260095481565b34801561030d57600080fd5b50610282600b5481565b34801561032357600080fd5b50610213610332366004611d15565b610954565b34801561034357600080fd5b506102136109d7565b34801561035857600080fd5b50610213610a0b565b34801561036d57600080fd5b50600154600160a01b900460ff165b604051901515815260200161028c565b34801561039857600080fd5b50610213610c59565b3480156103ad57600080fd5b506102136103bc366004611d15565b610d2f565b3480156103cd57600080fd5b50610213610db1565b3480156103e257600080fd5b5061037c6103f1366004611d2e565b60136020526000908152604090205460ff1681565b610213610414366004611d15565b610e25565b34801561042557600080fd5b5061028260085481565b34801561043b57600080fd5b5061028260055481565b34801561045157600080fd5b506102136110d0565b34801561046657600080fd5b5061028260065481565b34801561047c57600080fd5b5061028260045481565b34801561049257600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156104c457600080fd5b506102826104d3366004611d15565b611102565b3480156104e457600080fd5b50610282611136565b3480156104f957600080fd5b50610213610508366004611d49565b6111c7565b34801561051957600080fd5b50610213610528366004611d6b565b6115ec565b34801561053957600080fd5b5061028260075481565b34801561054f57600080fd5b50600c546104a0906001600160a01b031681565b34801561056f57600080fd5b50610282600a5481565b34801561058557600080fd5b50610213610594366004611d2e565b61180b565b3480156105a557600080fd5b5061028260025481565b6001546001600160a01b031633146105e25760405162461bcd60e51b81526004016105d990611da0565b60405180910390fd5b816001600160a01b031663a9059cbb6106036001546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106749190611dd5565b505050565b6001546001600160a01b031633146106a35760405162461bcd60e51b81526004016105d990611da0565b6000600a54116106f55760405162461bcd60e51b815260206004820152601a60248201527f496e697469616c20636c61696d2064617461206e6f742073657400000000000060448201526064016105d9565b60095481116107395760405162461bcd60e51b815260206004820152601060248201526f53616c6520696e2070726f677265737360801b60448201526064016105d9565b42811161077e5760405162461bcd60e51b815260206004820152601360248201527210db185a5b481cdd185c9d081a5b881c185cdd606a1b60448201526064016105d9565b600a55565b6001546001600160a01b031633146107ad5760405162461bcd60e51b81526004016105d990611da0565b6000811180156107bf57506004548114155b6107fc5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016105d9565b600455565b600061080c836118f6565b905081158061081b5750816001145b156108325761082f64e8d4a5100082611e0d565b90505b92915050565b6001546001600160a01b031633146108625760405162461bcd60e51b81526004016105d990611da0565b60008211806108715750600081115b6108b25760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420706172616d657465727360701b60448201526064016105d9565b8115610901578142106108fb5760405162461bcd60e51b815260206004820152601160248201527014d85b19481d1a5b59481a5b881c185cdd607a1b60448201526064016105d9565b60088290555b801561095057600854811161094a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c696420656e6454696d6560881b60448201526064016105d9565b60098190555b5050565b6001546001600160a01b0316331461097e5760405162461bcd60e51b81526004016105d990611da0565b60008111801561099057506007548114155b6109d25760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706572696f642073697a6560681b60448201526064016105d9565b600755565b6001546001600160a01b03163314610a015760405162461bcd60e51b81526004016105d990611da0565b610a09611af7565b565b600154600160a01b900460ff1615610a355760405162461bcd60e51b81526004016105d990611e2f565b600c546001600160a01b0316610a845760405162461bcd60e51b815260206004820152601460248201527314d85b19481d1bdad95b881b9bdd08185919195960621b60448201526064016105d9565b600a54421015610ad65760405162461bcd60e51b815260206004820152601960248201527f436c61696d20686173206e6f742073746172746564207965740000000000000060448201526064016105d9565b3360009081526013602052604090205460ff1615610b285760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b60448201526064016105d9565b336000908152601360209081526040808320805460ff19166001179055601290915290205480610b8d5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b60448201526064016105d9565b336000818152601260209081526040808320839055600c54815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb93604480830194939283900301908290875af1158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190611dd5565b506040805182815242602082015233917f9923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7b910160405180910390a250565b6001546001600160a01b03163314610c835760405162461bcd60e51b81526004016105d990611da0565b6000610c976001546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610ce1576040519150601f19603f3d011682016040523d82523d6000602084013e610ce6565b606091505b5050905080610d2c5760405162461bcd60e51b81526020600482015260126024820152714661696c656420746f20776974686472617760701b60448201526064016105d9565b50565b6001546001600160a01b03163314610d595760405162461bcd60e51b81526004016105d990611da0565b600081118015610d6b57506006548114155b610dac5760405162461bcd60e51b81526020600482015260126024820152710496e76616c696420707269636520737465760741b60448201526064016105d9565b600655565b6001546001600160a01b03163314610ddb5760405162461bcd60e51b81526004016105d990611da0565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b806008544210158015610e3a57506009544211155b610e805760405162461bcd60e51b8152602060048201526017602482015276496e76616c69642074696d6520666f7220627579696e6760481b60448201526064016105d9565b600454811015610ec55760405162461bcd60e51b815260206004820152601060248201526f151bdbc81cdb585b1b08185b5bdd5b9d60821b60448201526064016105d9565b600081118015610ed757506005548111155b610f195760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081cd85b1948185b5bdd5b9d606a1b60448201526064016105d9565b600154600160a01b900460ff1615610f435760405162461bcd60e51b81526004016105d990611e2f565b600260005403610f955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105d9565b60026000908155610fa5836118f6565b90506000610fb1611136565b600b54610fbe9084611e59565b610fc89190611e0d565b9050803410156110095760405162461bcd60e51b815260206004820152600c60248201526b13195cdcc81c185e5b595b9d60a21b60448201526064016105d9565b60006110158234611e70565b905084600560008282546110299190611e70565b9091555050600b5461103b9086611e59565b336000908152601260205260408120805490919061105a908490611e83565b9091555050600154611075906001600160a01b031683611b94565b8015611085576110853382611b94565b60408051838152426020820152600091879133917f62e796e00a8e66154d78da76daae129635b4795a6e1b889f2caa6c5cea22ac68910160405180910390a450506001600055505050565b6001546001600160a01b031633146110fa5760405162461bcd60e51b81526004016105d990611da0565b610a09611c6a565b60008061110e836118f6565b9050611118611136565b600b546111259083611e59565b61112f9190611e0d565b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190611eb0565b505050915050806402540be4006108329190611f00565b8160085442101580156111dc57506009544211155b6112225760405162461bcd60e51b8152602060048201526017602482015276496e76616c69642074696d6520666f7220627579696e6760481b60448201526064016105d9565b6004548110156112675760405162461bcd60e51b815260206004820152601060248201526f151bdbc81cdb585b1b08185b5bdd5b9d60821b60448201526064016105d9565b60008111801561127957506005548111155b6112bb5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081cd85b1948185b5bdd5b9d606a1b60448201526064016105d9565b600154600160a01b900460ff16156112e55760405162461bcd60e51b81526004016105d990611e2f565b60006112f0846118f6565b90508215806112ff5750826001145b156113165761131364e8d4a5100082611e0d565b90505b83600560008282546113289190611e70565b9091555050600b5461133a9085611e59565b3360009081526012602052604081208054909190611359908490611e83565b909155506000905083810361137a5750600e546001600160a01b03166113c4565b836001036113945750600f546001600160a01b03166113c4565b836002036113ae57506010546001600160a01b03166113c4565b836003036113c457506011546001600160a01b03165b60006001600160a01b03821663dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114449190611f30565b9050808311156114a05760405162461bcd60e51b815260206004820152602160248201527f4d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e636044820152606560f81b60648201526084016105d9565b60006001600160a01b038316336001546001600160a01b03166040516001600160a01b039283166024820152911660448201526064810186905260840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b179052516115129190611f49565b6000604051808303816000865af19150503d806000811461154f576040519150601f19603f3d011682016040523d82523d6000602084013e611554565b606091505b505090508061159c5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b60448201526064016105d9565b604080518581524260208201526001600160a01b03851691899133917f62e796e00a8e66154d78da76daae129635b4795a6e1b889f2caa6c5cea22ac68910160405180910390a450505050505050565b6001546001600160a01b031633146116165760405162461bcd60e51b81526004016105d990611da0565b6009548311801561162657504283115b6116725760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636c61696d2073746172742074696d65000000000000000060448201526064016105d9565b600b546005546003546116859190611e70565b61168f9190611e59565b8210156116d65760405162461bcd60e51b8152602060048201526015602482015274151bdad95b9cc81b195cdcc81d1a185b881cdbdb19605a1b60448201526064016105d9565b6001600160a01b0381166117215760405162461bcd60e51b81526020600482015260126024820152715a65726f20746f6b656e206164647265737360701b60448201526064016105d9565b600a54156117655760405162461bcd60e51b815260206004820152601160248201527010db185a5b48185b1c9958591e481cd95d607a1b60448201526064016105d9565b600a839055600c80546001600160a01b0319166001600160a01b0383169081179091556323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af11580156117e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118059190611dd5565b50505050565b6001546001600160a01b031633146118355760405162461bcd60e51b81526004016105d990611da0565b6001600160a01b03811661189a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d9565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806005546003546119099190611e70565b6007549091506119198483611e83565b1161192b5760025461112f9084611e59565b60075460009061193b8584611e83565b6119459190611e70565b600254600754919250908310611a35576006546007546119658186611e70565b61196f9190611e0d565b6119799190611e59565b6006546119869083611e83565b6119909190611e83565b90506000600754866119a29190611e0d565b9050806000036119c0576119b68287611e59565b9695505050505050565b8015611a1257816007546119d49190611e59565b6119de9086611e83565b9450600754866119ee9190611e70565b9550600654826119fe9190611e83565b915080611a0a81611f78565b9150506119c0565b8515611a2f57611a228287611e59565b611a2c9086611e83565b94505b50611aef565b80611a408387611e70565b611a4a9190611e59565b93506007548211611a89576064611a6282607d611e59565b611a6c9190611e0d565b611a769083611e59565b611a809085611e83565b95945050505050565b6007548210611ad057600654611a9f9082611e83565b905080600754611aaf9190611e59565b611ab99085611e83565b935060075482611ac99190611e70565b9150611a89565b8115611aef57600654611ae39082611e83565b9050611a768183611e59565b505050919050565b600154600160a01b900460ff16611b475760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105d9565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b80471015611bd25760405162461bcd60e51b815260206004820152600b60248201526a4c6f772062616c616e636560a81b60448201526064016105d9565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c1f576040519150601f19603f3d011682016040523d82523d6000602084013e611c24565b606091505b50509050806106745760405162461bcd60e51b81526020600482015260126024820152711155120814185e5b595b9d0819985a5b195960721b60448201526064016105d9565b600154600160a01b900460ff1615611c945760405162461bcd60e51b81526004016105d990611e2f565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b773390565b80356001600160a01b0381168114611ce657600080fd5b919050565b60008060408385031215611cfe57600080fd5b611d0783611ccf565b946020939093013593505050565b600060208284031215611d2757600080fd5b5035919050565b600060208284031215611d4057600080fd5b61082f82611ccf565b60008060408385031215611d5c57600080fd5b50508035926020909101359150565b600080600060608486031215611d8057600080fd5b8335925060208401359150611d9760408501611ccf565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611de757600080fd5b8151801515811461112f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600082611e2a57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b808202811582820484141761083257610832611df7565b8181038181111561083257610832611df7565b8082018082111561083257610832611df7565b805169ffffffffffffffffffff81168114611ce657600080fd5b600080600080600060a08688031215611ec857600080fd5b611ed186611e96565b9450602086015193506040860151925060608601519150611ef460808701611e96565b90509295509295909350565b80820260008212600160ff1b84141615611f1c57611f1c611df7565b818105831482151761083257610832611df7565b600060208284031215611f4257600080fd5b5051919050565b6000825160005b81811015611f6a5760208186018101518583015201611f50565b506000920191825250919050565b600081611f8757611f87611df7565b50600019019056fea2646970667358221220515059f862522500ba82be4aa0bc8f429dd2fc7081ed67c07d57c611f3250eb264736f6c63430008110033000000000000000000000000000000000000000000000000000000006328218000000000000000000000000000000000000000000000000000000000650955000000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c530000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Deployed Bytecode
0x6080604052600436106101ee5760003560e01c806373b2e80e1161010d5780638fc7a25d116100a0578063e4463eb21161006f578063e4463eb21461052d578063e985e36714610543578063f04d688f14610563578063f2fde38b14610579578063f51f96dd1461059957600080fd5b80638fc7a25d146104b857806394e99256146104d857806399f02935146104ed578063b2caaebd1461050d57600080fd5b80638456cb59116100dc5780638456cb591461044557806388d519c41461045a5780638d6a2ed5146104705780638da5cb5b1461048657600080fd5b806373b2e80e146103d65780637649b9571461040657806378e97925146104195780638008d5bc1461042f57600080fd5b806333f76178116101855780635c975abb116101545780635c975abb14610361578063687e6f441461038c5780636ec8dea2146103a1578063715018a6146103c157600080fd5b806333f76178146103015780633c16b3f3146103175780633f4ba83a146103375780634e71d92d1461034c57600080fd5b80630bc1236e116101c15780630bc1236e146102955780630dc9c838146102b557806311b3840e146102d55780633197cbb6146102eb57600080fd5b806306b091f9146101f357806307f180821461021557806308677efa146102355780630ba36dcd14610255575b600080fd5b3480156101ff57600080fd5b5061021361020e366004611ceb565b6105af565b005b34801561022157600080fd5b50610213610230366004611d15565b610679565b34801561024157600080fd5b50610213610250366004611d15565b610783565b34801561026157600080fd5b50610282610270366004611d2e565b60126020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b506102826102b0366004611d49565b610801565b3480156102c157600080fd5b506102136102d0366004611d49565b610838565b3480156102e157600080fd5b5061028260035481565b3480156102f757600080fd5b5061028260095481565b34801561030d57600080fd5b50610282600b5481565b34801561032357600080fd5b50610213610332366004611d15565b610954565b34801561034357600080fd5b506102136109d7565b34801561035857600080fd5b50610213610a0b565b34801561036d57600080fd5b50600154600160a01b900460ff165b604051901515815260200161028c565b34801561039857600080fd5b50610213610c59565b3480156103ad57600080fd5b506102136103bc366004611d15565b610d2f565b3480156103cd57600080fd5b50610213610db1565b3480156103e257600080fd5b5061037c6103f1366004611d2e565b60136020526000908152604090205460ff1681565b610213610414366004611d15565b610e25565b34801561042557600080fd5b5061028260085481565b34801561043b57600080fd5b5061028260055481565b34801561045157600080fd5b506102136110d0565b34801561046657600080fd5b5061028260065481565b34801561047c57600080fd5b5061028260045481565b34801561049257600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156104c457600080fd5b506102826104d3366004611d15565b611102565b3480156104e457600080fd5b50610282611136565b3480156104f957600080fd5b50610213610508366004611d49565b6111c7565b34801561051957600080fd5b50610213610528366004611d6b565b6115ec565b34801561053957600080fd5b5061028260075481565b34801561054f57600080fd5b50600c546104a0906001600160a01b031681565b34801561056f57600080fd5b50610282600a5481565b34801561058557600080fd5b50610213610594366004611d2e565b61180b565b3480156105a557600080fd5b5061028260025481565b6001546001600160a01b031633146105e25760405162461bcd60e51b81526004016105d990611da0565b60405180910390fd5b816001600160a01b031663a9059cbb6106036001546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106749190611dd5565b505050565b6001546001600160a01b031633146106a35760405162461bcd60e51b81526004016105d990611da0565b6000600a54116106f55760405162461bcd60e51b815260206004820152601a60248201527f496e697469616c20636c61696d2064617461206e6f742073657400000000000060448201526064016105d9565b60095481116107395760405162461bcd60e51b815260206004820152601060248201526f53616c6520696e2070726f677265737360801b60448201526064016105d9565b42811161077e5760405162461bcd60e51b815260206004820152601360248201527210db185a5b481cdd185c9d081a5b881c185cdd606a1b60448201526064016105d9565b600a55565b6001546001600160a01b031633146107ad5760405162461bcd60e51b81526004016105d990611da0565b6000811180156107bf57506004548114155b6107fc5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016105d9565b600455565b600061080c836118f6565b905081158061081b5750816001145b156108325761082f64e8d4a5100082611e0d565b90505b92915050565b6001546001600160a01b031633146108625760405162461bcd60e51b81526004016105d990611da0565b60008211806108715750600081115b6108b25760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420706172616d657465727360701b60448201526064016105d9565b8115610901578142106108fb5760405162461bcd60e51b815260206004820152601160248201527014d85b19481d1a5b59481a5b881c185cdd607a1b60448201526064016105d9565b60088290555b801561095057600854811161094a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c696420656e6454696d6560881b60448201526064016105d9565b60098190555b5050565b6001546001600160a01b0316331461097e5760405162461bcd60e51b81526004016105d990611da0565b60008111801561099057506007548114155b6109d25760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706572696f642073697a6560681b60448201526064016105d9565b600755565b6001546001600160a01b03163314610a015760405162461bcd60e51b81526004016105d990611da0565b610a09611af7565b565b600154600160a01b900460ff1615610a355760405162461bcd60e51b81526004016105d990611e2f565b600c546001600160a01b0316610a845760405162461bcd60e51b815260206004820152601460248201527314d85b19481d1bdad95b881b9bdd08185919195960621b60448201526064016105d9565b600a54421015610ad65760405162461bcd60e51b815260206004820152601960248201527f436c61696d20686173206e6f742073746172746564207965740000000000000060448201526064016105d9565b3360009081526013602052604090205460ff1615610b285760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b60448201526064016105d9565b336000908152601360209081526040808320805460ff19166001179055601290915290205480610b8d5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b60448201526064016105d9565b336000818152601260209081526040808320839055600c54815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb93604480830194939283900301908290875af1158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1b9190611dd5565b506040805182815242602082015233917f9923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7b910160405180910390a250565b6001546001600160a01b03163314610c835760405162461bcd60e51b81526004016105d990611da0565b6000610c976001546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610ce1576040519150601f19603f3d011682016040523d82523d6000602084013e610ce6565b606091505b5050905080610d2c5760405162461bcd60e51b81526020600482015260126024820152714661696c656420746f20776974686472617760701b60448201526064016105d9565b50565b6001546001600160a01b03163314610d595760405162461bcd60e51b81526004016105d990611da0565b600081118015610d6b57506006548114155b610dac5760405162461bcd60e51b81526020600482015260126024820152710496e76616c696420707269636520737465760741b60448201526064016105d9565b600655565b6001546001600160a01b03163314610ddb5760405162461bcd60e51b81526004016105d990611da0565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b806008544210158015610e3a57506009544211155b610e805760405162461bcd60e51b8152602060048201526017602482015276496e76616c69642074696d6520666f7220627579696e6760481b60448201526064016105d9565b600454811015610ec55760405162461bcd60e51b815260206004820152601060248201526f151bdbc81cdb585b1b08185b5bdd5b9d60821b60448201526064016105d9565b600081118015610ed757506005548111155b610f195760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081cd85b1948185b5bdd5b9d606a1b60448201526064016105d9565b600154600160a01b900460ff1615610f435760405162461bcd60e51b81526004016105d990611e2f565b600260005403610f955760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105d9565b60026000908155610fa5836118f6565b90506000610fb1611136565b600b54610fbe9084611e59565b610fc89190611e0d565b9050803410156110095760405162461bcd60e51b815260206004820152600c60248201526b13195cdcc81c185e5b595b9d60a21b60448201526064016105d9565b60006110158234611e70565b905084600560008282546110299190611e70565b9091555050600b5461103b9086611e59565b336000908152601260205260408120805490919061105a908490611e83565b9091555050600154611075906001600160a01b031683611b94565b8015611085576110853382611b94565b60408051838152426020820152600091879133917f62e796e00a8e66154d78da76daae129635b4795a6e1b889f2caa6c5cea22ac68910160405180910390a450506001600055505050565b6001546001600160a01b031633146110fa5760405162461bcd60e51b81526004016105d990611da0565b610a09611c6a565b60008061110e836118f6565b9050611118611136565b600b546111259083611e59565b61112f9190611e0d565b9392505050565b600080600d60009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190611eb0565b505050915050806402540be4006108329190611f00565b8160085442101580156111dc57506009544211155b6112225760405162461bcd60e51b8152602060048201526017602482015276496e76616c69642074696d6520666f7220627579696e6760481b60448201526064016105d9565b6004548110156112675760405162461bcd60e51b815260206004820152601060248201526f151bdbc81cdb585b1b08185b5bdd5b9d60821b60448201526064016105d9565b60008111801561127957506005548111155b6112bb5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081cd85b1948185b5bdd5b9d606a1b60448201526064016105d9565b600154600160a01b900460ff16156112e55760405162461bcd60e51b81526004016105d990611e2f565b60006112f0846118f6565b90508215806112ff5750826001145b156113165761131364e8d4a5100082611e0d565b90505b83600560008282546113289190611e70565b9091555050600b5461133a9085611e59565b3360009081526012602052604081208054909190611359908490611e83565b909155506000905083810361137a5750600e546001600160a01b03166113c4565b836001036113945750600f546001600160a01b03166113c4565b836002036113ae57506010546001600160a01b03166113c4565b836003036113c457506011546001600160a01b03165b60006001600160a01b03821663dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114449190611f30565b9050808311156114a05760405162461bcd60e51b815260206004820152602160248201527f4d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e636044820152606560f81b60648201526084016105d9565b60006001600160a01b038316336001546001600160a01b03166040516001600160a01b039283166024820152911660448201526064810186905260840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b179052516115129190611f49565b6000604051808303816000865af19150503d806000811461154f576040519150601f19603f3d011682016040523d82523d6000602084013e611554565b606091505b505090508061159c5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b60448201526064016105d9565b604080518581524260208201526001600160a01b03851691899133917f62e796e00a8e66154d78da76daae129635b4795a6e1b889f2caa6c5cea22ac68910160405180910390a450505050505050565b6001546001600160a01b031633146116165760405162461bcd60e51b81526004016105d990611da0565b6009548311801561162657504283115b6116725760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636c61696d2073746172742074696d65000000000000000060448201526064016105d9565b600b546005546003546116859190611e70565b61168f9190611e59565b8210156116d65760405162461bcd60e51b8152602060048201526015602482015274151bdad95b9cc81b195cdcc81d1a185b881cdbdb19605a1b60448201526064016105d9565b6001600160a01b0381166117215760405162461bcd60e51b81526020600482015260126024820152715a65726f20746f6b656e206164647265737360701b60448201526064016105d9565b600a54156117655760405162461bcd60e51b815260206004820152601160248201527010db185a5b48185b1c9958591e481cd95d607a1b60448201526064016105d9565b600a839055600c80546001600160a01b0319166001600160a01b0383169081179091556323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af11580156117e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118059190611dd5565b50505050565b6001546001600160a01b031633146118355760405162461bcd60e51b81526004016105d990611da0565b6001600160a01b03811661189a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d9565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806005546003546119099190611e70565b6007549091506119198483611e83565b1161192b5760025461112f9084611e59565b60075460009061193b8584611e83565b6119459190611e70565b600254600754919250908310611a35576006546007546119658186611e70565b61196f9190611e0d565b6119799190611e59565b6006546119869083611e83565b6119909190611e83565b90506000600754866119a29190611e0d565b9050806000036119c0576119b68287611e59565b9695505050505050565b8015611a1257816007546119d49190611e59565b6119de9086611e83565b9450600754866119ee9190611e70565b9550600654826119fe9190611e83565b915080611a0a81611f78565b9150506119c0565b8515611a2f57611a228287611e59565b611a2c9086611e83565b94505b50611aef565b80611a408387611e70565b611a4a9190611e59565b93506007548211611a89576064611a6282607d611e59565b611a6c9190611e0d565b611a769083611e59565b611a809085611e83565b95945050505050565b6007548210611ad057600654611a9f9082611e83565b905080600754611aaf9190611e59565b611ab99085611e83565b935060075482611ac99190611e70565b9150611a89565b8115611aef57600654611ae39082611e83565b9050611a768183611e59565b505050919050565b600154600160a01b900460ff16611b475760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016105d9565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b80471015611bd25760405162461bcd60e51b815260206004820152600b60248201526a4c6f772062616c616e636560a81b60448201526064016105d9565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c1f576040519150601f19603f3d011682016040523d82523d6000602084013e611c24565b606091505b50509050806106745760405162461bcd60e51b81526020600482015260126024820152711155120814185e5b595b9d0819985a5b195960721b60448201526064016105d9565b600154600160a01b900460ff1615611c945760405162461bcd60e51b81526004016105d990611e2f565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b773390565b80356001600160a01b0381168114611ce657600080fd5b919050565b60008060408385031215611cfe57600080fd5b611d0783611ccf565b946020939093013593505050565b600060208284031215611d2757600080fd5b5035919050565b600060208284031215611d4057600080fd5b61082f82611ccf565b60008060408385031215611d5c57600080fd5b50508035926020909101359150565b600080600060608486031215611d8057600080fd5b8335925060208401359150611d9760408501611ccf565b90509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611de757600080fd5b8151801515811461112f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600082611e2a57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b808202811582820484141761083257610832611df7565b8181038181111561083257610832611df7565b8082018082111561083257610832611df7565b805169ffffffffffffffffffff81168114611ce657600080fd5b600080600080600060a08688031215611ec857600080fd5b611ed186611e96565b9450602086015193506040860151925060608601519150611ef460808701611e96565b90509295509295909350565b80820260008212600160ff1b84141615611f1c57611f1c611df7565b818105831482151761083257610832611df7565b600060208284031215611f4257600080fd5b5051919050565b6000825160005b81811015611f6a5760208186018101518583015201611f50565b506000920191825250919050565b600081611f8757611f87611df7565b50600019019056fea2646970667358221220515059f862522500ba82be4aa0bc8f429dd2fc7081ed67c07d57c611f3250eb264736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000006328218000000000000000000000000000000000000000000000000000000000650955000000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c530000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
-----Decoded View---------------
Arg [0] : _startTime (uint256): 1663574400
Arg [1] : _endTime (uint256): 1695110400
Arg [2] : _oracle (address): 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
Arg [3] : _usdt (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
Arg [4] : _usdc (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [5] : _busd (address): 0x4Fabb145d64652a948d72533023f6E7A623C7C53
Arg [6] : _dai (address): 0x6B175474E89094C44Da98b954EedeAC495271d0F
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000063282180
Arg [1] : 0000000000000000000000000000000000000000000000000000000065095500
Arg [2] : 0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419
Arg [3] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [4] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [5] : 0000000000000000000000004fabb145d64652a948d72533023f6e7a623c7c53
Arg [6] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.