Transaction Hash:
Block:
19468205 at Mar-19-2024 10:29:35 AM +UTC
Transaction Fee:
0.0052033390705779 ETH
$9.74
Gas Used:
79,275 Gas / 65.636569796 Gwei
Emitted Events:
123 |
PolyhedraNetworkToken.Transfer( from=[Receiver] MerkleDistributor, to=[Sender] 0x38a5ecdd70a153f87a17b2a1bbc632a6444e4d82, value=165000000000000000000 )
|
124 |
MerkleDistributor.Claimed( index=144931, account=[Sender] 0x38a5ecdd70a153f87a17b2a1bbc632a6444e4d82, amount=165000000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x38A5ECDD...6444E4d82 |
0.011203593781461409 Eth
Nonce: 119
|
0.006000254710883509 Eth
Nonce: 120
| 0.0052033390705779 | ||
0x9234f834...3B2203288 | (Polyhedra Network: Airdrop) | ||||
0xAAB27b15...5c8729bd1
Miner
| (Eden Network: Builder) | 3.901776609508889664 Eth | 3.901780573258889664 Eth | 0.00000396375 | |
0xC71B5F63...0F8302e81 |
Execution Trace
MerkleDistributor.claim( )
-
PolyhedraNetworkToken.transfer( to=0x38A5ECDD70a153F87A17B2A1BBc632A6444E4d82, value=165000000000000000000 ) => ( True )
claim[MerkleDistributor (ln:48)]
ClaimWindowFinished[MerkleDistributor (ln:49)]
ClaimWindowNotStarted[MerkleDistributor (ln:50)]
isClaimed[MerkleDistributor (ln:51)]
AlreadyClaimed[MerkleDistributor (ln:51)]
verify[MerkleDistributor (ln:54)]
processProof[MerkleProof (ln:197)]
_hashPair[MerkleProof (ln:214)]
_efficientHash[MerkleProof (ln:368)]
_efficientHash[MerkleProof (ln:368)]
InvalidProof[MerkleDistributor (ln:54)]
_setClaimed[MerkleDistributor (ln:56)]
safeTransfer[MerkleDistributor (ln:57)]
Claimed[MerkleDistributor (ln:58)]
File 1 of 2: MerkleDistributor
File 2 of 2: PolyhedraNetworkToken
12345678910111213141516// SPDX-License-Identifier: GPL-3.0-or-laterpragma solidity ^0.8.24;import {IERC20, SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";import {MerkleProof} from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";error AlreadyClaimed();error InvalidProof();error EndTimeInPast();error EndTimeBeforeStartTime();error ClaimWindowNotStarted();error ClaimWindowFinished();error NoWithdrawDuringClaim();contract MerkleDistributor is Ownable {using SafeERC20 for IERC20;event Claimed(uint256 index, address account, uint256 amount);address public immutable token;
File 2 of 2: PolyhedraNetworkToken
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.24;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol";contract PolyhedraNetworkToken is ERC20, ERC20Burnable, ERC20Capped, ERC20Permit, Ownable {constructor(address initialOwner)ERC20("Polyhedra Network", "ZK")ERC20Permit("Polyhedra Network")ERC20Capped(1e9 ether)Ownable(initialOwner){}function mint(address to, uint256 amount) external onlyOwner {_mint(to, amount);