|
|
@ -452,6 +452,33 @@ describe('TransactionBuilder', function () { |
|
|
|
describe('various edge case', function () { |
|
|
|
var network = NETWORKS.testnet |
|
|
|
|
|
|
|
it('should warn of high fee for segwit transaction based on VSize, not Size', function () { |
|
|
|
var rawtx = '01000000000104fdaac89627208b4733484ca56bc291f4cf4fa8d7c5f29893c52b46788a0a' + |
|
|
|
'1df90000000000fffffffffdaac89627208b4733484ca56bc291f4cf4fa8d7c5f29893c52b46788a0a1df9' + |
|
|
|
'0100000000ffffffffa2ef7aaab316a3e5b5b0a78d1d35c774b95a079f9f0c762277a49caf1f26bca40000' + |
|
|
|
'000000ffffffffa2ef7aaab316a3e5b5b0a78d1d35c774b95a079f9f0c762277a49caf1f26bca401000000' + |
|
|
|
'00ffffffff0100040000000000001976a914cf307285359ab7ef6a2daa0522c7908ddf5fe7a988ac024730' + |
|
|
|
'440220113324438816338406841775e079b04c50d04f241da652a4035b1017ea1ecf5502205802191eb49c' + |
|
|
|
'54bf2a5667aea72e51c3ca92085efc60f12d1ebda3a64aff343201210283409659355b6d1cc3c32decd5d5' + |
|
|
|
'61abaac86c37a353b52895a5e6c196d6f44802483045022100dc2892874e6d8708e3f5a058c5c9263cdf03' + |
|
|
|
'969492270f89ee4933caf6daf8bb0220391dfe61a002709b63b9d64422d3db09b727839d1287e10a128a5d' + |
|
|
|
'b52a82309301210283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f448024830' + |
|
|
|
'450221009e3ed3a6ae93a018f443257b43e47b55cf7f7f3547d8807178072234686b22160220576121cfe6' + |
|
|
|
'77c7eddf5575ea0a7c926247df6eca723c4f85df306e8bc08ea2df01210283409659355b6d1cc3c32decd5' + |
|
|
|
'd561abaac86c37a353b52895a5e6c196d6f44802473044022007be81ffd4297441ab10e740fc9bab9545a2' + |
|
|
|
'194a565cd6aa4cc38b8eaffa343402201c5b4b61d73fa38e49c1ee68cc0e6dfd2f5dae453dd86eb142e87a' + |
|
|
|
'0bafb1bc8401210283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f44800000000' |
|
|
|
var txb = TransactionBuilder.fromTransaction(Transaction.fromHex(rawtx)) |
|
|
|
txb.inputs[0].value = 81530 |
|
|
|
txb.inputs[1].value = 81530 |
|
|
|
txb.inputs[2].value = 88920 |
|
|
|
txb.inputs[3].value = 88920 |
|
|
|
|
|
|
|
assert.throws(function () { |
|
|
|
txb.build() |
|
|
|
}, new RegExp('Transaction has absurd fees')) |
|
|
|
}) |
|
|
|
|
|
|
|
it('should classify witness inputs with witness = true during multisigning', function () { |
|
|
|
var keyPair = ECPair.fromWIF('cRAwuVuVSBZMPu7hdrYvMCZ8eevzmkExjFbaBLhqnDdrezxN3nTS', network) |
|
|
|
var witnessScript = Buffer.from('522102bbbd6eb01efcbe4bd9664b886f26f69de5afcb2e479d72596c8bf21929e352e22102d9c3f7180ef13ec5267723c9c2ffab56a4215241f837502ea8977c8532b9ea1952ae', 'hex') |
|
|
|