ERC-8065 Zero Knowledge Token Wrapper
Enables any token to be wrapped, allowing secretly burnt tokens to be reminted — making privacy a native feature of every token.
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC8065 | 0xe249b6d3 |
Functions this standard introduces (11)
0x9e48ff5a | deposit(address,uint256,uint256,bytes) | payable |
0x4e4efa41 | getCommitLeafCount(uint256) | view |
0x087e81a4 | getCommitLeaves(uint256,uint256,uint256) | view |
0x6bbb8620 | getLatestCommitment(uint256) | view |
0x9816f473 | getUnderlying() | view |
0x15b9f00e | hasCommitment(uint256,bytes32) | view |
0x25bc3a17 | previewDeposit(address,uint256,uint256,bytes) | view |
0xfde6c4a9 | previewRemint(address,uint256,uint256,(bytes32,bytes32[],bytes,bytes,bool,bytes)) | view |
0xefb2150d | previewWithdraw(address,uint256,uint256,bytes) | view |
0xe01d9118 | remint(address,uint256,uint256,(bytes32,bytes32[],bytes,bytes,bool,bytes)) | |
0x0bd0ca9a | withdraw(address,uint256,uint256,bytes) |
Inherited (1)
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
Optional extensions (1)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
IVerifier0x1e8e1e13
0x1e8e1e13 | verifyProof(bytes,uint256[]) |
Events (4)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0x33ce5cff4981f35e4fd0236ccd5e174005c68474affc265210d1c1d5893184e5 | CommitmentUpdated(uint256,bytes32,address,uint256) | |
0xf5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c5 | Deposited(address,address,uint256,uint256) | |
0x91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe2 | Withdrawn(address,address,uint256,uint256) | |
0xa1d1cb1406f5bac0f64c3859180a67c2c3fba559b0cacd5a1d2eeab4405d2488 | Reminted(address,address,uint256,uint256,bool) |
Depends on (5)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion