vote: This function can only be called by the miners. The miner must use an output of a coinbase transaction as the second input of the vote transaction, whose first input is the covenants itself. In the coinbase transaction, an OP_RETURN output must contain this covenant's ID (tx.outpoint in the source code), which indicates this coinbase transaction wants to vote for this covenant. To vote for a covenant, a miner must use a coinbase transaction whose height is greater than the cc_covenant's height. Thus, one coinbase transaction can vote only one time for one proposal. While voting for multiple proposals using one coinbase transaction is possible.