$$ X = (nullifier, cm^{value}_x, cm^{value}_y, cm^{token}, root, data, spendHook, signature^{public}_x, signature^{public}_y) $$
$$ W = (value, token, blind^{value}, blind^{token}, sn, spendHook, data, blind^{data}, sk, pos, path, signature^{secret}) $$
$$ \mathcal{L} = {X: (W,W) \in \mathcal{R}} $$
| Public Input | Description |
|---|---|
| nullifier | coin nullifier |
| $cm^{value}_x$ | x coordinate of value point commitment |
| $cm^{value}_y$ | y coordinate of value point commitment |
| $cm^{token}$ | [commitment](../crypto/commitment.md] of tokenId as field element |
| root | root of coin commitments merkle tree |
| data | data read during execution of burn spendHook contract |
| spendHook | burn related contract |
| $signature^{public}_x$ | signature public x coordinate |
| $signature^{public}_y$ | signature public y coordinate |
| Witnesses | Description |
|---|---|
| value | burn value |
| token | tokenId |
| $blind^{value}$ | blinding term for burn value commitment |
| $blind^{token}$ | blinding term for tokenId commitment |
| sn | serial number for burn coin |
| spendHook | contract related contract |
| data | data read during spendHook execution |
| $blind^{data}$ | blinding term for data commitment |
| sk | coin private key |
| pos | coin commitment leaf position in the merkle tree |
| path | coin commitment path in the merkle tree |
| $signature^{secret}$ | signature secret key |