Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
TokenTracker
Multichain Info
N/A
Latest 25 from a total of 399 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 35331737 | 39 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 35331730 | 39 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Approve | 35182504 | 42 days ago | IN | 0 ETH | 0.000000004637 | ||||
| Approve | 35182501 | 42 days ago | IN | 0 ETH | 0.000000002433 | ||||
| Approve | 35181513 | 42 days ago | IN | 0 ETH | 0.000000004637 | ||||
| Approve | 35179483 | 42 days ago | IN | 0 ETH | 0.000000044884 | ||||
| Transfer | 35007271 | 46 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Approve | 34316564 | 62 days ago | IN | 0 ETH | 0.000000044884 | ||||
| Approve | 34316561 | 62 days ago | IN | 0 ETH | 0.000000023554 | ||||
| Approve | 34316531 | 62 days ago | IN | 0 ETH | 0.000000008983 | ||||
| Approve | 34315969 | 62 days ago | IN | 0 ETH | 0.000000004636 | ||||
| Approve | 34315967 | 62 days ago | IN | 0 ETH | 0.000000002433 | ||||
| Transfer | 33970380 | 70 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 33970361 | 70 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 33970309 | 70 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 33817325 | 74 days ago | IN | 0 ETH | 0.000000042799 | ||||
| Transfer | 33675317 | 77 days ago | IN | 0 ETH | 0.000000034596 | ||||
| Transfer | 33544391 | 80 days ago | IN | 0 ETH | 0.000000034596 | ||||
| Transfer | 33544387 | 80 days ago | IN | 0 ETH | 0.000000034596 | ||||
| Transfer | 33544331 | 80 days ago | IN | 0 ETH | 0.000000034596 | ||||
| Transfer | 33544326 | 80 days ago | IN | 0 ETH | 0.000000034596 | ||||
| Approve | 33540516 | 80 days ago | IN | 0 ETH | 0.000000044884 | ||||
| Transfer | 33515312 | 81 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 33514797 | 81 days ago | IN | 0 ETH | 0.000000003574 | ||||
| Transfer | 33514796 | 81 days ago | IN | 0 ETH | 0.000000005288 |
Loading...
Loading
Contract Name:
GIV
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/**
*Submitted for verification at sepolia-optimism.etherscan.io on 2024-02-26
*/
/**
*Submitted for verification at goerli-optimism.etherscan.io on 2023-05-15
*/
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicatinf whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}
// File: contracts/GIV.sol
pragma solidity 0.8.6;
// Lightweight token modelled after UNI-LP:
// https://github.com/Uniswap/uniswap-v2-core/blob/v1.0.1/contracts/UniswapV2ERC20.sol
// Adds:
// - An exposed `burn()` and `mint()` with minting role
// - ERC-3009 (`transferWithAuthorization()`)
// - domainSeparator is computed inside `_validateSignedData` to avoid reply-attacks due to Hardforks
// - to != address(this) && to != address(0); To avoid people sending tokens to this smartcontract and
// to distinguish burn events from transfer
contract GIV is IERC20 {
uint256 public initialBalance;
// bytes32 public constant PERMIT_TYPEHASH =
// keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
bytes32 public constant PERMIT_TYPEHASH =
0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
// bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
// keccak256("TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)");
bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267;
// bytes32 public constant EIP712DOMAIN_HASH =
// keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")
bytes32 public constant EIP712DOMAIN_HASH =
0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;
// bytes32 public constant NAME_HASH =
// keccak256("Giveth")
bytes32 public constant NAME_HASH =
0x33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f902;
// bytes32 public constant VERSION_HASH =
// keccak256("1")
bytes32 public constant VERSION_HASH =
0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6;
string public constant name = "Giveth";
string public constant symbol = "GIV";
uint8 public constant decimals = 18;
address public minter;
uint256 public override totalSupply;
mapping(address => uint256) public override balanceOf;
mapping(address => mapping(address => uint256)) public override allowance;
// ERC-2612, ERC-3009 state
mapping(address => uint256) public nonces;
mapping(address => mapping(bytes32 => bool)) public authorizationState;
event AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce);
event ChangeMinter(address indexed minter);
modifier onlyMinter() {
require(msg.sender == minter, "GIV:NOT_MINTER");
_;
}
constructor(address initialMinter) {
_changeMinter(initialMinter);
}
function _validateSignedData(
address signer,
bytes32 encodeData,
uint8 v,
bytes32 r,
bytes32 s
) internal view {
bytes32 digest = keccak256(
abi.encodePacked("\x19\x01", getDomainSeparator(), encodeData)
);
address recoveredAddress = ecrecover(digest, v, r, s);
// Explicitly disallow authorizations for address(0) as ecrecover returns address(0) on malformed messages
require(
recoveredAddress != address(0) && recoveredAddress == signer,
"GIV:INVALID_SIGNATURE"
);
}
function _changeMinter(address newMinter) internal {
minter = newMinter;
emit ChangeMinter(newMinter);
}
function _mint(address to, uint256 value) internal {
totalSupply = totalSupply + value;
balanceOf[to] = balanceOf[to] + value;
emit Transfer(address(0), to, value);
}
function _burn(address from, uint256 value) internal {
// Balance is implicitly checked with solidity underflow protection
balanceOf[from] = balanceOf[from] - value;
totalSupply = totalSupply - value;
emit Transfer(from, address(0), value);
}
function _approve(
address owner,
address spender,
uint256 value
) private {
allowance[owner][spender] = value;
emit Approval(owner, spender, value);
}
function _transfer(
address from,
address to,
uint256 value
) private {
require(
to != address(this) && to != address(0),
"GIV:NOT_VALID_TRANSFER"
);
// Balance is implicitly checked with SafeMath's underflow protection
balanceOf[from] = balanceOf[from] - value;
balanceOf[to] = balanceOf[to] + value;
emit Transfer(from, to, value);
}
function getChainId() public view returns (uint256 chainId) {
assembly {
chainId := chainid()
}
}
function getDomainSeparator() public view returns (bytes32) {
return
keccak256(
abi.encode(
EIP712DOMAIN_HASH,
NAME_HASH,
VERSION_HASH,
getChainId(),
address(this)
)
);
}
function mint(address to, uint256 value)
external
onlyMinter
returns (bool)
{
_mint(to, value);
return true;
}
function changeMinter(address newMinter) external onlyMinter {
_changeMinter(newMinter);
}
function burn(uint256 value) external returns (bool) {
_burn(msg.sender, value);
return true;
}
function approve(address spender, uint256 value)
external
override
returns (bool)
{
_approve(msg.sender, spender, value);
return true;
}
function transfer(address to, uint256 value)
external
override
returns (bool)
{
_transfer(msg.sender, to, value);
return true;
}
function transferFrom(
address from,
address to,
uint256 value
) external override returns (bool) {
uint256 fromAllowance = allowance[from][msg.sender];
if (fromAllowance != type(uint256).max) {
// Allowance is implicitly checked with solidity underflow protection
allowance[from][msg.sender] = fromAllowance - value;
}
_transfer(from, to, value);
return true;
}
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external {
require(deadline >= block.timestamp, "GIV:AUTH_EXPIRED");
bytes32 encodeData = keccak256(
abi.encode(
PERMIT_TYPEHASH,
owner,
spender,
value,
nonces[owner]++,
deadline
)
);
_validateSignedData(owner, encodeData, v, r, s);
_approve(owner, spender, value);
}
function transferWithAuthorization(
address from,
address to,
uint256 value,
uint256 validAfter,
uint256 validBefore,
bytes32 nonce,
uint8 v,
bytes32 r,
bytes32 s
) external {
require(block.timestamp > validAfter, "GIV:AUTH_NOT_YET_VALID");
require(block.timestamp < validBefore, "GIV:AUTH_EXPIRED");
require(!authorizationState[from][nonce], "GIV:AUTH_ALREADY_USED");
bytes32 encodeData = keccak256(
abi.encode(
TRANSFER_WITH_AUTHORIZATION_TYPEHASH,
from,
to,
value,
validAfter,
validBefore,
nonce
)
);
_validateSignedData(from, encodeData, v, r, s);
authorizationState[from][nonce] = true;
emit AuthorizationUsed(from, nonce);
_transfer(from, to, value);
}
}Contract ABI
API[{"inputs":[{"internalType":"address","name":"initialMinter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","type":"address"},{"indexed":true,"internalType":"bytes32","name":"nonce","type":"bytes32"}],"name":"AuthorizationUsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"ChangeMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EIP712DOMAIN_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NAME_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_WITH_AUTHORIZATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"authorizationState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMinter","type":"address"}],"name":"changeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"transferWithAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506040516110c73803806110c783398101604081905261002f91610088565b6100388161003e565b506100b8565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b611000806100c76000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146103d6578063e3ee160e14610401578063e94a010214610414578063ed24911d1461044257600080fd5b8063a9059cbb14610389578063c473af331461039c578063d505accf146103c357600080fd5b806342966c68146102c657806370a08231146102d95780637ecebe00146102f957806395d89b41146103195780639e4e73181461033b578063a0cc6a681461036257600080fd5b806323b872dd1161013057806323b872dd146102445780632c4d4d181461025757806330adf81f1461026c578063313ce567146102935780633408e470146102ad57806340c10f19146102b357600080fd5b806304622c2e1461017857806306fdde03146101b257806307546172146101e4578063095ea7b31461020f57806318160ddd1461023257806318369a2a1461023b575b600080fd5b61019f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f90281565b6040519081526020015b60405180910390f35b6101d76040518060400160405280600681526020016508ed2eccae8d60d31b81525081565b6040516101a99190610f15565b6001546101f7906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b61022261021d366004610ed2565b61044a565b60405190151581526020016101a9565b61019f60025481565b61019f60005481565b610222610252366004610dae565b610460565b61026a610265366004610d59565b6104d2565b005b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61029b601281565b60405160ff90911681526020016101a9565b4661019f565b6102226102c1366004610ed2565b61052e565b6102226102d4366004610efc565b610586565b61019f6102e7366004610d59565b60036020526000908152604090205481565b61019f610307366004610d59565b60056020526000908152604090205481565b6101d76040518060400160405280600381526020016223a4ab60e91b81525081565b61019f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b61019f7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b610222610397366004610ed2565b61059a565b61019f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b61026a6103d1366004610e68565b6105a7565b61019f6103e4366004610d7b565b600460209081526000928352604080842090915290825290205481565b61026a61040f366004610dea565b6106ad565b610222610422366004610ed2565b600660209081526000928352604080842090915290825290205460ff1681565b61019f610896565b600061045733848461093c565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104bc576104978382610f82565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6104c785858561099e565b506001949350505050565b6001546001600160a01b031633146105225760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b60448201526064015b60405180910390fd5b61052b81610aac565b50565b6001546000906001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b6044820152606401610519565b6104578383610af6565b60006105923383610b88565b506001919050565b600061045733848461099e565b428410156105ea5760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661063783610f99565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506106988882868686610c14565b6106a388888861093c565b5050505050505050565b8542116106f55760405162461bcd60e51b815260206004820152601660248201527511d2558e9055551217d393d517d6515517d59053125160521b6044820152606401610519565b8442106107375760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff16156107a35760405162461bcd60e51b815260206004820152601560248201527411d2558e9055551217d053149150511657d554d151605a1b6044820152606401610519565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108298a82868686610c14565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361088a8a8a8a61099e565b50505050505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f9027fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109bf57506001600160a01b03821615155b610a045760405162461bcd60e51b815260206004820152601660248201527523a4ab1d2727aa2fab20a624a22faa2920a729a322a960511b6044820152606401610519565b6001600160a01b038316600090815260036020526040902054610a28908290610f82565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a58908290610f6a565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109919085815260200190565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b80600254610b049190610f6a565b6002556001600160a01b038216600090815260036020526040902054610b2b908290610f6a565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7c9085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260036020526040902054610bac908290610f82565b6001600160a01b038316600090815260036020526040902055600254610bd3908290610f82565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b7c565b6000610c1e610896565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ca9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cdf5750866001600160a01b0316816001600160a01b0316145b610d235760405162461bcd60e51b81526020600482015260156024820152744749563a494e56414c49445f5349474e415455524560581b6044820152606401610519565b50505050505050565b80356001600160a01b0381168114610d4357600080fd5b919050565b803560ff81168114610d4357600080fd5b600060208284031215610d6b57600080fd5b610d7482610d2c565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d2c565b9150610da560208401610d2c565b90509250929050565b600080600060608486031215610dc357600080fd5b610dcc84610d2c565b9250610dda60208501610d2c565b9150604084013590509250925092565b60008060008060008060008060006101208a8c031215610e0957600080fd5b610e128a610d2c565b9850610e2060208b01610d2c565b975060408a0135965060608a0135955060808a0135945060a08a01359350610e4a60c08b01610d48565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a031215610e8357600080fd5b610e8c88610d2c565b9650610e9a60208901610d2c565b95506040880135945060608801359350610eb660808901610d48565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610ee557600080fd5b610eee83610d2c565b946020939093013593505050565b600060208284031215610f0e57600080fd5b5035919050565b600060208083528351808285015260005b81811015610f4257858101830151858201604001528201610f26565b81811115610f54576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610f7d57610f7d610fb4565b500190565b600082821015610f9457610f94610fb4565b500390565b6000600019821415610fad57610fad610fb4565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122006dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd176355264736f6c63430008060033000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146103d6578063e3ee160e14610401578063e94a010214610414578063ed24911d1461044257600080fd5b8063a9059cbb14610389578063c473af331461039c578063d505accf146103c357600080fd5b806342966c68146102c657806370a08231146102d95780637ecebe00146102f957806395d89b41146103195780639e4e73181461033b578063a0cc6a681461036257600080fd5b806323b872dd1161013057806323b872dd146102445780632c4d4d181461025757806330adf81f1461026c578063313ce567146102935780633408e470146102ad57806340c10f19146102b357600080fd5b806304622c2e1461017857806306fdde03146101b257806307546172146101e4578063095ea7b31461020f57806318160ddd1461023257806318369a2a1461023b575b600080fd5b61019f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f90281565b6040519081526020015b60405180910390f35b6101d76040518060400160405280600681526020016508ed2eccae8d60d31b81525081565b6040516101a99190610f15565b6001546101f7906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b61022261021d366004610ed2565b61044a565b60405190151581526020016101a9565b61019f60025481565b61019f60005481565b610222610252366004610dae565b610460565b61026a610265366004610d59565b6104d2565b005b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61029b601281565b60405160ff90911681526020016101a9565b4661019f565b6102226102c1366004610ed2565b61052e565b6102226102d4366004610efc565b610586565b61019f6102e7366004610d59565b60036020526000908152604090205481565b61019f610307366004610d59565b60056020526000908152604090205481565b6101d76040518060400160405280600381526020016223a4ab60e91b81525081565b61019f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b61019f7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b610222610397366004610ed2565b61059a565b61019f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b61026a6103d1366004610e68565b6105a7565b61019f6103e4366004610d7b565b600460209081526000928352604080842090915290825290205481565b61026a61040f366004610dea565b6106ad565b610222610422366004610ed2565b600660209081526000928352604080842090915290825290205460ff1681565b61019f610896565b600061045733848461093c565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104bc576104978382610f82565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6104c785858561099e565b506001949350505050565b6001546001600160a01b031633146105225760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b60448201526064015b60405180910390fd5b61052b81610aac565b50565b6001546000906001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b6044820152606401610519565b6104578383610af6565b60006105923383610b88565b506001919050565b600061045733848461099e565b428410156105ea5760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661063783610f99565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506106988882868686610c14565b6106a388888861093c565b5050505050505050565b8542116106f55760405162461bcd60e51b815260206004820152601660248201527511d2558e9055551217d393d517d6515517d59053125160521b6044820152606401610519565b8442106107375760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff16156107a35760405162461bcd60e51b815260206004820152601560248201527411d2558e9055551217d053149150511657d554d151605a1b6044820152606401610519565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108298a82868686610c14565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361088a8a8a8a61099e565b50505050505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f9027fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109bf57506001600160a01b03821615155b610a045760405162461bcd60e51b815260206004820152601660248201527523a4ab1d2727aa2fab20a624a22faa2920a729a322a960511b6044820152606401610519565b6001600160a01b038316600090815260036020526040902054610a28908290610f82565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a58908290610f6a565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109919085815260200190565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b80600254610b049190610f6a565b6002556001600160a01b038216600090815260036020526040902054610b2b908290610f6a565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7c9085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260036020526040902054610bac908290610f82565b6001600160a01b038316600090815260036020526040902055600254610bd3908290610f82565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b7c565b6000610c1e610896565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ca9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cdf5750866001600160a01b0316816001600160a01b0316145b610d235760405162461bcd60e51b81526020600482015260156024820152744749563a494e56414c49445f5349474e415455524560581b6044820152606401610519565b50505050505050565b80356001600160a01b0381168114610d4357600080fd5b919050565b803560ff81168114610d4357600080fd5b600060208284031215610d6b57600080fd5b610d7482610d2c565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d2c565b9150610da560208401610d2c565b90509250929050565b600080600060608486031215610dc357600080fd5b610dcc84610d2c565b9250610dda60208501610d2c565b9150604084013590509250925092565b60008060008060008060008060006101208a8c031215610e0957600080fd5b610e128a610d2c565b9850610e2060208b01610d2c565b975060408a0135965060608a0135955060808a0135945060a08a01359350610e4a60c08b01610d48565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a031215610e8357600080fd5b610e8c88610d2c565b9650610e9a60208901610d2c565b95506040880135945060608801359350610eb660808901610d48565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610ee557600080fd5b610eee83610d2c565b946020939093013593505050565b600060208284031215610f0e57600080fd5b5035919050565b600060208083528351808285015260005b81811015610f4257858101830151858201604001528201610f26565b81811115610f54576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610f7d57610f7d610fb4565b500190565b600082821015610f9457610f94610fb4565b500390565b6000600019821415610fad57610fad610fb4565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122006dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd176355264736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673
-----Decoded View---------------
Arg [0] : initialMinter (address): 0xe1ce7720f9b434ec98382f776e5C3A48C8BA6673
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673
Deployed Bytecode Sourcemap
3546:7555:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4623:111;;4668:66;4623:111;;;;;4148:25:1;;;4136:2;4121:18;4623:111:0;;;;;;;;4939:38;;;;;;;;;;;;;;;-1:-1:-1;;;4939:38:0;;;;;;;;;;;;:::i;5072:21::-;;;;;-1:-1:-1;;;;;5072:21:0;;;;;;-1:-1:-1;;;;;3766:32:1;;;3748:51;;3736:2;3721:18;5072:21:0;3703:102:1;8614:191:0;;;;;;:::i;:::-;;:::i;:::-;;;3975:14:1;;3968:22;3950:41;;3938:2;3923:18;8614:191:0;3905:92:1;5100:35:0;;;;;;3576:29;;;;;;9004:470;;;;;;:::i;:::-;;:::i;8376:104::-;;;;;;:::i;:::-;;:::i;:::-;;3774:117;;3825:66;3774:117;;5028:35;;5061:2;5028:35;;;;;9391:4:1;9379:17;;;9361:36;;9349:2;9334:18;5028:35:0;9316:87:1;7705:133:0;7811:9;7705:133;;8203:165;;;;;;:::i;:::-;;:::i;8488:118::-;;;;;;:::i;:::-;;:::i;5142:53::-;;;;;;:::i;:::-;;;;;;;;;;;;;;5317:41;;;;;;:::i;:::-;;;;;;;;;;;;;;4984:37;;;;;;;;;;;;;;;-1:-1:-1;;;4984:37:0;;;;;4816:114;;4864:66;4816:114;;4114:138;;4186:66;4114:138;;8813:183;;;;;;:::i;:::-;;:::i;4420:119::-;;4473:66;4420:119;;9482:627;;;;;;:::i;:::-;;:::i;5202:73::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;10117:981;;;;;;:::i;:::-;;:::i;5365:70::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;7846:349;;;:::i;8614:191::-;8717:4;8739:36;8748:10;8760:7;8769:5;8739:8;:36::i;:::-;-1:-1:-1;8793:4:0;8614:191;;;;:::o;9004:470::-;-1:-1:-1;;;;;9169:15:0;;9128:4;9169:15;;;:9;:15;;;;;;;;9185:10;9169:27;;;;;;;;-1:-1:-1;;9211:34:0;;9207:201;;9375:21;9391:5;9375:13;:21;:::i;:::-;-1:-1:-1;;;;;9345:15:0;;;;;;:9;:15;;;;;;;;9361:10;9345:27;;;;;;;:51;9207:201;9418:26;9428:4;9434:2;9438:5;9418:9;:26::i;:::-;-1:-1:-1;9462:4:0;;9004:470;-1:-1:-1;;;;9004:470:0:o;8376:104::-;5631:6;;-1:-1:-1;;;;;5631:6:0;5617:10;:20;5609:47;;;;-1:-1:-1;;;5609:47:0;;7149:2:1;5609:47:0;;;7131:21:1;7188:2;7168:18;;;7161:30;-1:-1:-1;;;7207:18:1;;;7200:44;7261:18;;5609:47:0;;;;;;;;;8448:24:::1;8462:9;8448:13;:24::i;:::-;8376:104:::0;:::o;8203:165::-;5631:6;;8300:4;;-1:-1:-1;;;;;5631:6:0;5617:10;:20;5609:47;;;;-1:-1:-1;;;5609:47:0;;7149:2:1;5609:47:0;;;7131:21:1;7188:2;7168:18;;;7161:30;-1:-1:-1;;;7207:18:1;;;7200:44;7261:18;;5609:47:0;7121:164:1;5609:47:0;8322:16:::1;8328:2;8332:5;8322;:16::i;8488:118::-:0;8535:4;8552:24;8558:10;8570:5;8552;:24::i;:::-;-1:-1:-1;8594:4:0;;8488:118;-1:-1:-1;8488:118:0:o;8813:183::-;8912:4;8934:32;8944:10;8956:2;8960:5;8934:9;:32::i;9482:627::-;9704:15;9692:8;:27;;9684:56;;;;-1:-1:-1;;;9684:56:0;;8894:2:1;9684:56:0;;;8876:21:1;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:46;9008:18;;9684:56:0;8866:166:1;9684:56:0;-1:-1:-1;;;;;9933:13:0;;9751:18;9933:13;;;:6;:13;;;;;:15;;3825:66;;9859:5;;9883:7;;9909:5;;9933:15;9751:18;9933:15;;;:::i;:::-;;;;-1:-1:-1;9796:194:0;;;;;;4471:25:1;;;;-1:-1:-1;;;;;4570:15:1;;;4550:18;;;4543:43;4622:15;;;;4602:18;;;4595:43;4654:18;;;4647:34;4697:19;;;4690:35;4741:19;;;4734:35;;;4443:19;;9796:194:0;;;;;;;;;;;;9772:229;;;;;;9751:250;;10012:47;10032:5;10039:10;10051:1;10054;10057;10012:19;:47::i;:::-;10070:31;10079:5;10086:7;10095:5;10070:8;:31::i;:::-;9673:436;9482:627;;;;;;;:::o;10117:981::-;10414:10;10396:15;:28;10388:63;;;;-1:-1:-1;;;10388:63:0;;8193:2:1;10388:63:0;;;8175:21:1;8232:2;8212:18;;;8205:30;-1:-1:-1;;;8251:18:1;;;8244:52;8313:18;;10388:63:0;8165:172:1;10388:63:0;10488:11;10470:15;:29;10462:58;;;;-1:-1:-1;;;10462:58:0;;8894:2:1;10462:58:0;;;8876:21:1;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:46;9008:18;;10462:58:0;8866:166:1;10462:58:0;-1:-1:-1;;;;;10540:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;;;10539:32;10531:66;;;;-1:-1:-1;;;10531:66:0;;7843:2:1;10531:66:0;;;7825:21:1;7882:2;7862:18;;;7855:30;-1:-1:-1;;;7901:18:1;;;7894:51;7962:18;;10531:66:0;7815:171:1;10531:66:0;10655:231;;;4186:66;10655:231;;;;5095:25:1;;;;-1:-1:-1;;;;;5194:15:1;;;5174:18;;;5167:43;5246:15;;5226:18;;;5219:43;5278:18;;;5271:34;;;5321:19;;;5314:35;;;5365:19;;;5358:35;;;5409:19;;;;5402:35;;;10655:231:0;;;;;;;;;;5067:19:1;;;;10655:231:0;;;10631:266;;;;;10908:46;5194:15:1;10631:266:0;10946:1;10949;10952;10908:19;:46::i;:::-;-1:-1:-1;;;;;10967:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;:38;;-1:-1:-1;;10967:38:0;11001:4;10967:38;;;11021:30;10992:5;;10967:24;11021:30;;;11064:26;11074:4;11080:2;11084:5;11064:9;:26::i;:::-;10377:721;10117:981;;;;;;;;;:::o;7846:349::-;7897:7;4473:66;4668;4864;7811:9;7965:207;;;;;;5707:25:1;;;;5748:18;;5741:34;;;;5791:18;;;5784:34;5834:18;;;5827:34;8148:4:0;5877:19:1;;;5870:61;5679:19;;7965:207:0;;;;;;;;;;;;7937:250;;;;;;7917:270;;7846:349;:::o;7031:206::-;-1:-1:-1;;;;;7149:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;7198:31;;4148:25:1;;;7198:31:0;;4121:18:1;7198:31:0;;;;;;;;7031:206;;;:::o;7245:452::-;-1:-1:-1;;;;;7380:19:0;;7394:4;7380:19;;;;:39;;-1:-1:-1;;;;;;7403:16:0;;;;7380:39;7358:111;;;;-1:-1:-1;;;7358:111:0;;7492:2:1;7358:111:0;;;7474:21:1;7531:2;7511:18;;;7504:30;-1:-1:-1;;;7550:18:1;;;7543:52;7612:18;;7358:111:0;7464:172:1;7358:111:0;-1:-1:-1;;;;;7577:15:0;;;;;;:9;:15;;;;;;:23;;7595:5;;7577:23;:::i;:::-;-1:-1:-1;;;;;7559:15:0;;;;;;;:9;:15;;;;;;:41;;;;7627:13;;;;;;;:21;;7643:5;;7627:21;:::i;:::-;-1:-1:-1;;;;;7611:13:0;;;;;;;:9;:13;;;;;;;:37;;;;7664:25;;;;;;;;;;7683:5;4148:25:1;;4136:2;4121:18;;4103:76;6399:127:0;6461:6;:18;;-1:-1:-1;;;;;;6461:18:0;-1:-1:-1;;;;;6461:18:0;;;;;;;;6495:23;;;;-1:-1:-1;;6495:23:0;6399:127;:::o;6534:198::-;6624:5;6610:11;;:19;;;;:::i;:::-;6596:11;:33;-1:-1:-1;;;;;6656:13:0;;;;;;:9;:13;;;;;;:21;;6672:5;;6656:21;:::i;:::-;-1:-1:-1;;;;;6640:13:0;;;;;;:9;:13;;;;;;:37;;;;6693:31;;6640:13;;;6693:31;;;;6718:5;4148:25:1;;4136:2;4121:18;;4103:76;6693:31:0;;;;;;;;6534:198;;:::o;6740:283::-;-1:-1:-1;;;;;6899:15:0;;;;;;:9;:15;;;;;;:23;;6917:5;;6899:23;:::i;:::-;-1:-1:-1;;;;;6881:15:0;;;;;;:9;:15;;;;;:41;6947:11;;:19;;6961:5;;6947:19;:::i;:::-;6933:11;:33;6982;;4148:25:1;;;7005:1:0;;-1:-1:-1;;;;;6982:33:0;;;;;4136:2:1;4121:18;6982:33:0;4103:76:1;5774:617:0;5947:14;6017:20;:18;:20::i;:::-;5988:62;;-1:-1:-1;;;5988:62:0;;;3463:27:1;3506:11;;;3499:27;;;;3542:12;;;3535:28;;;3579:12;;5988:62:0;;;-1:-1:-1;;5988:62:0;;;;;;;;;5964:97;;5988:62;5964:97;;;;6072:24;6099:26;;;;;;;;;6169:25:1;;;6242:4;6230:17;;6210:18;;;6203:45;;;;6264:18;;;6257:34;;;6307:18;;;6300:34;;;5964:97:0;;-1:-1:-1;6072:24:0;6099:26;;6141:19:1;;6099:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6099:26:0;;-1:-1:-1;;6099:26:0;;;-1:-1:-1;;;;;;;6274:30:0;;;;;;:60;;;6328:6;-1:-1:-1;;;;;6308:26:0;:16;-1:-1:-1;;;;;6308:26:0;;6274:60;6252:131;;;;-1:-1:-1;;;6252:131:0;;8544:2:1;6252:131:0;;;8526:21:1;8583:2;8563:18;;;8556:30;-1:-1:-1;;;8602:18:1;;;8595:51;8663:18;;6252:131:0;8516:171:1;6252:131:0;5936:455;;5774:617;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:156::-;258:20;;318:4;307:16;;297:27;;287:2;;338:1;335;328:12;353:186;412:6;465:2;453:9;444:7;440:23;436:32;433:2;;;481:1;478;471:12;433:2;504:29;523:9;504:29;:::i;:::-;494:39;423:116;-1:-1:-1;;;423:116:1:o;544:260::-;612:6;620;673:2;661:9;652:7;648:23;644:32;641:2;;;689:1;686;679:12;641:2;712:29;731:9;712:29;:::i;:::-;702:39;;760:38;794:2;783:9;779:18;760:38;:::i;:::-;750:48;;631:173;;;;;:::o;809:328::-;886:6;894;902;955:2;943:9;934:7;930:23;926:32;923:2;;;971:1;968;961:12;923:2;994:29;1013:9;994:29;:::i;:::-;984:39;;1042:38;1076:2;1065:9;1061:18;1042:38;:::i;:::-;1032:48;;1127:2;1116:9;1112:18;1099:32;1089:42;;913:224;;;;;:::o;1142:744::-;1271:6;1279;1287;1295;1303;1311;1319;1327;1335;1388:3;1376:9;1367:7;1363:23;1359:33;1356:2;;;1405:1;1402;1395:12;1356:2;1428:29;1447:9;1428:29;:::i;:::-;1418:39;;1476:38;1510:2;1499:9;1495:18;1476:38;:::i;:::-;1466:48;;1561:2;1550:9;1546:18;1533:32;1523:42;;1612:2;1601:9;1597:18;1584:32;1574:42;;1663:3;1652:9;1648:19;1635:33;1625:43;;1715:3;1704:9;1700:19;1687:33;1677:43;;1739:37;1771:3;1760:9;1756:19;1739:37;:::i;:::-;1729:47;;1823:3;1812:9;1808:19;1795:33;1785:43;;1875:3;1864:9;1860:19;1847:33;1837:43;;1346:540;;;;;;;;;;;:::o;1891:606::-;2002:6;2010;2018;2026;2034;2042;2050;2103:3;2091:9;2082:7;2078:23;2074:33;2071:2;;;2120:1;2117;2110:12;2071:2;2143:29;2162:9;2143:29;:::i;:::-;2133:39;;2191:38;2225:2;2214:9;2210:18;2191:38;:::i;:::-;2181:48;;2276:2;2265:9;2261:18;2248:32;2238:42;;2327:2;2316:9;2312:18;2299:32;2289:42;;2350:37;2382:3;2371:9;2367:19;2350:37;:::i;:::-;2340:47;;2434:3;2423:9;2419:19;2406:33;2396:43;;2486:3;2475:9;2471:19;2458:33;2448:43;;2061:436;;;;;;;;;;:::o;2502:254::-;2570:6;2578;2631:2;2619:9;2610:7;2606:23;2602:32;2599:2;;;2647:1;2644;2637:12;2599:2;2670:29;2689:9;2670:29;:::i;:::-;2660:39;2746:2;2731:18;;;;2718:32;;-1:-1:-1;;;2589:167:1:o;3020:180::-;3079:6;3132:2;3120:9;3111:7;3107:23;3103:32;3100:2;;;3148:1;3145;3138:12;3100:2;-1:-1:-1;3171:23:1;;3090:110;-1:-1:-1;3090:110:1:o;6345:597::-;6457:4;6486:2;6515;6504:9;6497:21;6547:6;6541:13;6590:6;6585:2;6574:9;6570:18;6563:34;6615:1;6625:140;6639:6;6636:1;6633:13;6625:140;;;6734:14;;;6730:23;;6724:30;6700:17;;;6719:2;6696:26;6689:66;6654:10;;6625:140;;;6783:6;6780:1;6777:13;6774:2;;;6853:1;6848:2;6839:6;6828:9;6824:22;6820:31;6813:42;6774:2;-1:-1:-1;6926:2:1;6905:15;-1:-1:-1;;6901:29:1;6886:45;;;;6933:2;6882:54;;6466:476;-1:-1:-1;;;6466:476:1:o;9408:128::-;9448:3;9479:1;9475:6;9472:1;9469:13;9466:2;;;9485:18;;:::i;:::-;-1:-1:-1;9521:9:1;;9456:80::o;9541:125::-;9581:4;9609:1;9606;9603:8;9600:2;;;9614:18;;:::i;:::-;-1:-1:-1;9651:9:1;;9590:76::o;9671:135::-;9710:3;-1:-1:-1;;9731:17:1;;9728:2;;;9751:18;;:::i;:::-;-1:-1:-1;9798:1:1;9787:13;;9718:88::o;9811:127::-;9872:10;9867:3;9863:20;9860:1;9853:31;9903:4;9900:1;9893:15;9927:4;9924:1;9917:15
Swarm Source
ipfs://06dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd1763552
Loading...
Loading
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.