sapling
empty_state: <sap_t>sapling_state<sap_t>
The evaluation of the constant empty_state is an empty
sapling state, that is, no one can spend tokens from it.
verify_update: <sap_a>(trans: sapling_transaction<sap_a>, state: sapling_state<sap_a>) => option<[bytes, [int, sapling_state<sap_a>]]>
The call verify_update(trans, state), where the transaction
trans can be applied to the state state, returns ["Some"
as "Some", [data, [delta, new_state]]], where data is the
bound data (as bytes), delta is the difference between the
outputs and the inputs of the transaction, and new_state is
the updated state.