ETH Price: $3,555.77 (+2.46%)

Transaction Decoder

Block:
22619888 at Jun-02-2025 10:13:47 PM +UTC
Transaction Fee:
0.000215061699423225 ETH $0.76
Gas Used:
51,175 Gas / 4.202475807 Gwei

Emitted Events:

Account State Difference:

  Address   Before After State Difference Code
0x3a851628...a0Ba25323
0.012640080832505015 Eth
Nonce: 24
0.01242501913308179 Eth
Nonce: 25
0.000215061699423225
0x5283D291...121208b44
(beaverbuild)
15.91530575545929821 Eth15.91540810545929821 Eth0.00010235

Execution Trace

BlurToken.transfer( to=0xCa4cF768f793A311Ad59205ed1649Ce955B57Cd4, amount=2951574466710000000000 ) => ( True )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
import "./interfaces/ITokenLockup.sol";
contract BlurToken is ERC20Votes, Ownable {
uint256 private constant INITIAL_SUPPLY = 3_000_000_000;
address[] public lockups;
constructor() ERC20Permit("Blur") ERC20("Blur", "BLUR") {
_mint(msg.sender, INITIAL_SUPPLY * 10 ** 18);
}
/**
* @notice Adds token lockup addresses
* @param _lockups Lockup addresses to add
*/
function addLockups(address[] calldata _lockups) external onlyOwner {
require(lockups.length == 0);
uint256 lockupsLength = _lockups.length;
for (uint256 i = 0; i < lockupsLength; i++) {
require(ITokenLockup(_lockups[i]).token() == address(this));
lockups.push(_lockups[i]);
}
}
/**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX