public bool VerifyTransaction(string rlp, BigInteger chainId) { var transaction = new TransactionChainId(rlp.HexToByteArray(), chainId); return(transaction.Key.VerifyAllowingOnlyLowS(transaction.RawHash, transaction.Signature)); }
public string GetSenderAddress(string rlp, BigInteger chainId) { var transaction = new TransactionChainId(rlp.HexToByteArray(), chainId); return(transaction.Key.GetPublicAddress()); }
public byte[] GetPublicKey(string rlp, BigInteger chainId) { var transaction = new TransactionChainId(rlp.HexToByteArray(), chainId); return(transaction.Key.GetPubKey()); }
private async Task <string> SignTransactionAsync(IEthExternalSigner externalSigner, TransactionChainId transaction) { await transaction.SignExternallyAsync(externalSigner).ConfigureAwait(false); return(transaction.GetRLPEncoded().ToHex()); }
private string SignTransaction(byte[] privateKey, TransactionChainId transaction) { transaction.Sign(new CfxECKey(privateKey, true)); return(transaction.GetRLPEncoded().ToHex()); }
public abstract Task SignAsync(TransactionChainId transaction);