aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2018-07-14 19:19:44 -0700
committerAndrew Chow <achow101-github@achow101.com>2018-08-09 18:39:56 -0700
commit48b1473c898129a99212e2db36c61cf93625ea17 (patch)
tree5450731f5b800cec8548802e28deccfd45cc946a
parent18dfea0dd082af18dfb02981b7ee1cd44d514388 (diff)
Use 71 byte signature for DUMMY_SIGNATURE_CREATOR
Changes DUMMY_SIGNATURE_CREATOR to create 71 byte dummy signatures. Update comments to reflect this change
-rw-r--r--src/script/sign.cpp14
-rw-r--r--src/wallet/wallet.cpp4
-rw-r--r--src/wallet/wallet.h2
3 files changed, 10 insertions, 10 deletions
diff --git a/src/script/sign.cpp b/src/script/sign.cpp
index fa09adbaf8..c103e3c2f0 100644
--- a/src/script/sign.cpp
+++ b/src/script/sign.cpp
@@ -423,16 +423,16 @@ public:
bool CreateSig(const SigningProvider& provider, std::vector<unsigned char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion) const override
{
// Create a dummy signature that is a valid DER-encoding
- vchSig.assign(72, '\000');
+ vchSig.assign(71, '\000');
vchSig[0] = 0x30;
- vchSig[1] = 69;
+ vchSig[1] = 68;
vchSig[2] = 0x02;
- vchSig[3] = 33;
+ vchSig[3] = 32;
vchSig[4] = 0x01;
- vchSig[4 + 33] = 0x02;
- vchSig[5 + 33] = 32;
- vchSig[6 + 33] = 0x01;
- vchSig[6 + 33 + 32] = SIGHASH_ALL;
+ vchSig[4 + 32] = 0x02;
+ vchSig[5 + 32] = 32;
+ vchSig[6 + 32] = 0x01;
+ vchSig[6 + 32 + 32] = SIGHASH_ALL;
return true;
}
};
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index 16568d0e05..173f1b786c 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -1540,7 +1540,7 @@ int64_t CWalletTx::GetTxTime() const
return n ? n : nTimeReceived;
}
-// Helper for producing a max-sized low-S signature (eg 72 bytes)
+// Helper for producing a max-sized low-S low-R signature (eg 71 bytes)
bool CWallet::DummySignInput(CTxIn &tx_in, const CTxOut &txout) const
{
// Fill in dummy signatures for fee calculation.
@@ -1556,7 +1556,7 @@ bool CWallet::DummySignInput(CTxIn &tx_in, const CTxOut &txout) const
return true;
}
-// Helper for producing a bunch of max-sized low-S signatures (eg 72 bytes)
+// Helper for producing a bunch of max-sized low-S low-R signatures (eg 71 bytes)
bool CWallet::DummySignTx(CMutableTransaction &txNew, const std::vector<CTxOut> &txouts) const
{
// Fill in dummy signatures for fee calculation.
diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h
index 06a7c0a752..8054cfadf0 100644
--- a/src/wallet/wallet.h
+++ b/src/wallet/wallet.h
@@ -1308,7 +1308,7 @@ public:
};
// Calculate the size of the transaction assuming all signatures are max size
-// Use DummySignatureCreator, which inserts 72 byte signatures everywhere.
+// Use DummySignatureCreator, which inserts 71 byte signatures everywhere.
// NOTE: this requires that all inputs must be in mapWallet (eg the tx should
// be IsAllFromMe).
int64_t CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet *wallet);