Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 218 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Claim Allocation | 11962679 | 1837 days ago | IN | 0 ETH | 0.00679821 | ||||
| Claim Allocation | 11904827 | 1846 days ago | IN | 0 ETH | 0.01030176 | ||||
| Claim Allocation | 11904710 | 1846 days ago | IN | 0 ETH | 0.01133193 | ||||
| Claim Allocation | 11904457 | 1846 days ago | IN | 0 ETH | 0.01493755 | ||||
| Claim Allocation | 11899812 | 1847 days ago | IN | 0 ETH | 0.00927288 | ||||
| Claim Allocation | 11896820 | 1847 days ago | IN | 0 ETH | 0.01725786 | ||||
| Claim Allocation | 11885016 | 1849 days ago | IN | 0 ETH | 0.01193287 | ||||
| Claim Allocation | 11882679 | 1849 days ago | IN | 0 ETH | 0.01348311 | ||||
| Claim Allocation | 11882534 | 1849 days ago | IN | 0 ETH | 0.01296486 | ||||
| Claim Allocation | 11882241 | 1849 days ago | IN | 0 ETH | 0.01793972 | ||||
| Claim Allocation | 11881813 | 1849 days ago | IN | 0 ETH | 0.01656866 | ||||
| Claim Allocation | 11881568 | 1850 days ago | IN | 0 ETH | 0.02034597 | ||||
| Claim Allocation | 11881512 | 1850 days ago | IN | 0 ETH | 0.01382346 | ||||
| Claim Allocation | 11881496 | 1850 days ago | IN | 0 ETH | 0.01965919 | ||||
| Claim Allocation | 11881476 | 1850 days ago | IN | 0 ETH | 0.01854316 | ||||
| Claim Allocation | 11881433 | 1850 days ago | IN | 0 ETH | 0.01708614 | ||||
| Claim Allocation | 11881255 | 1850 days ago | IN | 0 ETH | 0.01219212 | ||||
| Claim Allocation | 11881239 | 1850 days ago | IN | 0 ETH | 0.0104855 | ||||
| Claim Allocation | 11881018 | 1850 days ago | IN | 0 ETH | 0.01176117 | ||||
| Claim Allocation | 11880979 | 1850 days ago | IN | 0 ETH | 0.01253556 | ||||
| Claim Allocation | 11880836 | 1850 days ago | IN | 0 ETH | 0.0105593 | ||||
| Claim Allocation | 11880816 | 1850 days ago | IN | 0 ETH | 0.01056078 | ||||
| Claim Allocation | 11880779 | 1850 days ago | IN | 0 ETH | 0.012879 | ||||
| Claim Allocation | 11880765 | 1850 days ago | IN | 0 ETH | 0.0103032 | ||||
| Claim Allocation | 11880730 | 1850 days ago | IN | 0 ETH | 0.01227635 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
WhitelistSale
Compiler Version
v0.5.16+commit.9c3226ce
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.5.16;
pragma experimental ABIEncoderV2;
import {Ownable} from "../lib/Ownable.sol";
import {SafeMath} from "../lib/SafeMath.sol";
import {SafeERC20} from "../lib/SafeERC20.sol";
import {IERC20} from "../token/IERC20.sol";
contract WhitelistSale is Ownable {
/* ========== Libraries ========== */
using SafeMath for uint256;
using SafeERC20 for IERC20;
/* ========== Struct ========== */
struct Participant {
uint256 allocation;
uint256 spent;
}
/* ========== Variables ========== */
IERC20 public currency;
mapping (address => Participant) public participants;
uint256 public totalHardCap;
uint256 public totalRaised;
bool public saleOpen;
/* ========== Events ========== */
event AllocationClaimed(address user, uint256 amount);
event AllocationSet(address user, uint256 amount);
event SaleStatusUpdated(bool status);
event HardCapUpdated(uint256 amount);
/* ========== Constructor ========== */
constructor(address currencyAddress) public {
currency = IERC20(currencyAddress);
saleOpen = false;
}
/* ========== Public Functions ========== */
function claimAllocation(
uint256 amount
)
external
{
// Get their total spend till date
uint256 participantSpent = participants[msg.sender].spent.add(amount);
uint256 newTotalRaised = totalRaised.add(amount);
require(
participantSpent <= participants[msg.sender].allocation,
"You cannot spend more than your allocation"
);
require(
saleOpen,
"The sale is not currently open"
);
require(
newTotalRaised <= totalHardCap,
"You cannot purchase more than the hard cap"
);
// Increase the user's spend amount otherwise they can keep purchasing
participants[msg.sender].spent = participantSpent;
totalRaised = newTotalRaised;
// Transfer the funds to the owner, no funds will be stored in this contract directly.
currency.safeTransferFrom(
msg.sender,
owner(),
amount
);
emit AllocationClaimed(msg.sender, amount);
}
/* ========== Admin Functions ========== */
function setHardCap(uint256 amount)
external
onlyOwner
{
totalHardCap = amount;
emit HardCapUpdated(amount);
}
function setAllocation(
address[] calldata users,
uint256[] calldata allocations
)
external
onlyOwner
{
// If there is a mismatch something hasn't been done correctly
require(
users.length == allocations.length,
"The users and amounts do not match"
);
for (uint256 i = 0; i < users.length; i++) {
participants[users[i]].allocation = allocations[i];
emit AllocationSet(users[i], allocations[i]);
}
}
function updateSaleStatus(
bool status
)
external
onlyOwner
{
require(
saleOpen != status,
"Cannot re-set the same status"
);
saleOpen = status;
emit SaleStatusUpdated(status);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.5.16;
/**
* @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.
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor () internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), msg.sender);
}
/**
* @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 == msg.sender, "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 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 onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}pragma solidity ^0.5.16;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.5.16;
import {IERC20} from "../token/IERC20.sol";
// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library SafeERC20 {
function safeApprove(
IERC20 token,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('approve(address,uint256)')));
/* solium-disable-next-line */
(bool success, bytes memory data) = address(token).call(
abi.encodeWithSelector(0x095ea7b3, to, value)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"SafeERC20: APPROVE_FAILED"
);
}
function safeTransfer(
IERC20 token,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('transfer(address,uint256)')));
/* solium-disable-next-line */
(bool success, bytes memory data) = address(token).call(
abi.encodeWithSelector(0xa9059cbb, to, value)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"SafeERC20: TRANSFER_FAILED"
);
}
function safeTransferFrom(
IERC20 token,
address from,
address to,
uint256 value
) internal {
// bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
/* solium-disable-next-line */
(bool success, bytes memory data) = address(token).call(
abi.encodeWithSelector(
0x23b872dd,
from,
to,
value
)
);
require(
success && (data.length == 0 || abi.decode(data, (bool))),
"SafeERC20: TRANSFER_FROM_FAILED"
);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.5.16;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @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 `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(
address recipient,
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 `sender` to `recipient` 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 sender,
address recipient,
uint256 amount
)
external
returns (bool);
/**
* @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
);
}{
"metadata": {
"useLiteralContent": true
},
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"currencyAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AllocationClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AllocationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"HardCapUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"SaleStatusUpdated","type":"event"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimAllocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"participants","outputs":[{"internalType":"uint256","name":"allocation","type":"uint256"},{"internalType":"uint256","name":"spent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256[]","name":"allocations","type":"uint256[]"}],"name":"setAllocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHardCap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalHardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"updateSaleStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610eb2380380610eb283398101604081905261002f916100ae565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b0319166001600160a01b03929092169190911790556005805460ff191690556100fc565b80516100a8816100e5565b92915050565b6000602082840312156100c057600080fd5b60006100cc848461009d565b949350505050565b60006001600160a01b0382166100a8565b6100ee816100d4565b81146100f957600080fd5b50565b610da78061010b6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461013b57806399288dbb14610150578063c5c4744c14610165578063d18d944b1461016d578063e5a6b10f14610180578063f2fde38b14610195576100b4565b806309e69ede146100b95780630a088949146100e35780633102b21a146100f857806345d0c7551461010b57806367a3eb651461011e578063715018a614610133575b600080fd5b6100cc6100c73660046107fb565b6101a8565b6040516100da929190610cba565b60405180910390f35b6100f66100f1366004610891565b6101c1565b005b6100f6610106366004610821565b610266565b6100f66101193660046108cd565b610386565b6101266104b6565b6040516100da9190610cac565b6100f66104bc565b610143610530565b6040516100da9190610ba1565b61015861053f565b6040516100da9190610c00565b610126610548565b6100f661017b3660046108cd565b61054e565b6101886105ad565b6040516100da9190610c0e565b6100f66101a33660046107fb565b6105bc565b6002602052600090815260409020805460019091015482565b6000546001600160a01b031633146101f45760405162461bcd60e51b81526004016101eb90610c7c565b60405180910390fd5b60055460ff161515811515141561021d5760405162461bcd60e51b81526004016101eb90610c8c565b6005805460ff19168215151790556040517fc75413bb803e9f5f8572b10a8262838386a1bc5db1743ff399db4f5c32f4691e9061025b908390610c00565b60405180910390a150565b6000546001600160a01b031633146102905760405162461bcd60e51b81526004016101eb90610c7c565b8281146102af5760405162461bcd60e51b81526004016101eb90610c1c565b60005b8381101561037f578282828181106102c657fe5b90506020020135600260008787858181106102dd57fe5b90506020020160206102f291908101906107fb565b6001600160a01b031681526020810191909152604001600020557fedfc909d0ab2a1625b7911d925efbd8200cdd99d4c7ba44e720328b17879f0b385858381811061033957fe5b905060200201602061034e91908101906107fb565b84848481811061035a57fe5b9050602002013560405161036f929190610bf2565b60405180910390a16001016102b2565b5050505050565b336000908152600260205260408120600101546103a9908363ffffffff61066716565b905060006103c28360045461066790919063ffffffff16565b336000908152600260205260409020549091508211156103f45760405162461bcd60e51b81526004016101eb90610c4c565b60055460ff166104165760405162461bcd60e51b81526004016101eb90610c5c565b6003548111156104385760405162461bcd60e51b81526004016101eb90610c9c565b33600081815260026020526040902060010183905560048290556104789061045e610530565b6001546001600160a01b031691908663ffffffff61069516565b7f1747857504b94e5be51b1fe4b467e5d2daa63a0d21577089a13fa99f9414dcc833846040516104a9929190610baf565b60405180910390a1505050565b60035481565b6000546001600160a01b031633146104e65760405162461bcd60e51b81526004016101eb90610c7c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60055460ff1681565b60045481565b6000546001600160a01b031633146105785760405162461bcd60e51b81526004016101eb90610c7c565b60038190556040517f898844af0a81a679f78c4e9bcc92363a6d161c41eb2398e0cf0196c156d05e8d9061025b908390610cac565b6001546001600160a01b031681565b6000546001600160a01b031633146105e65760405162461bcd60e51b81526004016101eb90610c7c565b6001600160a01b03811661060c5760405162461bcd60e51b81526004016101eb90610c2c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008282018381101561068c5760405162461bcd60e51b81526004016101eb90610c3c565b90505b92915050565b60006060856001600160a01b03166323b872dd8686866040516024016106bd93929190610bca565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516106f69190610b8e565b6000604051808303816000865af19150503d8060008114610733576040519150601f19603f3d011682016040523d82523d6000602084013e610738565b606091505b509150915081801561076257508051158061076257508080602001905161076291908101906108af565b61077e5760405162461bcd60e51b81526004016101eb90610c6c565b505050505050565b803561068f81610d3b565b60008083601f8401126107a357600080fd5b50813567ffffffffffffffff8111156107bb57600080fd5b6020830191508360208202830111156107d357600080fd5b9250929050565b803561068f81610d52565b805161068f81610d52565b803561068f81610d5b565b60006020828403121561080d57600080fd5b60006108198484610786565b949350505050565b6000806000806040858703121561083757600080fd5b843567ffffffffffffffff81111561084e57600080fd5b61085a87828801610791565b9450945050602085013567ffffffffffffffff81111561087957600080fd5b61088587828801610791565b95989497509550505050565b6000602082840312156108a357600080fd5b600061081984846107da565b6000602082840312156108c157600080fd5b600061081984846107e5565b6000602082840312156108df57600080fd5b600061081984846107f0565b6108f481610cf9565b82525050565b6108f481610cda565b6108f481610ce5565b600061091782610cc8565b6109218185610ccc565b9350610931818560208601610d0b565b9290920192915050565b6108f481610d00565b6000610951602283610cd1565b7f54686520757365727320616e6420616d6f756e747320646f206e6f74206d61748152610c6d60f31b602082015260400192915050565b6000610995602683610cd1565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b60006109dd601b83610cd1565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610a16602a83610cd1565b7f596f752063616e6e6f74207370656e64206d6f7265207468616e20796f75722081526930b63637b1b0ba34b7b760b11b602082015260400192915050565b6000610a62601e83610cd1565b7f5468652073616c65206973206e6f742063757272656e746c79206f70656e0000815260200192915050565b6000610a9b601f83610cd1565b7f5361666545524332303a205452414e534645525f46524f4d5f4641494c454400815260200192915050565b6000610ad4602083610cd1565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000610b0d601d83610cd1565b7f43616e6e6f742072652d736574207468652073616d6520737461747573000000815260200192915050565b6000610b46602a83610cd1565b7f596f752063616e6e6f74207075726368617365206d6f7265207468616e2074688152690652068617264206361760b41b602082015260400192915050565b6108f481610cf6565b6000610b9a828461090c565b9392505050565b6020810161068f82846108fa565b60408101610bbd82856108eb565b610b9a6020830184610b85565b60608101610bd882866108fa565b610be560208301856108fa565b6108196040830184610b85565b60408101610bbd82856108fa565b6020810161068f8284610903565b6020810161068f828461093b565b6020808252810161068f81610944565b6020808252810161068f81610988565b6020808252810161068f816109d0565b6020808252810161068f81610a09565b6020808252810161068f81610a55565b6020808252810161068f81610a8e565b6020808252810161068f81610ac7565b6020808252810161068f81610b00565b6020808252810161068f81610b39565b6020810161068f8284610b85565b60408101610bbd8285610b85565b5190565b919050565b90815260200190565b600061068f82610cea565b151590565b6001600160a01b031690565b90565b600061068f825b600061068f82610cda565b60005b83811015610d26578181015183820152602001610d0e565b83811115610d35576000848401525b50505050565b610d4481610cda565b8114610d4f57600080fd5b50565b610d4481610ce5565b610d4481610cf656fea365627a7a7231582080cdad1570d0f45a0af73cde729db03841fe33630a8d2ebad3a3b506a62097836c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461013b57806399288dbb14610150578063c5c4744c14610165578063d18d944b1461016d578063e5a6b10f14610180578063f2fde38b14610195576100b4565b806309e69ede146100b95780630a088949146100e35780633102b21a146100f857806345d0c7551461010b57806367a3eb651461011e578063715018a614610133575b600080fd5b6100cc6100c73660046107fb565b6101a8565b6040516100da929190610cba565b60405180910390f35b6100f66100f1366004610891565b6101c1565b005b6100f6610106366004610821565b610266565b6100f66101193660046108cd565b610386565b6101266104b6565b6040516100da9190610cac565b6100f66104bc565b610143610530565b6040516100da9190610ba1565b61015861053f565b6040516100da9190610c00565b610126610548565b6100f661017b3660046108cd565b61054e565b6101886105ad565b6040516100da9190610c0e565b6100f66101a33660046107fb565b6105bc565b6002602052600090815260409020805460019091015482565b6000546001600160a01b031633146101f45760405162461bcd60e51b81526004016101eb90610c7c565b60405180910390fd5b60055460ff161515811515141561021d5760405162461bcd60e51b81526004016101eb90610c8c565b6005805460ff19168215151790556040517fc75413bb803e9f5f8572b10a8262838386a1bc5db1743ff399db4f5c32f4691e9061025b908390610c00565b60405180910390a150565b6000546001600160a01b031633146102905760405162461bcd60e51b81526004016101eb90610c7c565b8281146102af5760405162461bcd60e51b81526004016101eb90610c1c565b60005b8381101561037f578282828181106102c657fe5b90506020020135600260008787858181106102dd57fe5b90506020020160206102f291908101906107fb565b6001600160a01b031681526020810191909152604001600020557fedfc909d0ab2a1625b7911d925efbd8200cdd99d4c7ba44e720328b17879f0b385858381811061033957fe5b905060200201602061034e91908101906107fb565b84848481811061035a57fe5b9050602002013560405161036f929190610bf2565b60405180910390a16001016102b2565b5050505050565b336000908152600260205260408120600101546103a9908363ffffffff61066716565b905060006103c28360045461066790919063ffffffff16565b336000908152600260205260409020549091508211156103f45760405162461bcd60e51b81526004016101eb90610c4c565b60055460ff166104165760405162461bcd60e51b81526004016101eb90610c5c565b6003548111156104385760405162461bcd60e51b81526004016101eb90610c9c565b33600081815260026020526040902060010183905560048290556104789061045e610530565b6001546001600160a01b031691908663ffffffff61069516565b7f1747857504b94e5be51b1fe4b467e5d2daa63a0d21577089a13fa99f9414dcc833846040516104a9929190610baf565b60405180910390a1505050565b60035481565b6000546001600160a01b031633146104e65760405162461bcd60e51b81526004016101eb90610c7c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60055460ff1681565b60045481565b6000546001600160a01b031633146105785760405162461bcd60e51b81526004016101eb90610c7c565b60038190556040517f898844af0a81a679f78c4e9bcc92363a6d161c41eb2398e0cf0196c156d05e8d9061025b908390610cac565b6001546001600160a01b031681565b6000546001600160a01b031633146105e65760405162461bcd60e51b81526004016101eb90610c7c565b6001600160a01b03811661060c5760405162461bcd60e51b81526004016101eb90610c2c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008282018381101561068c5760405162461bcd60e51b81526004016101eb90610c3c565b90505b92915050565b60006060856001600160a01b03166323b872dd8686866040516024016106bd93929190610bca565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516106f69190610b8e565b6000604051808303816000865af19150503d8060008114610733576040519150601f19603f3d011682016040523d82523d6000602084013e610738565b606091505b509150915081801561076257508051158061076257508080602001905161076291908101906108af565b61077e5760405162461bcd60e51b81526004016101eb90610c6c565b505050505050565b803561068f81610d3b565b60008083601f8401126107a357600080fd5b50813567ffffffffffffffff8111156107bb57600080fd5b6020830191508360208202830111156107d357600080fd5b9250929050565b803561068f81610d52565b805161068f81610d52565b803561068f81610d5b565b60006020828403121561080d57600080fd5b60006108198484610786565b949350505050565b6000806000806040858703121561083757600080fd5b843567ffffffffffffffff81111561084e57600080fd5b61085a87828801610791565b9450945050602085013567ffffffffffffffff81111561087957600080fd5b61088587828801610791565b95989497509550505050565b6000602082840312156108a357600080fd5b600061081984846107da565b6000602082840312156108c157600080fd5b600061081984846107e5565b6000602082840312156108df57600080fd5b600061081984846107f0565b6108f481610cf9565b82525050565b6108f481610cda565b6108f481610ce5565b600061091782610cc8565b6109218185610ccc565b9350610931818560208601610d0b565b9290920192915050565b6108f481610d00565b6000610951602283610cd1565b7f54686520757365727320616e6420616d6f756e747320646f206e6f74206d61748152610c6d60f31b602082015260400192915050565b6000610995602683610cd1565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b60006109dd601b83610cd1565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610a16602a83610cd1565b7f596f752063616e6e6f74207370656e64206d6f7265207468616e20796f75722081526930b63637b1b0ba34b7b760b11b602082015260400192915050565b6000610a62601e83610cd1565b7f5468652073616c65206973206e6f742063757272656e746c79206f70656e0000815260200192915050565b6000610a9b601f83610cd1565b7f5361666545524332303a205452414e534645525f46524f4d5f4641494c454400815260200192915050565b6000610ad4602083610cd1565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000610b0d601d83610cd1565b7f43616e6e6f742072652d736574207468652073616d6520737461747573000000815260200192915050565b6000610b46602a83610cd1565b7f596f752063616e6e6f74207075726368617365206d6f7265207468616e2074688152690652068617264206361760b41b602082015260400192915050565b6108f481610cf6565b6000610b9a828461090c565b9392505050565b6020810161068f82846108fa565b60408101610bbd82856108eb565b610b9a6020830184610b85565b60608101610bd882866108fa565b610be560208301856108fa565b6108196040830184610b85565b60408101610bbd82856108fa565b6020810161068f8284610903565b6020810161068f828461093b565b6020808252810161068f81610944565b6020808252810161068f81610988565b6020808252810161068f816109d0565b6020808252810161068f81610a09565b6020808252810161068f81610a55565b6020808252810161068f81610a8e565b6020808252810161068f81610ac7565b6020808252810161068f81610b00565b6020808252810161068f81610b39565b6020810161068f8284610b85565b60408101610bbd8285610b85565b5190565b919050565b90815260200190565b600061068f82610cea565b151590565b6001600160a01b031690565b90565b600061068f825b600061068f82610cda565b60005b83811015610d26578181015183820152602001610d0e565b83811115610d35576000848401525b50505050565b610d4481610cda565b8114610d4f57600080fd5b50565b610d4481610ce5565b610d4481610cf656fea365627a7a7231582080cdad1570d0f45a0af73cde729db03841fe33630a8d2ebad3a3b506a62097836c6578706572696d656e74616cf564736f6c63430005100040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
-----Decoded View---------------
Arg [0] : currencyAddress (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.