NullifierReceipt

nullifierreceipt · receipt-attestation · 255 B runtime · registry-info

scores

source

pragma solidity ^0.8.13;

contract NullifierReceipt {
    mapping(bytes32 => bool) private _spent;

    event ReceiptSpent(bytes32 indexed nullifier, address caller, uint256 blockNumber);

    function spend(bytes32 nullifier) external {
        require(!_spent[nullifier]);
        _spent[nullifier] = true;
        emit ReceiptSpent(nullifier, msg.sender, block.number);
    }
}

published

published on testnet · 0x1F20d2885FA77EDe4E74afa6364fC49cd6c34d0b · tx 0x60a8d1f209d15784… · tempo (42431) · testnet