@@ -452,6 +452,33 @@ describe('TransactionBuilder', function () {
452452 describe ( 'various edge case' , function ( ) {
453453 var network = NETWORKS . testnet
454454
455+ it ( 'should warn of high fee for segwit transaction based on VSize, not Size' , function ( ) {
456+ var rawtx = '01000000000104fdaac89627208b4733484ca56bc291f4cf4fa8d7c5f29893c52b46788a0a' +
457+ '1df90000000000fffffffffdaac89627208b4733484ca56bc291f4cf4fa8d7c5f29893c52b46788a0a1df9' +
458+ '0100000000ffffffffa2ef7aaab316a3e5b5b0a78d1d35c774b95a079f9f0c762277a49caf1f26bca40000' +
459+ '000000ffffffffa2ef7aaab316a3e5b5b0a78d1d35c774b95a079f9f0c762277a49caf1f26bca401000000' +
460+ '00ffffffff0100040000000000001976a914cf307285359ab7ef6a2daa0522c7908ddf5fe7a988ac024730' +
461+ '440220113324438816338406841775e079b04c50d04f241da652a4035b1017ea1ecf5502205802191eb49c' +
462+ '54bf2a5667aea72e51c3ca92085efc60f12d1ebda3a64aff343201210283409659355b6d1cc3c32decd5d5' +
463+ '61abaac86c37a353b52895a5e6c196d6f44802483045022100dc2892874e6d8708e3f5a058c5c9263cdf03' +
464+ '969492270f89ee4933caf6daf8bb0220391dfe61a002709b63b9d64422d3db09b727839d1287e10a128a5d' +
465+ 'b52a82309301210283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f448024830' +
466+ '450221009e3ed3a6ae93a018f443257b43e47b55cf7f7f3547d8807178072234686b22160220576121cfe6' +
467+ '77c7eddf5575ea0a7c926247df6eca723c4f85df306e8bc08ea2df01210283409659355b6d1cc3c32decd5' +
468+ 'd561abaac86c37a353b52895a5e6c196d6f44802473044022007be81ffd4297441ab10e740fc9bab9545a2' +
469+ '194a565cd6aa4cc38b8eaffa343402201c5b4b61d73fa38e49c1ee68cc0e6dfd2f5dae453dd86eb142e87a' +
470+ '0bafb1bc8401210283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f44800000000'
471+ var txb = TransactionBuilder . fromTransaction ( Transaction . fromHex ( rawtx ) )
472+ txb . inputs [ 0 ] . value = 81530
473+ txb . inputs [ 1 ] . value = 81530
474+ txb . inputs [ 2 ] . value = 88920
475+ txb . inputs [ 3 ] . value = 88920
476+
477+ assert . throws ( function ( ) {
478+ txb . build ( )
479+ } , new RegExp ( 'Transaction has absurd fees' ) )
480+ } )
481+
455482 it ( 'should classify witness inputs with witness = true during multisigning' , function ( ) {
456483 var keyPair = ECPair . fromWIF ( 'cRAwuVuVSBZMPu7hdrYvMCZ8eevzmkExjFbaBLhqnDdrezxN3nTS' , network )
457484 var witnessScript = Buffer . from ( '522102bbbd6eb01efcbe4bd9664b886f26f69de5afcb2e479d72596c8bf21929e352e22102d9c3f7180ef13ec5267723c9c2ffab56a4215241f837502ea8977c8532b9ea1952ae' , 'hex' )
0 commit comments