public static CeloSignedTransactionBase CreateTransaction(string to, BigInteger gas, BigInteger gasPrice, string feeCurrency, string gatewayFeeRecipient, BigInteger gatewayFee, BigInteger amount, string data, BigInteger nonce, string r, string s, string v)
        {
            var rBytes      = r.HexToByteArray();
            var sBytes      = s.HexToByteArray();
            var vBytes      = v.HexToByteArray();
            var vBigInteger = vBytes.ToBigIntegerFromRLPDecoded();
            var chainId     = EthECKey.GetChainFromVChain(vBigInteger);

            return(new CeloTransactionChainId(nonce.ToBytesForRLPEncoding(), gasPrice.ToBytesForRLPEncoding(), gas.ToBytesForRLPEncoding(), feeCurrency.HexToByteArray(), gatewayFeeRecipient.HexToByteArray(), gatewayFee.ToBytesForRLPEncoding(),
                                              to.HexToByteArray(), amount.ToBytesForRLPEncoding(), data.HexToByteArray(), chainId.ToBytesForRLPEncoding(), rBytes, sBytes, vBytes));
        }
 private BigInteger GetChainFromVChain()
 {
     return(EthECKey.GetChainFromVChain(Signature.V.ToBigIntegerFromRLPDecoded()));
 }