// decodeBlockNumTranNum decodes blockNumTranNumBytes to get blockNum and tranNum.
decodeBlockNumTranNum decodes blockNumTranNumBytes to get blockNum and tranNum.
// decodeBlockNumTranNum decodes blockNumTranNumBytes to get blockNum and tranNum .
func decodeBlockNumTranNum(blockNumTranNumBytes []byte) (uint64, uint64, error) {
	blockNum, blockBytesConsumed, err := util.DecodeOrderPreservingVarUint64(blockNumTranNumBytes)
	if err != nil {
		return 0, 0, err
	}
	tranNum, tranBytesConsumed, err := util.DecodeOrderPreservingVarUint64(blockNumTranNumBytes[blockBytesConsumed:])
	if err != nil {
		return 0, 0, err
	}
	if blockBytesConsumed+tranBytesConsumed != len(blockNumTranNumBytes) {
		return 0, 0, errors.Errorf("number of decoded bytes (%d) is not equal to the length of blockNumTranNumBytes (%d)",
			blockBytesConsumed+tranBytesConsumed, len(blockNumTranNumBytes))
	}
	return blockNum, tranNum, nil
}
func decodeBlockNumTranNum ( blockNumTranNumBytes [ ] byte ) ( uint64 , uint64 , error ) { blockNum , blockBytesConsumed , err := util . DecodeOrderPreservingVarUint64 ( blockNumTranNumBytes ) if err != nil { return 0 , 0 , err } tranNum , tranBytesConsumed , err := util . DecodeOrderPreservingVarUint64 ( blockNumTranNumBytes [ blockBytesConsumed : ] ) if err != nil { return 0 , 0 , err } if blockBytesConsumed + tranBytesConsumed != len ( blockNumTranNumBytes ) { return 0 , 0 , errors . Errorf ( " " , blockBytesConsumed + tranBytesConsumed , len ( blockNumTranNumBytes ) ) } return blockNum , tranNum , nil }
decodeBlockNumTranNum decodes blockNumTranNumBytes to get blockNum and tranNum.
decodeBlockNumTranNum decodes blockNumTranNumBytes to get blockNum and tranNum .
// blockBytesConsumed + tranBytesConsumed should be equal to blockNumTranNumBytes for a real key match