Transaction Hash:
Block:
19481364 at Mar-21-2024 06:50:11 AM +UTC
Transaction Fee:
0.002138814540452403 ETH
$4.33
Gas Used:
79,299 Gas / 26.971519697 Gwei
Emitted Events:
203 |
PolyhedraNetworkToken.Transfer( from=[Receiver] MerkleDistributor, to=[Sender] 0xdc66423ff228006ff78613c214a9edfb9a294731, value=210000000000000000000 )
|
204 |
MerkleDistributor.Claimed( index=483580, account=[Sender] 0xdc66423ff228006ff78613c214a9edfb9a294731, amount=210000000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x307048Ad...050ADa274
Miner
| 484.722780738719626654 Eth | 484.722788430722626654 Eth | 0.000007692003 | ||
0x9234f834...3B2203288 | (Polyhedra Network: Airdrop) | ||||
0xC71B5F63...0F8302e81 | |||||
0xDc66423F...b9a294731 |
0.021593209669920754 Eth
Nonce: 2
|
0.019454395129468351 Eth
Nonce: 3
| 0.002138814540452403 |
Execution Trace
MerkleDistributor.claim( )
-
PolyhedraNetworkToken.transfer( to=0xDc66423Ff228006ff78613c214A9EDFb9a294731, value=210000000000000000000 ) => ( 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);