# Functions
DecodeBytesToMerkleProof transfer byte array to bytes32 array.
EncodeMerkleProofToBytes transfer byte32 array to byte array by concatenation.
NewWithdrawTrie will return a new instance of WithdrawTrie.
RecoverBranchFromProof will recover latest branches from merkle proof and message hash.
UpdateBranchWithNewMessage update the branches to latest with new message and return the merkle proof for the message.
# Constants
MaxHeight is the maixium possible height of withdraw trie.
# Structs
WithdrawTrie is an append only merkle trie.