CELO Price: $0.10 (-4.05%)
Gas: 25 GWei

Contract

0xD21DacfBbDF2779ACCF19245Ca050e6BC92fA4ac

Overview

CELO Balance

Celo Mainnet LogoCelo Mainnet LogoCelo Mainnet Logo0 CELO

CELO Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

Transaction Hash
Block
From
To
Transfer570086552026-01-20 11:43:3311 days ago1768909413IN
0xD21DacfB...BC92fA4ac
0 CELO0.000821825.001
Transfer570082872026-01-20 11:37:2511 days ago1768909045IN
0xD21DacfB...BC92fA4ac
0 CELO0.000821825.001
Transfer563939502026-01-13 8:58:2818 days ago1768294708IN
0xD21DacfB...BC92fA4ac
0 CELO0.000821825.001
Approve563938122026-01-13 8:56:1018 days ago1768294570IN
0xD21DacfB...BC92fA4ac
0 CELO0.0012400225.001
Approve563938122026-01-13 8:56:1018 days ago1768294570IN
0xD21DacfB...BC92fA4ac
0 CELO0.000737225.001
Transfer563935452026-01-13 8:51:4318 days ago1768294303IN
0xD21DacfB...BC92fA4ac
0 CELO0.0013693225.001
Transfer560479002026-01-09 8:50:5822 days ago1767948658IN
0xD21DacfB...BC92fA4ac
0 CELO0.0012495725
Transfer Ownersh...560478542026-01-09 8:50:1222 days ago1767948612IN
0xD21DacfB...BC92fA4ac
0 CELO0.000744625.001
Mint To560478542026-01-09 8:50:1222 days ago1767948612IN
0xD21DacfB...BC92fA4ac
0 CELO0.0018459725.001

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x045B7f4D...8Dd48D834
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
GiftableToken

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at celoscan.io on 2025-07-02
*/

pragma solidity >=0.8.0;

// SPDX-License-Identifier: AGPL-3.0-or-later
// File-Version: 3

