Combine STTx::checkSign overloads:

Callers don't need to specify the signing key -- they're just retrieving
the key from the SerializedTransaction and then passing it back.

This simplifies Ed25519 implementation.
This commit is contained in:
Josh Juran
2014-12-03 12:50:35 -05:00
committed by Nik Bougalis
parent eeea2b1ff8
commit fbf5785e35
4 changed files with 8 additions and 21 deletions

View File

@@ -181,10 +181,15 @@ bool STTx::checkSign () const
{
try
{
ECDSA const fullyCanonical = (getFlags() & tfFullyCanonicalSig)
? ECDSA::strict
: ECDSA::not_strict;
RippleAddress n;
n.setAccountPublic (getFieldVL (sfSigningPubKey));
sig_state_ = checkSign (n);
sig_state_ = n.accountPublicVerify (getSigningHash (),
getFieldVL (sfTxnSignature), fullyCanonical);
}
catch (...)
{
@@ -197,23 +202,6 @@ bool STTx::checkSign () const
return static_cast<bool> (sig_state_);
}
bool STTx::checkSign (RippleAddress const& public_key) const
{
try
{
ECDSA const fullyCanonical = (getFlags() & tfFullyCanonicalSig)
? ECDSA::strict
: ECDSA::not_strict;
return public_key.accountPublicVerify (getSigningHash (),
getFieldVL (sfTxnSignature), fullyCanonical);
}
catch (...)
{
return false;
}
}
void STTx::setSigningPubKey (RippleAddress const& naSignPubKey)
{
setFieldVL (sfSigningPubKey, naSignPubKey.getAccountPublic ());