Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,689 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy NFT | 13975103 | 1109 days ago | IN | 0.05 ETH | 0.0051056 | ||||
Buy NFT | 13975103 | 1109 days ago | IN | 0.05 ETH | 0.00772798 | ||||
Buy NFT | 13975103 | 1109 days ago | IN | 0.05 ETH | 0.00514415 | ||||
Buy NFT | 13973845 | 1110 days ago | IN | 0.05 ETH | 0.00982806 | ||||
Buy NFT | 13973845 | 1110 days ago | IN | 0.05 ETH | 0.00982806 | ||||
Buy NFT | 13922753 | 1118 days ago | IN | 0.05 ETH | 0.01229466 | ||||
Buy NFT | 13922753 | 1118 days ago | IN | 0.05 ETH | 0.01115552 | ||||
Buy NFT | 13922753 | 1118 days ago | IN | 0.05 ETH | 0.01193245 | ||||
Buy NFT | 13922753 | 1118 days ago | IN | 0.05 ETH | 0.00899065 | ||||
Buy NFT | 13746131 | 1145 days ago | IN | 0.05 ETH | 0.00567103 | ||||
Buy NFT | 13746131 | 1145 days ago | IN | 0.05 ETH | 0.00589489 | ||||
Buy NFT | 13746131 | 1145 days ago | IN | 0.05 ETH | 0.00645175 | ||||
Finalization | 13691543 | 1154 days ago | IN | 0 ETH | 0.00391878 | ||||
Buy NFT | 13690683 | 1154 days ago | IN | 0.05 ETH | 0.0226671 | ||||
Buy NFT | 13686357 | 1155 days ago | IN | 0.05 ETH | 0.01634656 | ||||
Buy NFT | 13686090 | 1155 days ago | IN | 0.05 ETH | 0.01963121 | ||||
Buy NFT | 13685595 | 1155 days ago | IN | 0.05 ETH | 0.02651419 | ||||
Buy NFT | 13683479 | 1155 days ago | IN | 0.05 ETH | 0.0231463 | ||||
Buy NFT | 13683407 | 1155 days ago | IN | 0.1 ETH | 0.02616935 | ||||
Buy NFT | 13682795 | 1155 days ago | IN | 0.05 ETH | 0.01905891 | ||||
Buy NFT | 13682499 | 1155 days ago | IN | 0.55 ETH | 0.15442722 | ||||
Buy NFT | 13681973 | 1155 days ago | IN | 0.05 ETH | 0.01970492 | ||||
Buy NFT | 13681901 | 1155 days ago | IN | 0.05 ETH | 0.01431292 | ||||
Buy NFT | 13681617 | 1155 days ago | IN | 0.05 ETH | 0.0202182 | ||||
Buy NFT | 13681169 | 1155 days ago | IN | 0.05 ETH | 0.0252609 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
13690683 | 1154 days ago | 0.05 ETH | ||||
13686357 | 1155 days ago | 0.05 ETH | ||||
13686090 | 1155 days ago | 0.05 ETH | ||||
13685595 | 1155 days ago | 0.05 ETH | ||||
13683479 | 1155 days ago | 0.05 ETH | ||||
13683407 | 1155 days ago | 0.1 ETH | ||||
13682795 | 1155 days ago | 0.05 ETH | ||||
13682499 | 1155 days ago | 0.55 ETH | ||||
13681973 | 1155 days ago | 0.05 ETH | ||||
13681617 | 1155 days ago | 0.05 ETH | ||||
13681169 | 1155 days ago | 0.05 ETH | ||||
13681138 | 1155 days ago | 0.05 ETH | ||||
13680637 | 1155 days ago | 0.05 ETH | ||||
13680589 | 1155 days ago | 0.05 ETH | ||||
13679402 | 1156 days ago | 0.05 ETH | ||||
13674211 | 1156 days ago | 0.05 ETH | ||||
13673350 | 1157 days ago | 0.1 ETH | ||||
13672783 | 1157 days ago | 0.05 ETH | ||||
13671222 | 1157 days ago | 0.05 ETH | ||||
13669423 | 1157 days ago | 0.05 ETH | ||||
13666086 | 1158 days ago | 1 ETH | ||||
13664990 | 1158 days ago | 0.05 ETH | ||||
13662630 | 1158 days ago | 0.1 ETH | ||||
13662234 | 1158 days ago | 0.1 ETH | ||||
13658704 | 1159 days ago | 0.25 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BabyDinosNFTICO
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-20 */ // File: contracts/utils/SafeMath.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } } // File: contracts/IBabyDinosNFTToken.sol pragma experimental ABIEncoderV2; pragma solidity ^0.8.0; /** * @dev Required interface of an ERC721 compliant contract. */ interface IBabyDinosNFTToken { /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); function transferOwnership(address newOwner) external; function renounceMinter() external; /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); function mint(address recipient, uint256 mintAmount) external returns (bool); } // File: @openzeppelin/contracts/utils/Context.sol pragma solidity ^0.8.0; /* * @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; } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual 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; } } // File: @openzeppelin/contracts/security/ReentrancyGuard.sol pragma solidity ^0.8.0; /** * @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; } } // File: contracts/crowdsale/Crowdsale.sol pragma solidity ^0.8.0; /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale, * allowing investors to purchase tokens with ether. This contract implements * such functionality in its most fundamental form and can be extended to provide additional * functionality and/or custom behavior. * The external interface represents the basic interface for purchasing tokens, and conforms * the base architecture for crowdsales. It is *not* intended to be modified / overridden. * The internal interface conforms the extensible and modifiable surface of crowdsales. Override * the methods to add functionality. Consider using 'super' where appropriate to concatenate * behavior. */ contract Crowdsale is Context, ReentrancyGuard { using SafeMath for uint256; // The token being sold IBabyDinosNFTToken private _token; // Amount of wei raised uint256 private _weiRaised; // Address where funds are collected address payable private _wallet; // Private Sale price is 0.05ETH uint256 internal _rate = 50000000000000000; /** * Event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens */ event TokensPurchased(address indexed purchaser, address indexed beneficiary, uint256 mintAmount); /** * @param __wallet Address where collected funds will be forwarded to * @param __token Address of the token being sold */ constructor (address payable __wallet, IBabyDinosNFTToken __token) public { require(__wallet != address(0), "Crowdsale: wallet is the zero address"); require(address(__token) != address(0), "Crowdsale: token is the zero address"); _wallet = __wallet; _token = __token; } /** * @return the token being sold. */ function token() public view virtual returns (IBabyDinosNFTToken) { return _token; } /** * @return the address where funds are collected. */ function wallet() public view virtual returns (address payable) { return _wallet; } /** * @return the number of token units a buyer gets per wei. */ function rate() public view virtual returns (uint256) { return _rate; } /** * @return the amount of wei raised. */ function weiRaised() public view virtual returns (uint256) { return _weiRaised; } /** * @dev low level token purchase ***DO NOT OVERRIDE*** * This function has a non-reentrancy guard, so it shouldn't be called by * another `nonReentrant` function. * @param beneficiary Recipient of the token purchase **/ function buyNFT(address beneficiary, uint256 mintAmount) public nonReentrant payable { uint256 weiAmount = msg.value; _preValidatePurchase(beneficiary, mintAmount, weiAmount); // update state ETH Amount _weiRaised = _weiRaised.add(weiAmount); _processPurchase(beneficiary, mintAmount); emit TokensPurchased(_msgSender(), beneficiary, mintAmount); _updatePurchasingState(beneficiary, weiAmount); _forwardFunds(beneficiary, weiAmount); _postValidatePurchase(beneficiary, weiAmount); } /** * @dev Override for extensions that require an internal state to check for validity (current user contributions, * etc.) * @param beneficiary Address receiving the tokens * @param mintAmount total no of tokens to be minted * @param weiAmount no of ETH sent */ function _preValidatePurchase(address beneficiary, uint256 mintAmount, uint256 weiAmount) internal virtual { // solhint-disable-previous-line no-empty-blocks } /** * @dev Executed when a purchase has been validated and is ready to be executed. Doesn't necessarily emit/send * tokens. * @param beneficiary Address receiving the tokens * @param mintAmount Total mint tokens */ function _processPurchase(address beneficiary, uint256 mintAmount) internal virtual { _deliverTokens(beneficiary, mintAmount); } /** * @dev Source of tokens. Override this method to modify the way in which the crowdsale ultimately gets and sends * its tokens. * @param beneficiary Address performing the token purchase * @param mintAmount Total mint tokens */ function _deliverTokens(address beneficiary, uint256 mintAmount) internal { /*********** COMMENTED REQUIRE BECAUSE IT WAS RETURNING BOOLEAN AND WE WERE LISTENING FROM THE INTERFACE THAT IT WILL RETURN BOOLEAN BUT IT REVERTS OUR TRANSACTION**************** */ // Potentially dangerous assumption about the type of the token. require( token().mint(beneficiary, mintAmount) , "Crowdsale: transfer failed" ); } /** * @dev Override for extensions that require an internal state to check for validity (current user contributions, * etc.) * @param beneficiary Address receiving the tokens * @param weiAmount Value in wei involved in the purchase */ function _updatePurchasingState(address beneficiary, uint256 weiAmount) internal virtual { // solhint-disable-previous-line no-empty-blocks } /** * @dev Determines how ETH is stored/forwarded on purchases. */ function _forwardFunds(address /*beneficiary*/, uint256 /*weiAmount*/) internal virtual { _wallet.transfer(msg.value); } /** * @dev Validation of an executed purchase. Observe state and use revert statements to undo rollback when valid * conditions are not met. * @param beneficiary Address performing the token purchase * @param weiAmount Value in wei involved in the purchase */ function _postValidatePurchase(address beneficiary, uint256 weiAmount) internal view virtual { // solhint-disable-previous-line no-empty-blocks } } // File: contracts/crowdsale/validation/TimedCrowdsale.sol pragma solidity ^0.8.0; /** * @title TimedCrowdsale * @dev Crowdsale accepting contributions only within a time frame. */ abstract contract TimedCrowdsale is Crowdsale { using SafeMath for uint256; uint256 internal _openingTime; uint256 private _closingTime; /** * Event for crowdsale extending * @param newClosingTime new closing time * @param prevClosingTime old closing time */ event TimedCrowdsaleExtended(uint256 prevClosingTime, uint256 newClosingTime); /** * @dev Reverts if not in crowdsale time range. */ modifier onlyWhileOpen { require(isOpen(), "TimedCrowdsale: not open"); _; } /** * @dev Constructor, takes crowdsale opening and closing times. * @param __openingTime Crowdsale opening time * @param __closingTime Crowdsale closing time */ constructor (uint256 __openingTime, uint256 __closingTime) { // solhint-disable-next-line not-rely-on-time require(__openingTime >= block.timestamp, "TimedCrowdsale: opening time is before current time"); // solhint-disable-next-line max-line-length require(__closingTime > __openingTime, "TimedCrowdsale: opening time is not before closing time"); _openingTime = __openingTime; _closingTime = __closingTime; } /** * @return the crowdsale opening time. */ function openingTime() public view virtual returns (uint256) { return _openingTime; } /** * @return the crowdsale closing time. */ function closingTime() public view virtual returns (uint256) { return _closingTime; } /** * @return true if the crowdsale is open, false otherwise. */ function isOpen() public view virtual returns (bool) { // solhint-disable-next-line not-rely-on-time return block.timestamp >= _openingTime && block.timestamp <= _closingTime; } /** * @dev Checks whether the period in which the crowdsale is open has already elapsed. * @return Whether crowdsale period has elapsed */ function hasClosed() public view virtual returns (bool) { // solhint-disable-next-line not-rely-on-time return block.timestamp > _closingTime; } /** * @dev Extend crowdsale. * @param newClosingTime Crowdsale closing time */ function _extendTime(uint256 newClosingTime) internal virtual { require(!hasClosed(), "TimedCrowdsale: already closed"); // solhint-disable-next-line max-line-length require(newClosingTime > _closingTime, "TimedCrowdsale: new closing time is before current closing time"); emit TimedCrowdsaleExtended(_closingTime, newClosingTime); _closingTime = newClosingTime; } } // File: contracts/crowdsale/validation/CappedCrowdsale.sol pragma solidity ^0.8.0; /** * @title CappedCrowdsale * @dev Crowdsale with a limit for total contributions. */ abstract contract CappedCrowdsale is Crowdsale { using SafeMath for uint256; uint256 internal _cap; uint256 internal _minted; /** * @dev Constructor, takes maximum amount of wei accepted in the crowdsale. * @param cap Max amount of wei to be contributed */ constructor (uint256 cap) { require(cap > 0, "CappedCrowdsale: cap is 0"); _cap = cap; } /** * @return the cap of the crowdsale. */ function cap() public view returns (uint256) { return _cap; } /** * @return the minted of the crowdsale. */ function minted() public view returns (uint256) { return _minted; } /** * @dev Checks whether the cap has been reached. * @return Whether the cap was reached */ function capReached() public view returns (bool) { return _minted >= _cap; } function incrementMinted(uint256 amountOfTokens) internal virtual { _minted += amountOfTokens; } function currentMinted() public view returns (uint256) { return _minted; } } // File: contracts/BabyDinosNFTICO.sol pragma solidity ^0.8.0; contract BabyDinosNFTICO is Crowdsale, CappedCrowdsale, TimedCrowdsale, Ownable { using SafeMath for uint256; /* Track investor contributions */ uint256 public investorHardCap = 50; // 10 NFT mapping(address => uint256) public contributions; constructor( address payable _wallet, IBabyDinosNFTToken _token, uint256 _cap, uint256 _openingTime, uint256 _closingTime ) public Crowdsale(_wallet, _token) CappedCrowdsale(_cap) TimedCrowdsale(_openingTime, _closingTime) {} /** * @dev Returns the amount contributed so far by a sepecific user. * @param _beneficiary Address of contributor * @return User contribution so far */ function getUserContribution(address _beneficiary) public view returns (uint256) { return contributions[_beneficiary]; } /** * @dev Extend parent behavior requiring purchase to respect investor min/max funding cap. * @param _beneficiary Token purchaser */ function _preValidatePurchase( address _beneficiary, uint256 mintAmount, uint256 weiAmount ) internal virtual override onlyWhileOpen { // Check how many NFT are minted incrementMinted(mintAmount); require(currentMinted() <= _cap, "BabyDinosNFTICO: cap exceeded"); require( weiAmount.div(mintAmount) == rate(), "BabyDinosNFTICO: Invalid ETH Amount" ); // Validate inputs require(weiAmount != 0, "BabyDinosNFTICO: ETH sent 0"); require( _beneficiary != address(0), "BabyDinosNFTICO: beneficiary zero address" ); // Check max minting limit uint256 _existingContribution = contributions[_beneficiary]; uint256 _newContribution = _existingContribution.add(mintAmount); require( _newContribution <= investorHardCap, "BabyDinosNFTICO: No of Mint MaxCap" ); contributions[_beneficiary] = _newContribution; } function extendTime(uint256 closingTime) public virtual onlyOwner { _extendTime(closingTime); } /** * @dev If goal is Reached then change to change to ICO Stage * etc.) * @param _beneficiary Address receiving the tokens * @param _weiAmount Value in wei involved in the purchase */ function _updatePurchasingState(address _beneficiary, uint256 _weiAmount) internal virtual override { super._updatePurchasingState(_beneficiary, _weiAmount); } /** * @dev enables token transfers, called when owner calls finalize() */ function finalization() public onlyOwner { token().renounceMinter(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_wallet","type":"address"},{"internalType":"contract IBabyDinosNFTToken","name":"_token","type":"address"},{"internalType":"uint256","name":"_cap","type":"uint256"},{"internalType":"uint256","name":"_openingTime","type":"uint256"},{"internalType":"uint256","name":"_closingTime","type":"uint256"}],"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":"uint256","name":"prevClosingTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newClosingTime","type":"uint256"}],"name":"TimedCrowdsaleExtended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"purchaser","type":"address"},{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"TokensPurchased","type":"event"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"buyNFT","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"capReached","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"closingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"closingTime","type":"uint256"}],"name":"extendTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"}],"name":"getUserContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"investorHardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openingTime","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":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IBabyDinosNFTToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weiRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405266b1a2bc2ec500006004556032600a553480156200002157600080fd5b5060405162002271380380620022718339818101604052810190620000479190620003b0565b81818487876001600081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620000c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000be9062000583565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200013a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000131906200053f565b60405180910390fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506000811162000204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fb9062000561565b60405180910390fd5b80600581905550504282101562000252576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024990620004fb565b60405180910390fd5b81811162000297576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200028e906200051d565b60405180910390fd5b816007819055508060088190555050506000620002b96200036360201b60201c565b905080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050505050620007d4565b600033905090565b6000815190506200037c8162000786565b92915050565b6000815190506200039381620007a0565b92915050565b600081519050620003aa81620007ba565b92915050565b600080600080600060a08688031215620003cf57620003ce6200061c565b5b6000620003df888289016200036b565b9550506020620003f28882890162000382565b9450506040620004058882890162000399565b9350506060620004188882890162000399565b92505060806200042b8882890162000399565b9150509295509295909350565b600062000447603383620005a5565b9150620004548262000621565b604082019050919050565b60006200046e603783620005a5565b91506200047b8262000670565b604082019050919050565b600062000495602483620005a5565b9150620004a282620006bf565b604082019050919050565b6000620004bc601983620005a5565b9150620004c9826200070e565b602082019050919050565b6000620004e3602583620005a5565b9150620004f08262000737565b604082019050919050565b60006020820190508181036000830152620005168162000438565b9050919050565b6000602082019050818103600083015262000538816200045f565b9050919050565b600060208201905081810360008301526200055a8162000486565b9050919050565b600060208201905081810360008301526200057c81620004ad565b9050919050565b600060208201905081810360008301526200059e81620004d4565b9050919050565b600082825260208201905092915050565b6000620005c382620005f2565b9050919050565b6000620005d782620005f2565b9050919050565b6000620005eb82620005b6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f54696d656443726f776473616c653a206f70656e696e672074696d652069732060008201527f6265666f72652063757272656e742074696d6500000000000000000000000000602082015250565b7f54696d656443726f776473616c653a206f70656e696e672074696d652069732060008201527f6e6f74206265666f726520636c6f73696e672074696d65000000000000000000602082015250565b7f43726f776473616c653a20746f6b656e20697320746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f43617070656443726f776473616c653a20636170206973203000000000000000600082015250565b7f43726f776473616c653a2077616c6c657420697320746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6200079181620005ca565b81146200079d57600080fd5b50565b620007ab81620005de565b8114620007b757600080fd5b50565b620007c58162000612565b8114620007d157600080fd5b50565b611a8d80620007e46000396000f3fe60806040526004361061012a5760003560e01c8063715018a6116100ab578063b7a8807c1161006f578063b7a8807c1461038d578063b83855af146103b8578063bb8b2b47146103e3578063ed5db87414610420578063f2fde38b1461044b578063fc0c546a146104745761012a565b8063715018a6146102ef57806378abfbeb146103065780638da5cb5b1461031d578063a27aebbc14610348578063a82ba76f146103715761012a565b806347535d7b116100f257806347535d7b146102185780634b6753bc146102435780634f02c4201461026e5780634f93594514610299578063521eb273146102c45761012a565b80631515bc2b1461012f5780632c4e722e1461015a578063355274ea146101855780634042b66f146101b057806342e94c90146101db575b600080fd5b34801561013b57600080fd5b5061014461049f565b60405161015191906113e3565b60405180910390f35b34801561016657600080fd5b5061016f6104ab565b60405161017c9190611599565b60405180910390f35b34801561019157600080fd5b5061019a6104b5565b6040516101a79190611599565b60405180910390f35b3480156101bc57600080fd5b506101c56104bf565b6040516101d29190611599565b60405180910390f35b3480156101e757600080fd5b5061020260048036038101906101fd91906110ce565b6104c9565b60405161020f9190611599565b60405180910390f35b34801561022457600080fd5b5061022d6104e1565b60405161023a91906113e3565b60405180910390f35b34801561024f57600080fd5b506102586104fc565b6040516102659190611599565b60405180910390f35b34801561027a57600080fd5b50610283610506565b6040516102909190611599565b60405180910390f35b3480156102a557600080fd5b506102ae610510565b6040516102bb91906113e3565b60405180910390f35b3480156102d057600080fd5b506102d961051f565b6040516102e6919061139f565b60405180910390f35b3480156102fb57600080fd5b50610304610549565b005b34801561031257600080fd5b5061031b610686565b005b34801561032957600080fd5b5061033261076b565b60405161033f9190611384565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a9190611168565b610795565b005b61038b600480360381019061038691906110fb565b61081d565b005b34801561039957600080fd5b506103a2610937565b6040516103af9190611599565b60405180910390f35b3480156103c457600080fd5b506103cd610941565b6040516103da9190611599565b60405180910390f35b3480156103ef57600080fd5b5061040a600480360381019061040591906110ce565b61094b565b6040516104179190611599565b60405180910390f35b34801561042c57600080fd5b50610435610994565b6040516104429190611599565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d91906110ce565b61099a565b005b34801561048057600080fd5b50610489610b46565b60405161049691906113fe565b60405180910390f35b60006008544211905090565b6000600454905090565b6000600554905090565b6000600254905090565b600b6020528060005260406000206000915090505481565b600060075442101580156104f757506008544211155b905090565b6000600854905090565b6000600654905090565b60006005546006541015905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610551610b70565b73ffffffffffffffffffffffffffffffffffffffff1661056f61076b565b73ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906114d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61068e610b70565b73ffffffffffffffffffffffffffffffffffffffff166106ac61076b565b73ffffffffffffffffffffffffffffffffffffffff1614610702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f9906114d9565b60405180910390fd5b61070a610b46565b73ffffffffffffffffffffffffffffffffffffffff1663986502756040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561075157600080fd5b505af1158015610765573d6000803e3d6000fd5b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61079d610b70565b73ffffffffffffffffffffffffffffffffffffffff166107bb61076b565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610808906114d9565b60405180910390fd5b61081a81610b78565b50565b60026000541415610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90611579565b60405180910390fd5b6002600081905550600034905061087b838383610c49565b61089081600254610edf90919063ffffffff16565b6002819055506108a08383610ef5565b8273ffffffffffffffffffffffffffffffffffffffff166108bf610b70565b73ffffffffffffffffffffffffffffffffffffffff167ff9b4eb3e43eebbf559e9b96ceff1c786a7edab2938c7f5f80678197c2e0edba5846040516109049190611599565b60405180910390a36109168382610f03565b6109208382610f11565b61092a8382610f7e565b5060016000819055505050565b6000600754905090565b6000600654905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a5481565b6109a2610b70565b73ffffffffffffffffffffffffffffffffffffffff166109c061076b565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d906114d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90611419565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b610b8061049f565b15610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790611499565b60405180910390fd5b6008548111610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb906114b9565b60405180910390fd5b7f46711e222f558a07afd26e5e71b48ecb0a8b2cdcd40faeb1323e05e2c76a2f3260085482604051610c379291906115b4565b60405180910390a18060088190555050565b610c516104e1565b610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611439565b60405180910390fd5b610c9982610f82565b600554610ca4610941565b1115610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611519565b60405180910390fd5b610ced6104ab565b610d008383610f9e90919063ffffffff16565b14610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790611539565b60405180910390fd5b6000811415610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b906114f9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611479565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000610e4d8483610edf90919063ffffffff16565b9050600a54811115610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90611559565b60405180910390fd5b80600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b60008183610eed91906115ee565b905092915050565b610eff8282610fb4565b5050565b610f0d828261108b565b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610f79573d6000803e3d6000fd5b505050565b5050565b8060066000828254610f9491906115ee565b9250508190555050565b60008183610fac9190611644565b905092915050565b610fbc610b46565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401610ff69291906113ba565b602060405180830381600087803b15801561101057600080fd5b505af1158015611024573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611048919061113b565b611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90611459565b60405180910390fd5b5050565b5050565b60008135905061109e81611a12565b92915050565b6000815190506110b381611a29565b92915050565b6000813590506110c881611a40565b92915050565b6000602082840312156110e4576110e3611763565b5b60006110f28482850161108f565b91505092915050565b6000806040838503121561111257611111611763565b5b60006111208582860161108f565b9250506020611131858286016110b9565b9150509250929050565b60006020828403121561115157611150611763565b5b600061115f848285016110a4565b91505092915050565b60006020828403121561117e5761117d611763565b5b600061118c848285016110b9565b91505092915050565b61119e81611687565b82525050565b6111ad81611675565b82525050565b6111bc81611699565b82525050565b6111cb816116cf565b82525050565b60006111de6026836115dd565b91506111e982611768565b604082019050919050565b60006112016018836115dd565b915061120c826117b7565b602082019050919050565b6000611224601a836115dd565b915061122f826117e0565b602082019050919050565b60006112476029836115dd565b915061125282611809565b604082019050919050565b600061126a601e836115dd565b915061127582611858565b602082019050919050565b600061128d603f836115dd565b915061129882611881565b604082019050919050565b60006112b06020836115dd565b91506112bb826118d0565b602082019050919050565b60006112d3601b836115dd565b91506112de826118f9565b602082019050919050565b60006112f6601d836115dd565b915061130182611922565b602082019050919050565b60006113196023836115dd565b91506113248261194b565b604082019050919050565b600061133c6022836115dd565b91506113478261199a565b604082019050919050565b600061135f601f836115dd565b915061136a826119e9565b602082019050919050565b61137e816116c5565b82525050565b600060208201905061139960008301846111a4565b92915050565b60006020820190506113b46000830184611195565b92915050565b60006040820190506113cf60008301856111a4565b6113dc6020830184611375565b9392505050565b60006020820190506113f860008301846111b3565b92915050565b600060208201905061141360008301846111c2565b92915050565b60006020820190508181036000830152611432816111d1565b9050919050565b60006020820190508181036000830152611452816111f4565b9050919050565b6000602082019050818103600083015261147281611217565b9050919050565b600060208201905081810360008301526114928161123a565b9050919050565b600060208201905081810360008301526114b28161125d565b9050919050565b600060208201905081810360008301526114d281611280565b9050919050565b600060208201905081810360008301526114f2816112a3565b9050919050565b60006020820190508181036000830152611512816112c6565b9050919050565b60006020820190508181036000830152611532816112e9565b9050919050565b600060208201905081810360008301526115528161130c565b9050919050565b600060208201905081810360008301526115728161132f565b9050919050565b6000602082019050818103600083015261159281611352565b9050919050565b60006020820190506115ae6000830184611375565b92915050565b60006040820190506115c96000830185611375565b6115d66020830184611375565b9392505050565b600082825260208201905092915050565b60006115f9826116c5565b9150611604836116c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561163957611638611705565b5b828201905092915050565b600061164f826116c5565b915061165a836116c5565b92508261166a57611669611734565b5b828204905092915050565b6000611680826116a5565b9050919050565b6000611692826116a5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116da826116e1565b9050919050565b60006116ec826116f3565b9050919050565b60006116fe826116a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f54696d656443726f776473616c653a206e6f74206f70656e0000000000000000600082015250565b7f43726f776473616c653a207472616e73666572206661696c6564000000000000600082015250565b7f4261627944696e6f734e465449434f3a2062656e6566696369617279207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b7f54696d656443726f776473616c653a20616c726561647920636c6f7365640000600082015250565b7f54696d656443726f776473616c653a206e657720636c6f73696e672074696d6560008201527f206973206265666f72652063757272656e7420636c6f73696e672074696d6500602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4261627944696e6f734e465449434f3a204554482073656e7420300000000000600082015250565b7f4261627944696e6f734e465449434f3a20636170206578636565646564000000600082015250565b7f4261627944696e6f734e465449434f3a20496e76616c69642045544820416d6f60008201527f756e740000000000000000000000000000000000000000000000000000000000602082015250565b7f4261627944696e6f734e465449434f3a204e6f206f66204d696e74204d61784360008201527f6170000000000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b611a1b81611675565b8114611a2657600080fd5b50565b611a3281611699565b8114611a3d57600080fd5b50565b611a49816116c5565b8114611a5457600080fd5b5056fea2646970667358221220294ab6490345fdf7a300eb3f77138ad47e0399a604191f44adb444af6d97293b64736f6c63430008070033000000000000000000000000f9daccc7331d6d91627244ac303acaf71c39b06a000000000000000000000000df93e81f3231afaea101861ea3f6ca109fb075aa0000000000000000000000000000000000000000000000000000000000002b13000000000000000000000000000000000000000000000000000000006176f0a00000000000000000000000000000000000000000000000000000000074dd3af0
Deployed Bytecode
0x60806040526004361061012a5760003560e01c8063715018a6116100ab578063b7a8807c1161006f578063b7a8807c1461038d578063b83855af146103b8578063bb8b2b47146103e3578063ed5db87414610420578063f2fde38b1461044b578063fc0c546a146104745761012a565b8063715018a6146102ef57806378abfbeb146103065780638da5cb5b1461031d578063a27aebbc14610348578063a82ba76f146103715761012a565b806347535d7b116100f257806347535d7b146102185780634b6753bc146102435780634f02c4201461026e5780634f93594514610299578063521eb273146102c45761012a565b80631515bc2b1461012f5780632c4e722e1461015a578063355274ea146101855780634042b66f146101b057806342e94c90146101db575b600080fd5b34801561013b57600080fd5b5061014461049f565b60405161015191906113e3565b60405180910390f35b34801561016657600080fd5b5061016f6104ab565b60405161017c9190611599565b60405180910390f35b34801561019157600080fd5b5061019a6104b5565b6040516101a79190611599565b60405180910390f35b3480156101bc57600080fd5b506101c56104bf565b6040516101d29190611599565b60405180910390f35b3480156101e757600080fd5b5061020260048036038101906101fd91906110ce565b6104c9565b60405161020f9190611599565b60405180910390f35b34801561022457600080fd5b5061022d6104e1565b60405161023a91906113e3565b60405180910390f35b34801561024f57600080fd5b506102586104fc565b6040516102659190611599565b60405180910390f35b34801561027a57600080fd5b50610283610506565b6040516102909190611599565b60405180910390f35b3480156102a557600080fd5b506102ae610510565b6040516102bb91906113e3565b60405180910390f35b3480156102d057600080fd5b506102d961051f565b6040516102e6919061139f565b60405180910390f35b3480156102fb57600080fd5b50610304610549565b005b34801561031257600080fd5b5061031b610686565b005b34801561032957600080fd5b5061033261076b565b60405161033f9190611384565b60405180910390f35b34801561035457600080fd5b5061036f600480360381019061036a9190611168565b610795565b005b61038b600480360381019061038691906110fb565b61081d565b005b34801561039957600080fd5b506103a2610937565b6040516103af9190611599565b60405180910390f35b3480156103c457600080fd5b506103cd610941565b6040516103da9190611599565b60405180910390f35b3480156103ef57600080fd5b5061040a600480360381019061040591906110ce565b61094b565b6040516104179190611599565b60405180910390f35b34801561042c57600080fd5b50610435610994565b6040516104429190611599565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d91906110ce565b61099a565b005b34801561048057600080fd5b50610489610b46565b60405161049691906113fe565b60405180910390f35b60006008544211905090565b6000600454905090565b6000600554905090565b6000600254905090565b600b6020528060005260406000206000915090505481565b600060075442101580156104f757506008544211155b905090565b6000600854905090565b6000600654905090565b60006005546006541015905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610551610b70565b73ffffffffffffffffffffffffffffffffffffffff1661056f61076b565b73ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc906114d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61068e610b70565b73ffffffffffffffffffffffffffffffffffffffff166106ac61076b565b73ffffffffffffffffffffffffffffffffffffffff1614610702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f9906114d9565b60405180910390fd5b61070a610b46565b73ffffffffffffffffffffffffffffffffffffffff1663986502756040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561075157600080fd5b505af1158015610765573d6000803e3d6000fd5b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61079d610b70565b73ffffffffffffffffffffffffffffffffffffffff166107bb61076b565b73ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610808906114d9565b60405180910390fd5b61081a81610b78565b50565b60026000541415610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90611579565b60405180910390fd5b6002600081905550600034905061087b838383610c49565b61089081600254610edf90919063ffffffff16565b6002819055506108a08383610ef5565b8273ffffffffffffffffffffffffffffffffffffffff166108bf610b70565b73ffffffffffffffffffffffffffffffffffffffff167ff9b4eb3e43eebbf559e9b96ceff1c786a7edab2938c7f5f80678197c2e0edba5846040516109049190611599565b60405180910390a36109168382610f03565b6109208382610f11565b61092a8382610f7e565b5060016000819055505050565b6000600754905090565b6000600654905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a5481565b6109a2610b70565b73ffffffffffffffffffffffffffffffffffffffff166109c061076b565b73ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d906114d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d90611419565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b610b8061049f565b15610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790611499565b60405180910390fd5b6008548111610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb906114b9565b60405180910390fd5b7f46711e222f558a07afd26e5e71b48ecb0a8b2cdcd40faeb1323e05e2c76a2f3260085482604051610c379291906115b4565b60405180910390a18060088190555050565b610c516104e1565b610c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8790611439565b60405180910390fd5b610c9982610f82565b600554610ca4610941565b1115610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90611519565b60405180910390fd5b610ced6104ab565b610d008383610f9e90919063ffffffff16565b14610d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3790611539565b60405180910390fd5b6000811415610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b906114f9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611479565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000610e4d8483610edf90919063ffffffff16565b9050600a54811115610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90611559565b60405180910390fd5b80600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b60008183610eed91906115ee565b905092915050565b610eff8282610fb4565b5050565b610f0d828261108b565b5050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610f79573d6000803e3d6000fd5b505050565b5050565b8060066000828254610f9491906115ee565b9250508190555050565b60008183610fac9190611644565b905092915050565b610fbc610b46565b73ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401610ff69291906113ba565b602060405180830381600087803b15801561101057600080fd5b505af1158015611024573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611048919061113b565b611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90611459565b60405180910390fd5b5050565b5050565b60008135905061109e81611a12565b92915050565b6000815190506110b381611a29565b92915050565b6000813590506110c881611a40565b92915050565b6000602082840312156110e4576110e3611763565b5b60006110f28482850161108f565b91505092915050565b6000806040838503121561111257611111611763565b5b60006111208582860161108f565b9250506020611131858286016110b9565b9150509250929050565b60006020828403121561115157611150611763565b5b600061115f848285016110a4565b91505092915050565b60006020828403121561117e5761117d611763565b5b600061118c848285016110b9565b91505092915050565b61119e81611687565b82525050565b6111ad81611675565b82525050565b6111bc81611699565b82525050565b6111cb816116cf565b82525050565b60006111de6026836115dd565b91506111e982611768565b604082019050919050565b60006112016018836115dd565b915061120c826117b7565b602082019050919050565b6000611224601a836115dd565b915061122f826117e0565b602082019050919050565b60006112476029836115dd565b915061125282611809565b604082019050919050565b600061126a601e836115dd565b915061127582611858565b602082019050919050565b600061128d603f836115dd565b915061129882611881565b604082019050919050565b60006112b06020836115dd565b91506112bb826118d0565b602082019050919050565b60006112d3601b836115dd565b91506112de826118f9565b602082019050919050565b60006112f6601d836115dd565b915061130182611922565b602082019050919050565b60006113196023836115dd565b91506113248261194b565b604082019050919050565b600061133c6022836115dd565b91506113478261199a565b604082019050919050565b600061135f601f836115dd565b915061136a826119e9565b602082019050919050565b61137e816116c5565b82525050565b600060208201905061139960008301846111a4565b92915050565b60006020820190506113b46000830184611195565b92915050565b60006040820190506113cf60008301856111a4565b6113dc6020830184611375565b9392505050565b60006020820190506113f860008301846111b3565b92915050565b600060208201905061141360008301846111c2565b92915050565b60006020820190508181036000830152611432816111d1565b9050919050565b60006020820190508181036000830152611452816111f4565b9050919050565b6000602082019050818103600083015261147281611217565b9050919050565b600060208201905081810360008301526114928161123a565b9050919050565b600060208201905081810360008301526114b28161125d565b9050919050565b600060208201905081810360008301526114d281611280565b9050919050565b600060208201905081810360008301526114f2816112a3565b9050919050565b60006020820190508181036000830152611512816112c6565b9050919050565b60006020820190508181036000830152611532816112e9565b9050919050565b600060208201905081810360008301526115528161130c565b9050919050565b600060208201905081810360008301526115728161132f565b9050919050565b6000602082019050818103600083015261159281611352565b9050919050565b60006020820190506115ae6000830184611375565b92915050565b60006040820190506115c96000830185611375565b6115d66020830184611375565b9392505050565b600082825260208201905092915050565b60006115f9826116c5565b9150611604836116c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561163957611638611705565b5b828201905092915050565b600061164f826116c5565b915061165a836116c5565b92508261166a57611669611734565b5b828204905092915050565b6000611680826116a5565b9050919050565b6000611692826116a5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006116da826116e1565b9050919050565b60006116ec826116f3565b9050919050565b60006116fe826116a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f54696d656443726f776473616c653a206e6f74206f70656e0000000000000000600082015250565b7f43726f776473616c653a207472616e73666572206661696c6564000000000000600082015250565b7f4261627944696e6f734e465449434f3a2062656e6566696369617279207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b7f54696d656443726f776473616c653a20616c726561647920636c6f7365640000600082015250565b7f54696d656443726f776473616c653a206e657720636c6f73696e672074696d6560008201527f206973206265666f72652063757272656e7420636c6f73696e672074696d6500602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4261627944696e6f734e465449434f3a204554482073656e7420300000000000600082015250565b7f4261627944696e6f734e465449434f3a20636170206578636565646564000000600082015250565b7f4261627944696e6f734e465449434f3a20496e76616c69642045544820416d6f60008201527f756e740000000000000000000000000000000000000000000000000000000000602082015250565b7f4261627944696e6f734e465449434f3a204e6f206f66204d696e74204d61784360008201527f6170000000000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b611a1b81611675565b8114611a2657600080fd5b50565b611a3281611699565b8114611a3d57600080fd5b50565b611a49816116c5565b8114611a5457600080fd5b5056fea2646970667358221220294ab6490345fdf7a300eb3f77138ad47e0399a604191f44adb444af6d97293b64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f9daccc7331d6d91627244ac303acaf71c39b06a000000000000000000000000df93e81f3231afaea101861ea3f6ca109fb075aa0000000000000000000000000000000000000000000000000000000000002b13000000000000000000000000000000000000000000000000000000006176f0a00000000000000000000000000000000000000000000000000000000074dd3af0
-----Decoded View---------------
Arg [0] : _wallet (address): 0xF9daccc7331d6D91627244aC303ACAF71c39B06A
Arg [1] : _token (address): 0xDf93E81F3231AfAEA101861ea3F6Ca109fB075Aa
Arg [2] : _cap (uint256): 11027
Arg [3] : _openingTime (uint256): 1635184800
Arg [4] : _closingTime (uint256): 1960655600
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000f9daccc7331d6d91627244ac303acaf71c39b06a
Arg [1] : 000000000000000000000000df93e81f3231afaea101861ea3f6ca109fb075aa
Arg [2] : 0000000000000000000000000000000000000000000000000000000000002b13
Arg [3] : 000000000000000000000000000000000000000000000000000000006176f0a0
Arg [4] : 0000000000000000000000000000000000000000000000000000000074dd3af0
Deployed Bytecode Sourcemap
24136:2939:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22033:167;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15935:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23404:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16088:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24375:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21665:200;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21473:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23550:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23755:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15748:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10352:148;;;;;;;;;;;;;:::i;:::-;;26988:84;;;;;;;;;;;;;:::i;:::-;;9701:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26343:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16448:576;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21304:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23972:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24938:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24323:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10655:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15569:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22033:167;22083:4;22180:12;;22162:15;:30;22155:37;;22033:167;:::o;15935:85::-;15980:7;16007:5;;16000:12;;15935:85;:::o;23404:75::-;23440:7;23467:4;;23460:11;;23404:75;:::o;16088:95::-;16138:7;16165:10;;16158:17;;16088:95;:::o;24375:48::-;;;;;;;;;;;;;;;;;:::o;21665:200::-;21712:4;21810:12;;21791:15;:31;;:66;;;;;21845:12;;21826:15;:31;;21791:66;21784:73;;21665:200;:::o;21473:99::-;21525:7;21552:12;;21545:19;;21473:99;:::o;23550:81::-;23589:7;23616;;23609:14;;23550:81;:::o;23755:90::-;23798:4;23833;;23822:7;;:15;;23815:22;;23755:90;:::o;15748:97::-;15795:15;15830:7;;;;;;;;;;;15823:14;;15748:97;:::o;10352:148::-;9932:12;:10;:12::i;:::-;9921:23;;:7;:5;:7::i;:::-;:23;;;9913:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10459:1:::1;10422:40;;10443:6;;;;;;;;;;;10422:40;;;;;;;;;;;;10490:1;10473:6;;:19;;;;;;;;;;;;;;;;;;10352:148::o:0;26988:84::-;9932:12;:10;:12::i;:::-;9921:23;;:7;:5;:7::i;:::-;:23;;;9913:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27040:7:::1;:5;:7::i;:::-;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;26988:84::o:0;9701:87::-;9747:7;9774:6;;;;;;;;;;;9767:13;;9701:87;:::o;26343:109::-;9932:12;:10;:12::i;:::-;9921:23;;:7;:5;:7::i;:::-;:23;;;9913:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26420:24:::1;26432:11;26420;:24::i;:::-;26343:109:::0;:::o;16448:576::-;12653:1;13250:7;;:19;;13242:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;12653:1;13383:7;:18;;;;16544:17:::1;16564:9;16544:29;;16584:56;16605:11;16618:10;16630:9;16584:20;:56::i;:::-;16702:25;16717:9;16702:10;;:14;;:25;;;;:::i;:::-;16689:10;:38;;;;16740:41;16757:11;16770:10;16740:16;:41::i;:::-;16827:11;16797:54;;16813:12;:10;:12::i;:::-;16797:54;;;16840:10;16797:54;;;;;;:::i;:::-;;;;;;;;16864:46;16887:11;16900:9;16864:22;:46::i;:::-;16923:37;16937:11;16950:9;16923:13;:37::i;:::-;16971:45;16993:11;17006:9;16971:21;:45::i;:::-;16533:491;12609:1:::0;13562:7;:22;;;;16448:576;;:::o;21304:99::-;21356:7;21383:12;;21376:19;;21304:99;:::o;23972:88::-;24018:7;24045;;24038:14;;23972:88;:::o;24938:166::-;25037:7;25069:13;:27;25083:12;25069:27;;;;;;;;;;;;;;;;25062:34;;24938:166;;;:::o;24323:35::-;;;;:::o;10655:244::-;9932:12;:10;:12::i;:::-;9921:23;;:7;:5;:7::i;:::-;:23;;;9913:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10764:1:::1;10744:22;;:8;:22;;;;10736:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10854:8;10825:38;;10846:6;;;;;;;;;;;10825:38;;;;;;;;;;;;10883:8;10874:6;;:17;;;;;;;;;;;;;;;;;;10655:244:::0;:::o;15569:98::-;15615:18;15653:6;;;;;;;;;;;15646:13;;15569:98;:::o;8259:::-;8312:7;8339:10;8332:17;;8259:98;:::o;22310:416::-;22392:11;:9;:11::i;:::-;22391:12;22383:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;22528:12;;22511:14;:29;22503:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;22626:52;22649:12;;22663:14;22626:52;;;;;;;:::i;:::-;;;;;;;;22704:14;22689:12;:29;;;;22310:416;:::o;25270:1065::-;20507:8;:6;:8::i;:::-;20499:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;25490:27:::1;25506:10;25490:15;:27::i;:::-;25555:4;;25536:15;:13;:15::i;:::-;:23;;25528:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;25655:6;:4;:6::i;:::-;25626:25;25640:10;25626:9;:13;;:25;;;;:::i;:::-;:35;25604:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;25786:1;25773:9;:14;;25765:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;25876:1;25852:26;;:12;:26;;;;25830:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;26006:29;26038:13;:27;26052:12;26038:27;;;;;;;;;;;;;;;;26006:59;;26076:24;26103:37;26129:10;26103:21;:25;;:37;;;;:::i;:::-;26076:64;;26193:15;;26173:16;:35;;26151:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;26311:16;26281:13;:27;26295:12;26281:27;;;;;;;;;;;;;;;:46;;;;25435:900;;25270:1065:::0;;;:::o;2644:98::-;2702:7;2733:1;2729;:5;;;;:::i;:::-;2722:12;;2644:98;;;;:::o;17768:142::-;17863:39;17878:11;17891:10;17863:14;:39::i;:::-;17768:142;;:::o;26680:209::-;26827:54;26856:12;26870:10;26827:28;:54::i;:::-;26680:209;;:::o;19195:134::-;19294:7;;;;;;;;;;;:16;;:27;19311:9;19294:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19195:134;;:::o;19632:159::-;;;:::o;23853:111::-;23942:14;23930:7;;:26;;;;;;;:::i;:::-;;;;;;;;23853:111;:::o;3781:98::-;3839:7;3870:1;3866;:5;;;;:::i;:::-;3859:12;;3781:98;;;;:::o;18184:486::-;18570:7;:5;:7::i;:::-;:12;;;18583:11;18596:10;18570:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18548:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;18184:486;;:::o;18948:155::-;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;152:137;;;;:::o;295:139::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;295:139;;;;:::o;440:329::-;499:6;548:2;536:9;527:7;523:23;519:32;516:119;;;554:79;;:::i;:::-;516:119;674:1;699:53;744:7;735:6;724:9;720:22;699:53;:::i;:::-;689:63;;645:117;440:329;;;;:::o;775:474::-;843:6;851;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:53;1096:7;1087:6;1076:9;1072:22;1051:53;:::i;:::-;1041:63;;997:117;1153:2;1179:53;1224:7;1215:6;1204:9;1200:22;1179:53;:::i;:::-;1169:63;;1124:118;775:474;;;;;:::o;1255:345::-;1322:6;1371:2;1359:9;1350:7;1346:23;1342:32;1339:119;;;1377:79;;:::i;:::-;1339:119;1497:1;1522:61;1575:7;1566:6;1555:9;1551:22;1522:61;:::i;:::-;1512:71;;1468:125;1255:345;;;;:::o;1606:329::-;1665:6;1714:2;1702:9;1693:7;1689:23;1685:32;1682:119;;;1720:79;;:::i;:::-;1682:119;1840:1;1865:53;1910:7;1901:6;1890:9;1886:22;1865:53;:::i;:::-;1855:63;;1811:117;1606:329;;;;:::o;1941:142::-;2044:32;2070:5;2044:32;:::i;:::-;2039:3;2032:45;1941:142;;:::o;2089:118::-;2176:24;2194:5;2176:24;:::i;:::-;2171:3;2164:37;2089:118;;:::o;2213:109::-;2294:21;2309:5;2294:21;:::i;:::-;2289:3;2282:34;2213:109;;:::o;2328:183::-;2441:63;2498:5;2441:63;:::i;:::-;2436:3;2429:76;2328:183;;:::o;2517:366::-;2659:3;2680:67;2744:2;2739:3;2680:67;:::i;:::-;2673:74;;2756:93;2845:3;2756:93;:::i;:::-;2874:2;2869:3;2865:12;2858:19;;2517:366;;;:::o;2889:::-;3031:3;3052:67;3116:2;3111:3;3052:67;:::i;:::-;3045:74;;3128:93;3217:3;3128:93;:::i;:::-;3246:2;3241:3;3237:12;3230:19;;2889:366;;;:::o;3261:::-;3403:3;3424:67;3488:2;3483:3;3424:67;:::i;:::-;3417:74;;3500:93;3589:3;3500:93;:::i;:::-;3618:2;3613:3;3609:12;3602:19;;3261:366;;;:::o;3633:::-;3775:3;3796:67;3860:2;3855:3;3796:67;:::i;:::-;3789:74;;3872:93;3961:3;3872:93;:::i;:::-;3990:2;3985:3;3981:12;3974:19;;3633:366;;;:::o;4005:::-;4147:3;4168:67;4232:2;4227:3;4168:67;:::i;:::-;4161:74;;4244:93;4333:3;4244:93;:::i;:::-;4362:2;4357:3;4353:12;4346:19;;4005:366;;;:::o;4377:::-;4519:3;4540:67;4604:2;4599:3;4540:67;:::i;:::-;4533:74;;4616:93;4705:3;4616:93;:::i;:::-;4734:2;4729:3;4725:12;4718:19;;4377:366;;;:::o;4749:::-;4891:3;4912:67;4976:2;4971:3;4912:67;:::i;:::-;4905:74;;4988:93;5077:3;4988:93;:::i;:::-;5106:2;5101:3;5097:12;5090:19;;4749:366;;;:::o;5121:::-;5263:3;5284:67;5348:2;5343:3;5284:67;:::i;:::-;5277:74;;5360:93;5449:3;5360:93;:::i;:::-;5478:2;5473:3;5469:12;5462:19;;5121:366;;;:::o;5493:::-;5635:3;5656:67;5720:2;5715:3;5656:67;:::i;:::-;5649:74;;5732:93;5821:3;5732:93;:::i;:::-;5850:2;5845:3;5841:12;5834:19;;5493:366;;;:::o;5865:::-;6007:3;6028:67;6092:2;6087:3;6028:67;:::i;:::-;6021:74;;6104:93;6193:3;6104:93;:::i;:::-;6222:2;6217:3;6213:12;6206:19;;5865:366;;;:::o;6237:::-;6379:3;6400:67;6464:2;6459:3;6400:67;:::i;:::-;6393:74;;6476:93;6565:3;6476:93;:::i;:::-;6594:2;6589:3;6585:12;6578:19;;6237:366;;;:::o;6609:::-;6751:3;6772:67;6836:2;6831:3;6772:67;:::i;:::-;6765:74;;6848:93;6937:3;6848:93;:::i;:::-;6966:2;6961:3;6957:12;6950:19;;6609:366;;;:::o;6981:118::-;7068:24;7086:5;7068:24;:::i;:::-;7063:3;7056:37;6981:118;;:::o;7105:222::-;7198:4;7236:2;7225:9;7221:18;7213:26;;7249:71;7317:1;7306:9;7302:17;7293:6;7249:71;:::i;:::-;7105:222;;;;:::o;7333:254::-;7442:4;7480:2;7469:9;7465:18;7457:26;;7493:87;7577:1;7566:9;7562:17;7553:6;7493:87;:::i;:::-;7333:254;;;;:::o;7593:332::-;7714:4;7752:2;7741:9;7737:18;7729:26;;7765:71;7833:1;7822:9;7818:17;7809:6;7765:71;:::i;:::-;7846:72;7914:2;7903:9;7899:18;7890:6;7846:72;:::i;:::-;7593:332;;;;;:::o;7931:210::-;8018:4;8056:2;8045:9;8041:18;8033:26;;8069:65;8131:1;8120:9;8116:17;8107:6;8069:65;:::i;:::-;7931:210;;;;:::o;8147:274::-;8266:4;8304:2;8293:9;8289:18;8281:26;;8317:97;8411:1;8400:9;8396:17;8387:6;8317:97;:::i;:::-;8147:274;;;;:::o;8427:419::-;8593:4;8631:2;8620:9;8616:18;8608:26;;8680:9;8674:4;8670:20;8666:1;8655:9;8651:17;8644:47;8708:131;8834:4;8708:131;:::i;:::-;8700:139;;8427:419;;;:::o;8852:::-;9018:4;9056:2;9045:9;9041:18;9033:26;;9105:9;9099:4;9095:20;9091:1;9080:9;9076:17;9069:47;9133:131;9259:4;9133:131;:::i;:::-;9125:139;;8852:419;;;:::o;9277:::-;9443:4;9481:2;9470:9;9466:18;9458:26;;9530:9;9524:4;9520:20;9516:1;9505:9;9501:17;9494:47;9558:131;9684:4;9558:131;:::i;:::-;9550:139;;9277:419;;;:::o;9702:::-;9868:4;9906:2;9895:9;9891:18;9883:26;;9955:9;9949:4;9945:20;9941:1;9930:9;9926:17;9919:47;9983:131;10109:4;9983:131;:::i;:::-;9975:139;;9702:419;;;:::o;10127:::-;10293:4;10331:2;10320:9;10316:18;10308:26;;10380:9;10374:4;10370:20;10366:1;10355:9;10351:17;10344:47;10408:131;10534:4;10408:131;:::i;:::-;10400:139;;10127:419;;;:::o;10552:::-;10718:4;10756:2;10745:9;10741:18;10733:26;;10805:9;10799:4;10795:20;10791:1;10780:9;10776:17;10769:47;10833:131;10959:4;10833:131;:::i;:::-;10825:139;;10552:419;;;:::o;10977:::-;11143:4;11181:2;11170:9;11166:18;11158:26;;11230:9;11224:4;11220:20;11216:1;11205:9;11201:17;11194:47;11258:131;11384:4;11258:131;:::i;:::-;11250:139;;10977:419;;;:::o;11402:::-;11568:4;11606:2;11595:9;11591:18;11583:26;;11655:9;11649:4;11645:20;11641:1;11630:9;11626:17;11619:47;11683:131;11809:4;11683:131;:::i;:::-;11675:139;;11402:419;;;:::o;11827:::-;11993:4;12031:2;12020:9;12016:18;12008:26;;12080:9;12074:4;12070:20;12066:1;12055:9;12051:17;12044:47;12108:131;12234:4;12108:131;:::i;:::-;12100:139;;11827:419;;;:::o;12252:::-;12418:4;12456:2;12445:9;12441:18;12433:26;;12505:9;12499:4;12495:20;12491:1;12480:9;12476:17;12469:47;12533:131;12659:4;12533:131;:::i;:::-;12525:139;;12252:419;;;:::o;12677:::-;12843:4;12881:2;12870:9;12866:18;12858:26;;12930:9;12924:4;12920:20;12916:1;12905:9;12901:17;12894:47;12958:131;13084:4;12958:131;:::i;:::-;12950:139;;12677:419;;;:::o;13102:::-;13268:4;13306:2;13295:9;13291:18;13283:26;;13355:9;13349:4;13345:20;13341:1;13330:9;13326:17;13319:47;13383:131;13509:4;13383:131;:::i;:::-;13375:139;;13102:419;;;:::o;13527:222::-;13620:4;13658:2;13647:9;13643:18;13635:26;;13671:71;13739:1;13728:9;13724:17;13715:6;13671:71;:::i;:::-;13527:222;;;;:::o;13755:332::-;13876:4;13914:2;13903:9;13899:18;13891:26;;13927:71;13995:1;13984:9;13980:17;13971:6;13927:71;:::i;:::-;14008:72;14076:2;14065:9;14061:18;14052:6;14008:72;:::i;:::-;13755:332;;;;;:::o;14174:169::-;14258:11;14292:6;14287:3;14280:19;14332:4;14327:3;14323:14;14308:29;;14174:169;;;;:::o;14349:305::-;14389:3;14408:20;14426:1;14408:20;:::i;:::-;14403:25;;14442:20;14460:1;14442:20;:::i;:::-;14437:25;;14596:1;14528:66;14524:74;14521:1;14518:81;14515:107;;;14602:18;;:::i;:::-;14515:107;14646:1;14643;14639:9;14632:16;;14349:305;;;;:::o;14660:185::-;14700:1;14717:20;14735:1;14717:20;:::i;:::-;14712:25;;14751:20;14769:1;14751:20;:::i;:::-;14746:25;;14790:1;14780:35;;14795:18;;:::i;:::-;14780:35;14837:1;14834;14830:9;14825:14;;14660:185;;;;:::o;14851:96::-;14888:7;14917:24;14935:5;14917:24;:::i;:::-;14906:35;;14851:96;;;:::o;14953:104::-;14998:7;15027:24;15045:5;15027:24;:::i;:::-;15016:35;;14953:104;;;:::o;15063:90::-;15097:7;15140:5;15133:13;15126:21;15115:32;;15063:90;;;:::o;15159:126::-;15196:7;15236:42;15229:5;15225:54;15214:65;;15159:126;;;:::o;15291:77::-;15328:7;15357:5;15346:16;;15291:77;;;:::o;15374:152::-;15450:9;15483:37;15514:5;15483:37;:::i;:::-;15470:50;;15374:152;;;:::o;15532:126::-;15582:9;15615:37;15646:5;15615:37;:::i;:::-;15602:50;;15532:126;;;:::o;15664:113::-;15714:9;15747:24;15765:5;15747:24;:::i;:::-;15734:37;;15664:113;;;:::o;15783:180::-;15831:77;15828:1;15821:88;15928:4;15925:1;15918:15;15952:4;15949:1;15942:15;15969:180;16017:77;16014:1;16007:88;16114:4;16111:1;16104:15;16138:4;16135:1;16128:15;16278:117;16387:1;16384;16377:12;16401:225;16541:34;16537:1;16529:6;16525:14;16518:58;16610:8;16605:2;16597:6;16593:15;16586:33;16401:225;:::o;16632:174::-;16772:26;16768:1;16760:6;16756:14;16749:50;16632:174;:::o;16812:176::-;16952:28;16948:1;16940:6;16936:14;16929:52;16812:176;:::o;16994:228::-;17134:34;17130:1;17122:6;17118:14;17111:58;17203:11;17198:2;17190:6;17186:15;17179:36;16994:228;:::o;17228:180::-;17368:32;17364:1;17356:6;17352:14;17345:56;17228:180;:::o;17414:250::-;17554:34;17550:1;17542:6;17538:14;17531:58;17623:33;17618:2;17610:6;17606:15;17599:58;17414:250;:::o;17670:182::-;17810:34;17806:1;17798:6;17794:14;17787:58;17670:182;:::o;17858:177::-;17998:29;17994:1;17986:6;17982:14;17975:53;17858:177;:::o;18041:179::-;18181:31;18177:1;18169:6;18165:14;18158:55;18041:179;:::o;18226:222::-;18366:34;18362:1;18354:6;18350:14;18343:58;18435:5;18430:2;18422:6;18418:15;18411:30;18226:222;:::o;18454:221::-;18594:34;18590:1;18582:6;18578:14;18571:58;18663:4;18658:2;18650:6;18646:15;18639:29;18454:221;:::o;18681:181::-;18821:33;18817:1;18809:6;18805:14;18798:57;18681:181;:::o;18868:122::-;18941:24;18959:5;18941:24;:::i;:::-;18934:5;18931:35;18921:63;;18980:1;18977;18970:12;18921:63;18868:122;:::o;18996:116::-;19066:21;19081:5;19066:21;:::i;:::-;19059:5;19056:32;19046:60;;19102:1;19099;19092:12;19046:60;18996:116;:::o;19118:122::-;19191:24;19209:5;19191:24;:::i;:::-;19184:5;19181:35;19171:63;;19230:1;19227;19220:12;19171:63;19118:122;:::o
Swarm Source
ipfs://294ab6490345fdf7a300eb3f77138ad47e0399a604191f44adb444af6d97293b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.