contract GiftableToken {

	// Implements EIP173
	address public owner;

	// Implements Writer
	mapping(address => bool) writer;

	// Implements ERC20
	string public name;
	// Implements ERC20
	string public symbol;
	// Implements ERC20
	uint8 public decimals;
	// Implements ERC20
	mapping (address => uint256) public balanceOf;
	// Implements ERC20
	mapping (address => mapping (address => uint256)) public allowance;

	// Implements Burner
	uint256 public totalMinted;
	// Implements Burner
	uint256 public totalBurned;

	// Implements Expire
	uint256 public expires;
	bool expired;

	// Implements ERC20
	event Transfer(address indexed _from, address indexed _to, uint256 _value);
	// Implements ERC20
	event TransferFrom(address indexed _from, address indexed _to, address indexed _spender, uint256 _value);
	// Implements ERC20
	event Approval(address indexed _owner, address indexed _spender, uint256 _value);

	// Implements Minter
	event Mint(address indexed _minter, address indexed _beneficiary, uint256 _value);

	// Implement Expire
	event Expired(uint256 _timestamp);

	// EIP173
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // EIP173	

	// Implements Writer
	event WriterAdded(address _writer);
	// Implements Writer
	event WriterRemoved(address _writer);

	// Implements Burner
	event Burn(uint256 _value);

	constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _expireTimestamp) {
		owner = msg.sender;
		name = _name;
		symbol = _symbol;
		decimals = _decimals;
		expires = _expireTimestamp;
	}

	// Implements ERC20
	function totalSupply() public view returns (uint256) {
		return totalMinted - totalBurned;
	}

	mapping(address => bool) writers;

	// Implements Minter
	function mintTo(address _to, uint256 _value) public returns (bool) {
		require(writers[msg.sender] || msg.sender == owner);

		balanceOf[_to] += _value;
		totalMinted += _value;

		emit Mint(msg.sender, _to, _value);

		return true;
	}

	// Implements Minter
	// Implements ERC5679Ext20
	function mint(address _to, uint256 _value, bytes calldata _data) public {
		_data;
		mintTo(_to, _value);
	}

	// Implements Writer
	function addWriter(address _minter) public returns (bool) {
		require(msg.sender == owner);

		writers[_minter] = true;

		return true;
	}

	// Implements Writer
	function deleteWriter(address _minter) public returns (bool) {
		require(msg.sender == owner || msg.sender == _minter);

		writers[_minter] = false;

		return true;
	}

	// Implements Writer
	function isWriter(address _minter) public view returns(bool) {
		return writers[_minter] || _minter == owner;
	}

	// Implements Expire
	function applyExpiry() public returns(uint8) {
		if (expires == 0) {
			return 0;
		}
		if (expired) {
			return 1;
		}
		if (block.timestamp >= expires) {
			expired = true;
			emit Expired(block.timestamp);
			return 2;
		}
		return 0;

	}

	// Implements ERC20
	function transfer(address _to, uint256 _value) public returns (bool) {
		require(applyExpiry() == 0);
		require(balanceOf[msg.sender] >= _value);
		balanceOf[msg.sender] -= _value; 
		balanceOf[_to] += _value;
		emit Transfer(msg.sender, _to, _value);
		return true;
	}

	// Implements Burner
	function burn(uint256 _value) public returns (bool) {
		require(msg.sender == owner, 'ERR_ACCESS');
		require(balanceOf[msg.sender] >= _value, 'ERR_FUNDS');

		balanceOf[msg.sender] -= _value;
		totalBurned += _value;

		emit Burn(_value);
		return true;
	}

	// Implements Burner
	function burn() public returns(bool) {
		return burn(balanceOf[msg.sender]);
	}

	// Implements Burner
	// Implements ERC5679Ext20
	function burn(address _from, uint256 _value, bytes calldata _data) public {
		require(msg.sender == _from, 'ERR_NOT_SELF');
		_data;
		burn(_value);
	}

	// Implements ERC20
	function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
		require(applyExpiry() == 0);
		require(allowance[_from][msg.sender] >= _value);
		require(balanceOf[_from] >= _value);
		allowance[_from][msg.sender] = allowance[_from][msg.sender] - _value;
		balanceOf[_from] -= _value; 
		balanceOf[_to] += _value;
		emit TransferFrom(_from, _to, msg.sender, _value);
		return true;
	}

	// Implements ERC20
	function approve(address _spender, uint256 _value) public returns (bool) {
		require(applyExpiry() == 0);
		if (_value > 0) {
			require(allowance[msg.sender][_spender] == 0);
		}
		allowance[msg.sender][_spender] = _value;
		emit Approval(msg.sender, _spender, _value);
		return true;
	}

	// Implements EIP173
    function transferOwnership(address _newOwner) public returns (bool) {
        address oldOwner;

        require(msg.sender == owner);
        oldOwner = owner;
        owner = _newOwner;

        emit OwnershipTransferred(oldOwner, owner);
        return true;
    }

	// Implements EIP165
	function supportsInterface(bytes4 _sum) public pure returns (bool) {
		if (_sum == 0xb61bc941) { // ERC20
			return true;
		}
		if (_sum == 0x449a52f8) { // Minter
			return true;
		}
		if (_sum == 0x01ffc9a7) { // EIP165
			return true;
		}
		if (_sum == 0x9493f8b2) { // EIP173
			return true;
		}
		if (_sum == 0xabe1f1f5) { // Writer
			return true;
		}
		if (_sum == 0xb1110c1b) { // Burner
			return true;
		}
		if (_sum == 0x841a0e94) { // Expire
			return true;
		}
		return false;
	}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_expireTimestamp","type":"uint256"}],"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":"uint256","name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"Expired","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_minter","type":"address"},{"indexed":true,"internalType":"address","name":"_beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Mint","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":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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_writer","type":"address"}],"name":"WriterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_writer","type":"address"}],"name":"WriterRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"name":"applyExpiry","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"nonpayable","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":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"_minter","type":"address"}],"name":"deleteWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"expires","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"isWriter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"mintTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_sum","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

0x608060405234801561000f575f5ffd5b506040516110ec3803806110ec83398101604081905261002e9161012b565b5f80546001600160a01b03191633179055600261004b8582610232565b5060036100588482610232565b506004805460ff191660ff9390931692909217909155600955506102ec9050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261009c575f5ffd5b81516001600160401b038111156100b5576100b5610079565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100e3576100e3610079565b6040528181528382016020018510156100fa575f5ffd5b5f5b82811015610118576020818601810151838301820152016100fc565b505f918101602001919091529392505050565b5f5f5f5f6080858703121561013e575f5ffd5b84516001600160401b03811115610153575f5ffd5b61015f8782880161008d565b602087015190955090506001600160401b0381111561017c575f5ffd5b6101888782880161008d565b935050604085015160ff8116811461019e575f5ffd5b6060959095015193969295505050565b600181811c908216806101c257607f821691505b6020821081036101e057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561022d57805f5260205f20601f840160051c8101602085101561020b5750805b601f840160051c820191505b8181101561022a575f8155600101610217565b50505b505050565b81516001600160401b0381111561024b5761024b610079565b61025f8161025984546101ae565b846101e6565b6020601f821160018114610291575f831561027a5750848201515b5f19600385901b1c1916600184901b17845561022a565b5f84815260208120601f198516915b828110156102c057878501518255602094850194600190920191016102a0565b50848210156102dd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610df3806102f95f395ff3fe608060405234801561000f575f5ffd5b5060043610610153575f3560e01c80635f408c04116100bf578063a9059cbb11610079578063a9059cbb146102cd578063b1cb0db3146102e0578063d89135cd146102e9578063da2824a8146102f2578063dd62ed3e14610305578063f2fde38b1461032f575f5ffd5b80635f408c041461025857806370a08231146102605780638da5cb5b1461027f57806394d008ef146102a957806395d89b41146102bc578063a2309ff8146102c4575f5ffd5b8063313ce56711610110578063313ce567146101e357806342966c6814610202578063449a52f81461021557806344d171871461022857806344df8e701461023d5780635ae06f7e14610245575f5ffd5b806301ffc9a71461015757806306fdde031461017f578063095ea7b31461019457806318160ddd146101a757806323b872dd146101bd5780632b29ba23146101d0575b5f5ffd5b61016a610165366004610b71565b610342565b60405190151581526020015b60405180910390f35b61018761042a565b6040516101769190610b9f565b61016a6101a2366004610c05565b6104b6565b6101af610562565b604051908152602001610176565b61016a6101cb366004610c2d565b610578565b61016a6101de366004610c67565b6106cd565b6004546101f09060ff1681565b60405160ff9091168152602001610176565b61016a610210366004610c80565b610702565b61016a610223366004610c05565b61080e565b61023b610236366004610c97565b6108bd565b005b61016a610914565b61016a610253366004610c67565b61092c565b6101f0610979565b6101af61026e366004610c67565b60056020525f908152604090205481565b5f54610291906001600160a01b031681565b6040516001600160a01b039091168152602001610176565b61023b6102b7366004610c97565b6109f4565b6101876109fe565b6101af60075481565b61016a6102db366004610c05565b610a0b565b6101af60095481565b6101af60085481565b61016a610300366004610c67565b610ac6565b6101af610313366004610d1a565b600660209081525f928352604080842090915290825290205481565b61016a61033d366004610c67565b610b04565b5f6001600160e01b0319821663b61bc94160e01b0361036357506001919050565b6001600160e01b031982166308934a5f60e31b0361038357506001919050565b6001600160e01b031982166301ffc9a760e01b036103a357506001919050565b6001600160e01b03198216634a49fc5960e11b036103c357506001919050565b6001600160e01b0319821663abe1f1f560e01b036103e357506001919050565b6001600160e01b0319821663b1110c1b60e01b0361040357506001919050565b6001600160e01b0319821663210683a560e21b0361042357506001919050565b505f919050565b6002805461043790610d4b565b80601f016020809104026020016040519081016040528092919081815260200182805461046390610d4b565b80156104ae5780601f10610485576101008083540402835291602001916104ae565b820191905f5260205f20905b81548152906001019060200180831161049157829003601f168201915b505050505081565b5f6104bf610979565b60ff16156104cb575f5ffd5b81156104fd57335f9081526006602090815260408083206001600160a01b0387168452909152902054156104fd575f5ffd5b335f8181526006602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b5f6008546007546105739190610d97565b905090565b5f610581610979565b60ff161561058d575f5ffd5b6001600160a01b0384165f9081526006602090815260408083203384529091529020548211156105bb575f5ffd5b6001600160a01b0384165f908152600560205260409020548211156105de575f5ffd5b6001600160a01b0384165f90815260066020908152604080832033845290915290205461060c908390610d97565b6001600160a01b0385165f8181526006602090815260408083203384528252808320949094559181526005909152908120805484929061064d908490610d97565b90915550506001600160a01b0383165f9081526005602052604081208054849290610679908490610daa565b909155505060405182815233906001600160a01b0385811691908716907f5f7542858008eeb041631f30e6109ae94b83a58e9a58261dd2c42c508850f9399060200160405180910390a45060019392505050565b6001600160a01b0381165f908152600b602052604081205460ff168061055c5750505f546001600160a01b0390811691161490565b5f80546001600160a01b0316331461074e5760405162461bcd60e51b815260206004820152600a6024820152694552525f41434345535360b01b60448201526064015b60405180910390fd5b335f908152600560205260409020548211156107985760405162461bcd60e51b81526020600482015260096024820152684552525f46554e445360b81b6044820152606401610745565b335f90815260056020526040812080548492906107b6908490610d97565b925050819055508160085f8282546107ce9190610daa565b90915550506040518281527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a1506001919050565b335f908152600b602052604081205460ff168061083457505f546001600160a01b031633145b61083c575f5ffd5b6001600160a01b0383165f9081526005602052604081208054849290610863908490610daa565b925050819055508160075f82825461087b9190610daa565b90915550506040518281526001600160a01b0384169033907fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f890602001610550565b336001600160a01b038516146109045760405162461bcd60e51b815260206004820152600c60248201526b22a9292fa727aa2fa9a2a62360a11b6044820152606401610745565b61090d83610702565b5050505050565b335f9081526005602052604081205461057390610702565b5f80546001600160a01b031633148061094d5750336001600160a01b038316145b610955575f5ffd5b506001600160a01b03165f908152600b60205260409020805460ff19169055600190565b5f6009545f0361098857505f90565b600a5460ff16156109995750600190565b60095442106109ef57600a805460ff191660011790556040517ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe9906109e19042815260200190565b60405180910390a150600290565b505f90565b61090d848461080e565b6003805461043790610d4b565b5f610a14610979565b60ff1615610a20575f5ffd5b335f90815260056020526040902054821115610a3a575f5ffd5b335f9081526005602052604081208054849290610a58908490610d97565b90915550506001600160a01b0383165f9081526005602052604081208054849290610a84908490610daa565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610550565b5f80546001600160a01b03163314610adc575f5ffd5b506001600160a01b03165f908152600b60205260409020805460ff1916600190811790915590565b5f805481906001600160a01b03163314610b1c575f5ffd5b505f80546001600160a01b038481166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350600192915050565b5f60208284031215610b81575f5ffd5b81356001600160e01b031981168114610b98575f5ffd5b9392505050565b602081525f82518060208401525f5b81811015610bcb5760208186018101516040868401015201610bae565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610c00575f5ffd5b919050565b5f5f60408385031215610c16575f5ffd5b610c1f83610bea565b946020939093013593505050565b5f5f5f60608486031215610c3f575f5ffd5b610c4884610bea565b9250610c5660208501610bea565b929592945050506040919091013590565b5f60208284031215610c77575f5ffd5b610b9882610bea565b5f60208284031215610c90575f5ffd5b5035919050565b5f5f5f5f60608587031215610caa575f5ffd5b610cb385610bea565b935060208501359250604085013567ffffffffffffffff811115610cd5575f5ffd5b8501601f81018713610ce5575f5ffd5b803567ffffffffffffffff811115610cfb575f5ffd5b876020828401011115610d0c575f5ffd5b949793965060200194505050565b5f5f60408385031215610d2b575f5ffd5b610d3483610bea565b9150610d4260208401610bea565b90509250929050565b600181811c90821680610d5f57607f821691505b602082108103610d7d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561055c5761055c610d83565b8082018082111561055c5761055c610d8356fea26469706673582212208cfe9650d4224347e313bf7a1d6b14bbdf38178a52a5437914f7da607bba820464736f6c634300081e0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4b61647a6f204a6f73657068000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064b41445a4f4f00000000000000000000000000000000000000000000000000006decb85d010080000000000000000000000000d08913a93c2c28b2bf6717264378c57083a5ef5c0000000000000000000000005523058cdffe5f3c1eadadd5015e55c6e00fb43900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f5ffd5b5060043610610153575f3560e01c80635f408c04116100bf578063a9059cbb11610079578063a9059cbb146102cd578063b1cb0db3146102e0578063d89135cd146102e9578063da2824a8146102f2578063dd62ed3e14610305578063f2fde38b1461032f575f5ffd5b80635f408c041461025857806370a08231146102605780638da5cb5b1461027f57806394d008ef146102a957806395d89b41146102bc578063a2309ff8146102c4575f5ffd5b8063313ce56711610110578063313ce567146101e357806342966c6814610202578063449a52f81461021557806344d171871461022857806344df8e701461023d5780635ae06f7e14610245575f5ffd5b806301ffc9a71461015757806306fdde031461017f578063095ea7b31461019457806318160ddd146101a757806323b872dd146101bd5780632b29ba23146101d0575b5f5ffd5b61016a610165366004610b71565b610342565b60405190151581526020015b60405180910390f35b61018761042a565b6040516101769190610b9f565b61016a6101a2366004610c05565b6104b6565b6101af610562565b604051908152602001610176565b61016a6101cb366004610c2d565b610578565b61016a6101de366004610c67565b6106cd565b6004546101f09060ff1681565b60405160ff9091168152602001610176565b61016a610210366004610c80565b610702565b61016a610223366004610c05565b61080e565b61023b610236366004610c97565b6108bd565b005b61016a610914565b61016a610253366004610c67565b61092c565b6101f0610979565b6101af61026e366004610c67565b60056020525f908152604090205481565b5f54610291906001600160a01b031681565b6040516001600160a01b039091168152602001610176565b61023b6102b7366004610c97565b6109f4565b6101876109fe565b6101af60075481565b61016a6102db366004610c05565b610a0b565b6101af60095481565b6101af60085481565b61016a610300366004610c67565b610ac6565b6101af610313366004610d1a565b600660209081525f928352604080842090915290825290205481565b61016a61033d366004610c67565b610b04565b5f6001600160e01b0319821663b61bc94160e01b0361036357506001919050565b6001600160e01b031982166308934a5f60e31b0361038357506001919050565b6001600160e01b031982166301ffc9a760e01b036103a357506001919050565b6001600160e01b03198216634a49fc5960e11b036103c357506001919050565b6001600160e01b0319821663abe1f1f560e01b036103e357506001919050565b6001600160e01b0319821663b1110c1b60e01b0361040357506001919050565b6001600160e01b0319821663210683a560e21b0361042357506001919050565b505f919050565b6002805461043790610d4b565b80601f016020809104026020016040519081016040528092919081815260200182805461046390610d4b565b80156104ae5780601f10610485576101008083540402835291602001916104ae565b820191905f5260205f20905b81548152906001019060200180831161049157829003601f168201915b505050505081565b5f6104bf610979565b60ff16156104cb575f5ffd5b81156104fd57335f9081526006602090815260408083206001600160a01b0387168452909152902054156104fd575f5ffd5b335f8181526006602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b5f6008546007546105739190610d97565b905090565b5f610581610979565b60ff161561058d575f5ffd5b6001600160a01b0384165f9081526006602090815260408083203384529091529020548211156105bb575f5ffd5b6001600160a01b0384165f908152600560205260409020548211156105de575f5ffd5b6001600160a01b0384165f90815260066020908152604080832033845290915290205461060c908390610d97565b6001600160a01b0385165f8181526006602090815260408083203384528252808320949094559181526005909152908120805484929061064d908490610d97565b90915550506001600160a01b0383165f9081526005602052604081208054849290610679908490610daa565b909155505060405182815233906001600160a01b0385811691908716907f5f7542858008eeb041631f30e6109ae94b83a58e9a58261dd2c42c508850f9399060200160405180910390a45060019392505050565b6001600160a01b0381165f908152600b602052604081205460ff168061055c5750505f546001600160a01b0390811691161490565b5f80546001600160a01b0316331461074e5760405162461bcd60e51b815260206004820152600a6024820152694552525f41434345535360b01b60448201526064015b60405180910390fd5b335f908152600560205260409020548211156107985760405162461bcd60e51b81526020600482015260096024820152684552525f46554e445360b81b6044820152606401610745565b335f90815260056020526040812080548492906107b6908490610d97565b925050819055508160085f8282546107ce9190610daa565b90915550506040518281527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a1506001919050565b335f908152600b602052604081205460ff168061083457505f546001600160a01b031633145b61083c575f5ffd5b6001600160a01b0383165f9081526005602052604081208054849290610863908490610daa565b925050819055508160075f82825461087b9190610daa565b90915550506040518281526001600160a01b0384169033907fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f890602001610550565b336001600160a01b038516146109045760405162461bcd60e51b815260206004820152600c60248201526b22a9292fa727aa2fa9a2a62360a11b6044820152606401610745565b61090d83610702565b5050505050565b335f9081526005602052604081205461057390610702565b5f80546001600160a01b031633148061094d5750336001600160a01b038316145b610955575f5ffd5b506001600160a01b03165f908152600b60205260409020805460ff19169055600190565b5f6009545f0361098857505f90565b600a5460ff16156109995750600190565b60095442106109ef57600a805460ff191660011790556040517ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe9906109e19042815260200190565b60405180910390a150600290565b505f90565b61090d848461080e565b6003805461043790610d4b565b5f610a14610979565b60ff1615610a20575f5ffd5b335f90815260056020526040902054821115610a3a575f5ffd5b335f9081526005602052604081208054849290610a58908490610d97565b90915550506001600160a01b0383165f9081526005602052604081208054849290610a84908490610daa565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610550565b5f80546001600160a01b03163314610adc575f5ffd5b506001600160a01b03165f908152600b60205260409020805460ff1916600190811790915590565b5f805481906001600160a01b03163314610b1c575f5ffd5b505f80546001600160a01b038481166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350600192915050565b5f60208284031215610b81575f5ffd5b81356001600160e01b031981168114610b98575f5ffd5b9392505050565b602081525f82518060208401525f5b81811015610bcb5760208186018101516040868401015201610bae565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610c00575f5ffd5b919050565b5f5f60408385031215610c16575f5ffd5b610c1f83610bea565b946020939093013593505050565b5f5f5f60608486031215610c3f575f5ffd5b610c4884610bea565b9250610c5660208501610bea565b929592945050506040919091013590565b5f60208284031215610c77575f5ffd5b610b9882610bea565b5f60208284031215610c90575f5ffd5b5035919050565b5f5f5f5f60608587031215610caa575f5ffd5b610cb385610bea565b935060208501359250604085013567ffffffffffffffff811115610cd5575f5ffd5b8501601f81018713610ce5575f5ffd5b803567ffffffffffffffff811115610cfb575f5ffd5b876020828401011115610d0c575f5ffd5b949793965060200194505050565b5f5f60408385031215610d2b575f5ffd5b610d3483610bea565b9150610d4260208401610bea565b90509250929050565b600181811c90821680610d5f57607f821691505b602082108103610d7d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561055c5761055c610d83565b8082018082111561055c5761055c610d8356fea26469706673582212208cfe9650d4224347e313bf7a1d6b14bbdf38178a52a5437914f7da607bba820464736f6c634300081e0033

Deployed Bytecode Sourcemap

97:5578:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5157:515;;;;;;:::i;:::-;;:::i;:::-;;;470:14:1;;463:22;445:41;;433:2;418:18;5157:515:0;;;;;;;;257:18;;;:::i;:::-;;;;;;;:::i;4526:296::-;;;;;;:::i;:::-;;:::i;1762:95::-;;;:::i;:::-;;;1658:25:1;;;1646:2;1631:18;1762:95:0;1512:177:1;4078:421:0;;;;;;:::i;:::-;;:::i;2736:114::-;;;;;;:::i;:::-;;:::i;347:21::-;;;;;;;;;;;;2436:4:1;2424:17;;;2406:36;;2394:2;2379:18;347:21:0;2264:184:1;3464:266:0;;;;;;:::i;:::-;;:::i;1923:244::-;;;;;;:::i;:::-;;:::i;3896:155::-;;;;;;:::i;:::-;;:::i;:::-;;3758:81;;;:::i;2535:173::-;;;;;;:::i;:::-;;:::i;2878:255::-;;;:::i;394:45::-;;;;;;:::i;:::-;;;;;;;;;;;;;;149:20;;;;;-1:-1:-1;;;;;149:20:0;;;;;;-1:-1:-1;;;;;3627:32:1;;;3609:51;;3597:2;3582:18;149:20:0;3463:203:1;2224:111:0;;;;;;:::i;:::-;;:::i;301:20::-;;;:::i;560:26::-;;;;;;3160:276;;;;;;:::i;:::-;;:::i;668:22::-;;;;;;613:26;;;;;;2363:144;;;;;;:::i;:::-;;:::i;465:66::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4853:276;;;;;;:::i;:::-;;:::i;5157:515::-;5218:4;-1:-1:-1;;;;;;5233:18:0;;-1:-1:-1;;;5233:18:0;5229:56;;-1:-1:-1;5275:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5229:56::-;-1:-1:-1;;;;;;5293:18:0;;-1:-1:-1;;;5293:18:0;5289:57;;-1:-1:-1;5336:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5289:57::-;-1:-1:-1;;;;;;5354:18:0;;-1:-1:-1;;;5354:18:0;5350:57;;-1:-1:-1;5397:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5350:57::-;-1:-1:-1;;;;;;5415:18:0;;-1:-1:-1;;;5415:18:0;5411:57;;-1:-1:-1;5458:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5411:57::-;-1:-1:-1;;;;;;5476:18:0;;-1:-1:-1;;;5476:18:0;5472:57;;-1:-1:-1;5519:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5472:57::-;-1:-1:-1;;;;;;5537:18:0;;-1:-1:-1;;;5537:18:0;5533:57;;-1:-1:-1;5580:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5533:57::-;-1:-1:-1;;;;;;5598:18:0;;-1:-1:-1;;;5598:18:0;5594:57;;-1:-1:-1;5641:4:0;;5157:515;-1:-1:-1;5157:515:0:o;5594:57::-;-1:-1:-1;5662:5:0;;5157:515;-1:-1:-1;5157:515:0:o;257:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4526:296::-;4593:4;4612:13;:11;:13::i;:::-;:18;;;4604:27;;;;;;4640:10;;4636:73;;4676:10;4666:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4666:31:0;;;;;;;;;;:36;4658:45;;;;;;4723:10;4713:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4713:31:0;;;;;;;;;;;;:40;;;4763:38;1658:25:1;;;4713:31:0;;4723:10;4763:38;;1631:18:1;4763:38:0;;;;;;;;-1:-1:-1;4813:4:0;4526:296;;;;;:::o;1762:95::-;1806:7;1841:11;;1827;;:25;;;;:::i;:::-;1820:32;;1762:95;:::o;4078:421::-;4160:4;4179:13;:11;:13::i;:::-;:18;;;4171:27;;;;;;-1:-1:-1;;;;;4211:16:0;;;;;;:9;:16;;;;;;;;4228:10;4211:28;;;;;;;;:38;-1:-1:-1;4211:38:0;4203:47;;;;;;-1:-1:-1;;;;;4263:16:0;;;;;;:9;:16;;;;;;:26;-1:-1:-1;4263:26:0;4255:35;;;;;;-1:-1:-1;;;;;4326:16:0;;;;;;:9;:16;;;;;;;;4343:10;4326:28;;;;;;;;:37;;4357:6;;4326:37;:::i;:::-;-1:-1:-1;;;;;4295:16:0;;;;;;:9;:16;;;;;;;;4312:10;4295:28;;;;;;;:68;;;;4368:16;;;:9;:16;;;;;;:26;;4388:6;;4295:16;4368:26;;4388:6;;4368:26;:::i;:::-;;;;-1:-1:-1;;;;;;;4400:14:0;;;;;;:9;:14;;;;;:24;;4418:6;;4400:14;:24;;4418:6;;4400:24;:::i;:::-;;;;-1:-1:-1;;4434:44:0;;1658:25:1;;;4459:10:0;;-1:-1:-1;;;;;4434:44:0;;;;;;;;;;1646:2:1;1631:18;4434:44:0;;;;;;;-1:-1:-1;4490:4:0;4078:421;;;;;:::o;2736:114::-;-1:-1:-1;;;;;2809:16:0;;2791:4;2809:16;;;:7;:16;;;;;;;;;:36;;-1:-1:-1;;2840:5:0;;-1:-1:-1;;;;;2840:5:0;;;2829:16;;;;2736:114::o;3464:266::-;3510:4;3543:5;;-1:-1:-1;;;;;3543:5:0;3529:10;:19;3521:42;;;;-1:-1:-1;;;3521:42:0;;4918:2:1;3521:42:0;;;4900:21:1;4957:2;4937:18;;;4930:30;-1:-1:-1;;;4976:18:1;;;4969:40;5026:18;;3521:42:0;;;;;;;;;3586:10;3576:21;;;;:9;:21;;;;;;:31;-1:-1:-1;3576:31:0;3568:53;;;;-1:-1:-1;;;3568:53:0;;5257:2:1;3568:53:0;;;5239:21:1;5296:1;5276:18;;;5269:29;-1:-1:-1;;;5314:18:1;;;5307:39;5363:18;;3568:53:0;5055:332:1;3568:53:0;3638:10;3628:21;;;;:9;:21;;;;;:31;;3653:6;;3628:21;:31;;3653:6;;3628:31;:::i;:::-;;;;;;;;3679:6;3664:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;3697:12:0;;1658:25:1;;;3697:12:0;;1646:2:1;1631:18;3697:12:0;;;;;;;-1:-1:-1;3721:4:0;;3464:266;-1:-1:-1;3464:266:0:o;1923:244::-;2011:10;1984:4;2003:19;;;:7;:19;;;;;;;;;:42;;-1:-1:-1;2040:5:0;;-1:-1:-1;;;;;2040:5:0;2026:10;:19;2003:42;1995:51;;;;;;-1:-1:-1;;;;;2053:14:0;;;;;;:9;:14;;;;;:24;;2071:6;;2053:14;:24;;2071:6;;2053:24;:::i;:::-;;;;;;;;2097:6;2082:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;2115:29:0;;1658:25:1;;;-1:-1:-1;;;;;2115:29:0;;;2120:10;;2115:29;;1646:2:1;1631:18;2115:29:0;1512:177:1;3896:155:0;3983:10;-1:-1:-1;;;;;3983:19:0;;;3975:44;;;;-1:-1:-1;;;3975:44:0;;5594:2:1;3975:44:0;;;5576:21:1;5633:2;5613:18;;;5606:30;-1:-1:-1;;;5652:18:1;;;5645:42;5704:18;;3975:44:0;5392:336:1;3975:44:0;4034:12;4039:6;4034:4;:12::i;:::-;;3896:155;;;;:::o;3758:81::-;3822:10;3789:4;3812:21;;;:9;:21;;;;;;3807:27;;:4;:27::i;2535:173::-;2590:4;2623:5;;-1:-1:-1;;;;;2623:5:0;2609:10;:19;;:44;;-1:-1:-1;2632:10:0;-1:-1:-1;;;;;2632:21:0;;;2609:44;2601:53;;;;;;-1:-1:-1;;;;;;2661:16:0;2680:5;2661:16;;;:7;:16;;;;;:24;;-1:-1:-1;;2661:24:0;;;;;2535:173::o;2878:255::-;2916:5;2932:7;;2943:1;2932:12;2928:38;;-1:-1:-1;2959:1:0;;2878:255::o;2928:38::-;2974:7;;;;2970:33;;;-1:-1:-1;2996:1:0;;2878:255::o;2970:33::-;3030:7;;3011:15;:26;3007:107;;3045:7;:14;;-1:-1:-1;;3045:14:0;3055:4;3045:14;;;3070:24;;;;;;3078:15;1658:25:1;;1646:2;1631:18;;1512:177;3070:24:0;;;;;;;;-1:-1:-1;3107:1:0;;2878:255::o;3007:107::-;-1:-1:-1;3125:1:0;;2878:255::o;2224:111::-;2311:19;2318:3;2323:6;2311;:19::i;301:20::-;;;;;;;:::i;3160:276::-;3223:4;3242:13;:11;:13::i;:::-;:18;;;3234:27;;;;;;3284:10;3274:21;;;;:9;:21;;;;;;:31;-1:-1:-1;3274:31:0;3266:40;;;;;;3321:10;3311:21;;;;:9;:21;;;;;:31;;3336:6;;3311:21;:31;;3336:6;;3311:31;:::i;:::-;;;;-1:-1:-1;;;;;;;3348:14:0;;;;;;:9;:14;;;;;:24;;3366:6;;3348:14;:24;;3366:6;;3348:24;:::i;:::-;;;;-1:-1:-1;;3382:33:0;;1658:25:1;;;-1:-1:-1;;;;;3382:33:0;;;3391:10;;3382:33;;1646:2:1;1631:18;3382:33:0;1512:177:1;2363:144:0;2415:4;2448:5;;-1:-1:-1;;;;;2448:5:0;2434:10;:19;2426:28;;;;;;-1:-1:-1;;;;;;2461:16:0;;;;;:7;:16;;;;;:23;;-1:-1:-1;;2461:23:0;2480:4;2461:23;;;;;;2480:4;2363:144::o;4853:276::-;4915:4;4983:5;;4915:4;;-1:-1:-1;;;;;4983:5:0;4969:10;:19;4961:28;;;;;;-1:-1:-1;5011:5:0;;;-1:-1:-1;;;;;5027:17:0;;;-1:-1:-1;;;;;;5027:17:0;;;;;;5062:37;;5011:5;;;;;;;5062:37;;5011:5;5062:37;-1:-1:-1;5117:4:0;;4853:276;-1:-1:-1;;4853:276:0:o;14:286:1:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:1;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:1:o;497:527::-;646:2;635:9;628:21;609:4;678:6;672:13;721:6;716:2;705:9;701:18;694:34;746:1;756:140;770:6;767:1;764:13;756:140;;;881:2;865:14;;;861:23;;855:30;850:2;831:17;;;827:26;820:66;785:10;756:140;;;760:3;945:1;940:2;931:6;920:9;916:22;912:31;905:42;1015:2;1008;1004:7;999:2;991:6;987:15;983:29;972:9;968:45;964:54;956:62;;;497:527;;;;:::o;1029:173::-;1097:20;;-1:-1:-1;;;;;1146:31:1;;1136:42;;1126:70;;1192:1;1189;1182:12;1126:70;1029:173;;;:::o;1207:300::-;1275:6;1283;1336:2;1324:9;1315:7;1311:23;1307:32;1304:52;;;1352:1;1349;1342:12;1304:52;1375:29;1394:9;1375:29;:::i;:::-;1365:39;1473:2;1458:18;;;;1445:32;;-1:-1:-1;;;1207:300:1:o;1694:374::-;1771:6;1779;1787;1840:2;1828:9;1819:7;1815:23;1811:32;1808:52;;;1856:1;1853;1846:12;1808:52;1879:29;1898:9;1879:29;:::i;:::-;1869:39;;1927:38;1961:2;1950:9;1946:18;1927:38;:::i;:::-;1694:374;;1917:48;;-1:-1:-1;;;2034:2:1;2019:18;;;;2006:32;;1694:374::o;2073:186::-;2132:6;2185:2;2173:9;2164:7;2160:23;2156:32;2153:52;;;2201:1;2198;2191:12;2153:52;2224:29;2243:9;2224:29;:::i;2453:226::-;2512:6;2565:2;2553:9;2544:7;2540:23;2536:32;2533:52;;;2581:1;2578;2571:12;2533:52;-1:-1:-1;2626:23:1;;2453:226;-1:-1:-1;2453:226:1:o;2684:774::-;2772:6;2780;2788;2796;2849:2;2837:9;2828:7;2824:23;2820:32;2817:52;;;2865:1;2862;2855:12;2817:52;2888:29;2907:9;2888:29;:::i;:::-;2878:39;-1:-1:-1;2986:2:1;2971:18;;2958:32;;-1:-1:-1;3065:2:1;3050:18;;3037:32;3092:18;3081:30;;3078:50;;;3124:1;3121;3114:12;3078:50;3147:22;;3200:4;3192:13;;3188:27;-1:-1:-1;3178:55:1;;3229:1;3226;3219:12;3178:55;3269:2;3256:16;3295:18;3287:6;3284:30;3281:50;;;3327:1;3324;3317:12;3281:50;3372:7;3367:2;3358:6;3354:2;3350:15;3346:24;3343:37;3340:57;;;3393:1;3390;3383:12;3340:57;2684:774;;;;-1:-1:-1;3424:2:1;3416:11;;-1:-1:-1;;;2684:774:1:o;3671:260::-;3739:6;3747;3800:2;3788:9;3779:7;3775:23;3771:32;3768:52;;;3816:1;3813;3806:12;3768:52;3839:29;3858:9;3839:29;:::i;:::-;3829:39;;3887:38;3921:2;3910:9;3906:18;3887:38;:::i;:::-;3877:48;;3671:260;;;;;:::o;3936:380::-;4015:1;4011:12;;;;4058;;;4079:61;;4133:4;4125:6;4121:17;4111:27;;4079:61;4186:2;4178:6;4175:14;4155:18;4152:38;4149:161;;4232:10;4227:3;4223:20;4220:1;4213:31;4267:4;4264:1;4257:15;4295:4;4292:1;4285:15;4149:161;;3936:380;;;:::o;4321:127::-;4382:10;4377:3;4373:20;4370:1;4363:31;4413:4;4410:1;4403:15;4437:4;4434:1;4427:15;4453:128;4520:9;;;4541:11;;;4538:37;;;4555:18;;:::i;4586:125::-;4651:9;;;4672:10;;;4669:36;;;4685:18;;:::i

Swarm Source

ipfs://8cfe9650d4224347e313bf7a1d6b14bbdf38178a52a5437914f7da607bba8204

Block Transaction Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xD21DacfBbDF2779ACCF19245Ca050e6BC92fA4ac
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.