public CeloExternalAccountSignerTransactionManager(IClient rpcClient, CeloExternalAccount account, BigInteger?chainId = null, string feeCurrency = null, string gatewayFeeRecipient = null, BigInteger?gatewayFee = null)
 {
     if (!chainId.HasValue)
     {
         NetVersion nv      = new NetVersion(rpcClient);
         string     version = nv.SendRequestAsync().GetAwaiter().GetResult();
         ChainId = BigInteger.Parse(version);
     }
     else
     {
         ChainId = chainId.Value;
     }
     FeeCurrency         = feeCurrency;
     GatewayFeeRecipient = gatewayFeeRecipient;
     GatewayFee          = gatewayFee;
     Account             = account ?? throw new ArgumentNullException(nameof(account));
     Client             = rpcClient;
     _transactionSigner = new CeloTransactionSigner();
 }
 public CeloAccountOfflineTransactionSigner()
 {
     _transactionSigner = new CeloTransactionSigner();
 }
 public CeloAccountOfflineTransactionSigner(CeloTransactionSigner transactionSigner)
 {
     _transactionSigner = transactionSigner;
 }