UTXOs include the following properties.
The amount of ETH
A Babyjubjub point of the note owner
Random salt. Zkopru generates UTXO hash using this salt.
Token Address (Optional)
The address of the token contract when it includes ERC20 or ERC721. The default value is 0.
ERC20 Amount (Optional)
The amount of the ERC20 token when it includes ERC20. The default value is 0.
NFT Id (Optional)
The id of the ERC721 token when it includes ERC721. The default value is 0.
And then Zkopru computes the leaf hash with Poseidon hash:
var intermediate_hash = poseidon(ether, pub_key.x, pub_key.y, salt)var result_hash = poseidon(intemediate_hash, token_address, erc20, nft)