Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
TokenTracker
Multichain Info
N/A
Latest 25 from a total of 2,128 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 8960219 | 769 days ago | IN | 0 ETH | 0.000004155434 | ||||
| Transfer | 8896579 | 770 days ago | IN | 0 ETH | 0.000083894822 | ||||
| Approve | 8889404 | 771 days ago | IN | 0 ETH | 0.000002529633 | ||||
| Transfer | 8888360 | 771 days ago | IN | 0 ETH | 0.000057774258 | ||||
| Transfer | 8887602 | 771 days ago | IN | 0 ETH | 0.000057458535 | ||||
| Approve | 8791048 | 773 days ago | IN | 0 ETH | 0.000002901426 | ||||
| Transfer | 8752671 | 774 days ago | IN | 0 ETH | 0.00005783785 | ||||
| Approve | 8752632 | 774 days ago | IN | 0 ETH | 0.000073362623 | ||||
| Approve | 8751010 | 774 days ago | IN | 0 ETH | 0.000003503951 | ||||
| Approve | 8735835 | 774 days ago | IN | 0 ETH | 0.000002987642 | ||||
| Approve | 8735197 | 774 days ago | IN | 0 ETH | 0.000003000503 | ||||
| Approve | 8716519 | 775 days ago | IN | 0 ETH | 0.000003404741 | ||||
| Approve | 8700849 | 775 days ago | IN | 0 ETH | 0.000003349377 | ||||
| Approve | 8667764 | 776 days ago | IN | 0 ETH | 0.000003156765 | ||||
| Approve | 8666388 | 776 days ago | IN | 0 ETH | 0.000003365825 | ||||
| Approve | 8666357 | 776 days ago | IN | 0 ETH | 0.000003088054 | ||||
| Approve | 8666349 | 776 days ago | IN | 0 ETH | 0.000003003143 | ||||
| Approve | 8666308 | 776 days ago | IN | 0 ETH | 0.000003373095 | ||||
| Approve | 8666286 | 776 days ago | IN | 0 ETH | 0.000004247458 | ||||
| Approve | 8666259 | 776 days ago | IN | 0 ETH | 0.00000455988 | ||||
| Approve | 8666251 | 776 days ago | IN | 0 ETH | 0.000004759187 | ||||
| Approve | 8666226 | 776 days ago | IN | 0 ETH | 0.000003356899 | ||||
| Approve | 8666197 | 776 days ago | IN | 0 ETH | 0.000003109007 | ||||
| Approve | 8666141 | 776 days ago | IN | 0 ETH | 0.00000407031 | ||||
| Approve | 8666109 | 776 days ago | IN | 0 ETH | 0.000002985514 |
Loading...
Loading
Contract Name:
GameToken
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 150 runs
Other Settings:
istanbul EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1
/**
▒▓▒ ▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓▓▒ ▒▒▒▒▓▓▓▒▓▓▓▓▓▓▓██▓
▒██▒▓▓▓▓█▓██████████████████▓ ▒▒▒▓███████████████▒
▒██▒▓█████████████████████▒ ▒▓██████████▓███████
▒███████████▓▒ ▒███▓▓██████▓
█████████▒ ▒▓▒▓███████▒
███████▓ ▒▒▒▒▒▓▓█▓▒ ▓█▓████████
▒▒▒▒▒ ▒▒▒▒▓▓▓█████▒ ▓█████████▓
▒▓▓▓▒▓██████▓ ▒▓▓████████▒
▒██▓▓▓███████▒ ▒▒▓███▓████
▒███▓█████▒ ▒▒█████▓██▓
██████▓ ▒▒▒▓██▓██▓█████▒
▒▒▓▓▒ ▒██▓▒▓▓████████
▓█████▓███████▓
██▓▓██████████▒
▒█████████████
███████████▓
▒▓▓▓▓▓▓▒▓ ▒█████████▒ ▒▓▓
▒▓█▒ ▒▒█▒▒ ▓██████ ▒▒▓▓▒
▒▒█▒ ▓▒ ▒████ ▒▓█▓█▓▒
▓▒██▓▒ ██ ▒▓█▓▓▓██▒
▓█▓▓▓▓▓█▓▓▓▒ ▒▒▒ ▒▒▒▓▓▓▓▒▓▒▒▓▒▓▓▓▓▓▓▓▓▒ ▒▓█▒ ▒▓▒▓█▓
▒▓█▓▓▓▓▓▓▓▓▓▓▒ ▒▒▒▓▒ ▒▒▒▓▓ ▓▓ ▓▓█▓ ▒▒▓▓ ▒▒█▒ ▒▓▒▓█▓
▒▒▓▓▓▒▓▒ ▒▓▓▓▒█▒ ▒▒▒█▒ ▒▒█▓▒▒▒▓▓▓▒ ▓██▓▓▓▓▓▓▓███▓
▒ ▒▓▓█▓ ▒▓▓▓▓█▓█▓ ▒█▓▓▒ ▓▓█▓▒▓█▓▒▒ ▓█▓ ▓███▓
▓▓▒ ▒▒▓▓█▓▒▒▓█▒ ▒▓██▓ ▓██▓▒ ▒█▓ ▓▓██ ▒▓▓▓▒▒▓█▓ ▒▓████▒
██▓▓▒▒▒▒▓▓███▓▒ ▒▓▓▓▓▒▒ ▒▓▓▓▓▓▓▓▒▒▒▓█▓▓▓▓█▓▓▒▒▓▓▓▓▓▒ ▒▓████▓▒ ▓▓███████▓▓▒
*/
pragma solidity 0.8.23;
import "../interfaces/IGameToken.sol";
import "../relay/ERC2771Context.sol";
contract GameToken is IGameToken, ERC2771Context {
// ---- CONSTANTS ----
string public constant symbol = "SACRA";
string public constant name = "Sacra token";
uint8 public constant decimals = 18;
// ---- VARIABLES ----
uint public override totalSupply = 0;
bool public paused;
mapping(address => uint) public override balanceOf;
mapping(address => mapping(address => uint)) public override allowance;
address public override minter;
// ---- EVENTS ----
event ChangePauseStatus(bool value);
event MinterChanged(address value);
// ---- CONSTRUCTOR ----
constructor() {
minter = _msgSender();
_mint(_msgSender(), 0);
}
// ---- MAIN LOGIC ----
function approve(address _spender, uint _value) external override returns (bool) {
require(_spender != address(0), "Approve to the zero address");
allowance[_msgSender()][_spender] = _value;
emit Approval(_msgSender(), _spender, _value);
return true;
}
function _mint(address _to, uint _amount) internal returns (bool) {
require(_to != address(0), "Mint to the zero address");
require(!paused, "Paused");
balanceOf[_to] += _amount;
totalSupply += _amount;
emit Transfer(address(0x0), _to, _amount);
return true;
}
function _transfer(address _from, address _to, uint _value) internal returns (bool) {
require(_to != address(0), "Transfer to the zero address");
require(!paused, "Paused");
uint fromBalance = balanceOf[_from];
require(fromBalance >= _value, "Transfer amount exceeds balance");
unchecked {
balanceOf[_from] = fromBalance - _value;
}
balanceOf[_to] += _value;
emit Transfer(_from, _to, _value);
return true;
}
function transfer(address _to, uint _value) external override returns (bool) {
return _transfer(_msgSender(), _to, _value);
}
function transferFrom(address _from, address _to, uint _value) external override returns (bool) {
address spender = _msgSender();
uint spenderAllowance = allowance[_from][spender];
if (spenderAllowance != type(uint).max) {
require(spenderAllowance >= _value, "Insufficient allowance");
unchecked {
uint newAllowance = spenderAllowance - _value;
allowance[_from][spender] = newAllowance;
emit Approval(_from, spender, newAllowance);
}
}
return _transfer(_from, _to, _value);
}
function burn(uint amount) external override returns (bool) {
address from = _msgSender();
uint accountBalance = balanceOf[from];
require(accountBalance >= amount, "Burn amount exceeds balance");
unchecked {
balanceOf[from] = accountBalance - amount;
// Overflow not possible: amount <= accountBalance <= totalSupply.
totalSupply -= amount;
}
emit Transfer(from, address(0), amount);
return true;
}
// ---- MINTER ACTIONS ----
function mint(address account, uint amount) external override returns (bool) {
require(msg.sender == minter, "Not minter");
_mint(account, amount);
return true;
}
// No checks as its meant to be once off to set minting rights to Minter
function setMinter(address _minter) external override {
require(msg.sender == minter, "Not minter");
minter = _minter;
emit MinterChanged(_minter);
}
function pause(bool value) external override {
require(msg.sender == minter, "Not minter");
paused = value;
emit ChangePauseStatus(value);
}
}// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.23;
import "../openzeppelin/IERC20.sol";
interface IGameToken is IERC20 {
function minter() external view returns (address);
function mint(address account, uint amount) external returns (bool);
function burn(uint amount) external returns (bool);
function setMinter(address _minter) external;
function pause(bool value) external;
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @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);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (metatx/ERC2771Context.sol)
pragma solidity ^0.8.1;
/**
* @dev Context variant with ERC2771 support.
*/
// based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol
abstract contract ERC2771Context {
// for whitelist new relayers need to add new constants and update proxies
// address private constant GELATO_RELAY = 0xaBcC9b596420A9E9172FD5938620E265a0f9Df92;
// address private constant GELATO_RELAY_ERC_2771 = 0xb539068872230f20456CF38EC52EF2f91AF4AE49;
// address private constant GELATO_RELAY_CONCURRENT_ERC_2771 = 0x8598806401A63Ddf52473F1B3C55bC9E33e2d73b;
// address private constant GELATO_RELAY_1_BALANCE = 0x75bA5Af8EFFDCFca32E1e288806d54277D1fde99;
address private constant GELATO_RELAY_1_BALANCE_ERC_2771 = 0xd8253782c45a12053594b9deB72d8e8aB2Fca54c;
// address private constant GELATO_RELAY_1_BALANCE_CONCURRENT_ERC_2771 = 0xc65d82ECE367EF06bf2AB791B3f3CF037Dc0e816;
function isTrustedForwarder(address forwarder) public view virtual returns (bool){
return forwarder == GELATO_RELAY_1_BALANCE_ERC_2771;
}
function _msgSender() internal view virtual returns (address sender) {
if (isTrustedForwarder(msg.sender)) {
// The assembly code is more direct than the Solidity version using `abi.decode`.
/// @solidity memory-safe-assembly
assembly {
sender := shr(96, calldataload(sub(calldatasize(), 20)))
}
return sender;
} else {
return msg.sender;
}
}
function _msgData() internal view virtual returns (bytes calldata) {
if (isTrustedForwarder(msg.sender)) {
return msg.data[: msg.data.length - 20];
} else {
return msg.data;
}
}
/// @notice Return true if given address is not a smart contract but a wallet address.
/// @dev It is not 100% guarantee after EIP-3074 implementation, use it as an additional check.
/// @return true if the address is a wallet.
function _isNotSmartContract() internal view returns (bool) {
return isTrustedForwarder(msg.sender) || msg.sender == tx.origin;
}
}{
"evmVersion": "istanbul",
"optimizer": {
"enabled": true,
"runs": 150
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract ABI
API[{"inputs":[],"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":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ChangePauseStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"MinterChanged","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":[{"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"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","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":"bool","name":"value","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"setMinter","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"}]Contract Creation Code
60806040526000805534801561001457600080fd5b5061001d610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561004f610048610055565b6000610084565b506101ce565b600073d8253782c45a12053594b9deb72d8e8ab2fca54c330361007f575060131936013560601c90565b503390565b60006001600160a01b0383166100e15760405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f2061646472657373000000000000000060448201526064015b60405180910390fd5b60015460ff161561011d5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016100d8565b6001600160a01b038316600090815260026020526040812080548492906101459084906101ad565b925050819055508160008082825461015d91906101ad565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015b92915050565b808201808211156101a757634e487b7160e01b600052601160045260246000fd5b610ba0806101dd6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806342966c681161009757806395d89b411161006657806395d89b411461026f578063a9059cbb14610293578063dd62ed3e146102a6578063fca3b5aa146102d157600080fd5b806342966c68146101ff578063572b6c05146102125780635c975abb1461024257806370a082311461024f57600080fd5b806318160ddd116100d357806318160ddd146101a857806323b872dd146101bf578063313ce567146101d257806340c10f19146101ec57600080fd5b806302329a291461010557806306fdde031461011a578063075461721461015a578063095ea7b314610185575b600080fd5b6101186101133660046109cb565b6102e4565b005b6101446040518060400160405280600b81526020016a29b0b1b930903a37b5b2b760a91b81525081565b60405161015191906109ed565b60405180910390f35b60045461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b610198610193366004610a58565b61035f565b6040519015158152602001610151565b6101b160005481565b604051908152602001610151565b6101986101cd366004610a82565b610448565b6101da601281565b60405160ff9091168152602001610151565b6101986101fa366004610a58565b610549565b61019861020d366004610abe565b61058a565b610198610220366004610ad7565b6001600160a01b031673d8253782c45a12053594b9deb72d8e8ab2fca54c1490565b6001546101989060ff1681565b6101b161025d366004610ad7565b60026020526000908152604090205481565b61014460405180604001604052806005815260200164534143524160d81b81525081565b6101986102a1366004610a58565b610664565b6101b16102b4366004610af2565b600360209081526000928352604080842090915290825290205481565b6101186102df366004610ad7565b61067f565b6004546001600160a01b031633146103175760405162461bcd60e51b815260040161030e90610b25565b60405180910390fd5b6001805460ff19168215159081179091556040519081527f58bacb7f0dd4d609de27cc5c3f458b9a9bdcf5d148bca9f186b33ad75d2c23b4906020015b60405180910390a150565b60006001600160a01b0383166103b75760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161030e565b81600360006103c46106f7565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556103fc6106f7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161043691815260200190565b60405180910390a35060015b92915050565b6000806104536106f7565b6001600160a01b03808716600090815260036020908152604080832093851683529290522054909150600019811461053457838110156104ce5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015260640161030e565b6001600160a01b03868116600081815260036020908152604080832094871680845294825291829020888603908190559151828152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b61053f868686610726565b9695505050505050565b6004546000906001600160a01b031633146105765760405162461bcd60e51b815260040161030e90610b25565b61058083836108b9565b5060019392505050565b6000806105956106f7565b6001600160a01b038116600090815260026020526040902054909150838110156106015760405162461bcd60e51b815260206004820152601b60248201527f4275726e20616d6f756e7420657863656564732062616c616e63650000000000604482015260640161030e565b6001600160a01b0382166000818152600260209081526040808320888603905582548890038355518781529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35060019392505050565b60006106786106716106f7565b8484610726565b9392505050565b6004546001600160a01b031633146106a95760405162461bcd60e51b815260040161030e90610b25565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb6b8f1859c5c352e5ffad07d0f77e384ac725512c015bd3a3ffc885831c8a42590602001610354565b600073d8253782c45a12053594b9deb72d8e8ab2fca54c3303610721575060131936013560601c90565b503390565b60006001600160a01b03831661077e5760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161030e565b60015460ff16156107ba5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015260640161030e565b6001600160a01b038416600090815260026020526040902054828110156108235760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604482015260640161030e565b6001600160a01b0380861660009081526002602052604080822086850390559186168152908120805485929061085a908490610b49565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108a691815260200190565b60405180910390a3506001949350505050565b60006001600160a01b03831661090c5760405162461bcd60e51b81526020600482015260186024820152774d696e7420746f20746865207a65726f206164647265737360401b604482015260640161030e565b60015460ff16156109485760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015260640161030e565b6001600160a01b03831660009081526002602052604081208054849290610970908490610b49565b92505081905550816000808282546109889190610b49565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610436565b6000602082840312156109dd57600080fd5b8135801515811461067857600080fd5b60006020808352835180602085015260005b81811015610a1b578581018301518582016040015282016109ff565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a5357600080fd5b919050565b60008060408385031215610a6b57600080fd5b610a7483610a3c565b946020939093013593505050565b600080600060608486031215610a9757600080fd5b610aa084610a3c565b9250610aae60208501610a3c565b9150604084013590509250925092565b600060208284031215610ad057600080fd5b5035919050565b600060208284031215610ae957600080fd5b61067882610a3c565b60008060408385031215610b0557600080fd5b610b0e83610a3c565b9150610b1c60208401610a3c565b90509250929050565b6020808252600a90820152692737ba1036b4b73a32b960b11b604082015260600190565b8082018082111561044257634e487b7160e01b600052601160045260246000fdfea26469706673582212209ef98bb4252889af9fd8be1d231b0476bd57772edfb6daef71ca3c2d5710b32b64736f6c63430008170033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c806342966c681161009757806395d89b411161006657806395d89b411461026f578063a9059cbb14610293578063dd62ed3e146102a6578063fca3b5aa146102d157600080fd5b806342966c68146101ff578063572b6c05146102125780635c975abb1461024257806370a082311461024f57600080fd5b806318160ddd116100d357806318160ddd146101a857806323b872dd146101bf578063313ce567146101d257806340c10f19146101ec57600080fd5b806302329a291461010557806306fdde031461011a578063075461721461015a578063095ea7b314610185575b600080fd5b6101186101133660046109cb565b6102e4565b005b6101446040518060400160405280600b81526020016a29b0b1b930903a37b5b2b760a91b81525081565b60405161015191906109ed565b60405180910390f35b60045461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b610198610193366004610a58565b61035f565b6040519015158152602001610151565b6101b160005481565b604051908152602001610151565b6101986101cd366004610a82565b610448565b6101da601281565b60405160ff9091168152602001610151565b6101986101fa366004610a58565b610549565b61019861020d366004610abe565b61058a565b610198610220366004610ad7565b6001600160a01b031673d8253782c45a12053594b9deb72d8e8ab2fca54c1490565b6001546101989060ff1681565b6101b161025d366004610ad7565b60026020526000908152604090205481565b61014460405180604001604052806005815260200164534143524160d81b81525081565b6101986102a1366004610a58565b610664565b6101b16102b4366004610af2565b600360209081526000928352604080842090915290825290205481565b6101186102df366004610ad7565b61067f565b6004546001600160a01b031633146103175760405162461bcd60e51b815260040161030e90610b25565b60405180910390fd5b6001805460ff19168215159081179091556040519081527f58bacb7f0dd4d609de27cc5c3f458b9a9bdcf5d148bca9f186b33ad75d2c23b4906020015b60405180910390a150565b60006001600160a01b0383166103b75760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f20616464726573730000000000604482015260640161030e565b81600360006103c46106f7565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556103fc6106f7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161043691815260200190565b60405180910390a35060015b92915050565b6000806104536106f7565b6001600160a01b03808716600090815260036020908152604080832093851683529290522054909150600019811461053457838110156104ce5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015260640161030e565b6001600160a01b03868116600081815260036020908152604080832094871680845294825291829020888603908190559151828152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b61053f868686610726565b9695505050505050565b6004546000906001600160a01b031633146105765760405162461bcd60e51b815260040161030e90610b25565b61058083836108b9565b5060019392505050565b6000806105956106f7565b6001600160a01b038116600090815260026020526040902054909150838110156106015760405162461bcd60e51b815260206004820152601b60248201527f4275726e20616d6f756e7420657863656564732062616c616e63650000000000604482015260640161030e565b6001600160a01b0382166000818152600260209081526040808320888603905582548890038355518781529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35060019392505050565b60006106786106716106f7565b8484610726565b9392505050565b6004546001600160a01b031633146106a95760405162461bcd60e51b815260040161030e90610b25565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb6b8f1859c5c352e5ffad07d0f77e384ac725512c015bd3a3ffc885831c8a42590602001610354565b600073d8253782c45a12053594b9deb72d8e8ab2fca54c3303610721575060131936013560601c90565b503390565b60006001600160a01b03831661077e5760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161030e565b60015460ff16156107ba5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015260640161030e565b6001600160a01b038416600090815260026020526040902054828110156108235760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604482015260640161030e565b6001600160a01b0380861660009081526002602052604080822086850390559186168152908120805485929061085a908490610b49565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108a691815260200190565b60405180910390a3506001949350505050565b60006001600160a01b03831661090c5760405162461bcd60e51b81526020600482015260186024820152774d696e7420746f20746865207a65726f206164647265737360401b604482015260640161030e565b60015460ff16156109485760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015260640161030e565b6001600160a01b03831660009081526002602052604081208054849290610970908490610b49565b92505081905550816000808282546109889190610b49565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610436565b6000602082840312156109dd57600080fd5b8135801515811461067857600080fd5b60006020808352835180602085015260005b81811015610a1b578581018301518582016040015282016109ff565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a5357600080fd5b919050565b60008060408385031215610a6b57600080fd5b610a7483610a3c565b946020939093013593505050565b600080600060608486031215610a9757600080fd5b610aa084610a3c565b9250610aae60208501610a3c565b9150604084013590509250925092565b600060208284031215610ad057600080fd5b5035919050565b600060208284031215610ae957600080fd5b61067882610a3c565b60008060408385031215610b0557600080fd5b610b0e83610a3c565b9150610b1c60208401610a3c565b90509250929050565b6020808252600a90820152692737ba1036b4b73a32b960b11b604082015260600190565b8082018082111561044257634e487b7160e01b600052601160045260246000fdfea26469706673582212209ef98bb4252889af9fd8be1d231b0476bd57772edfb6daef71ca3c2d5710b32b64736f6c63430008170033
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.