mirror of
https://github.com/ok2/coinbin.git
synced 2026-05-09 18:15:23 +02:00
bug fix for issue #118 (do not generate a multisig address when the redeemscript is too large >520bytes)
This commit is contained in:
+7
-1
@@ -132,7 +132,13 @@
|
||||
var checksum = r.slice(0,4);
|
||||
var redeemScript = Crypto.util.bytesToHex(s.buffer);
|
||||
var address = coinjs.base58encode(x.concat(checksum));
|
||||
return {'address':address, 'redeemScript':redeemScript};
|
||||
|
||||
if(s.buffer.length > 520){ // too large
|
||||
address = 'invalid';
|
||||
redeemScript = 'invalid';
|
||||
}
|
||||
|
||||
return {'address':address, 'redeemScript':redeemScript, 'size': s.buffer.length};
|
||||
}
|
||||
|
||||
/* new time locked address, provide the pubkey and time necessary to unlock the funds.
|
||||
|
||||
+9
-5
@@ -379,11 +379,15 @@ $(document).ready(function() {
|
||||
if(($("#multisigPubKeys .pubkey").parent().hasClass('has-error')==false) && $("#releaseCoins").parent().hasClass('has-error')==false){
|
||||
var sigsNeeded = $("#releaseCoins option:selected").html();
|
||||
var multisig = coinjs.pubkeys2MultisigAddress(keys, sigsNeeded);
|
||||
$("#multiSigData .address").val(multisig['address']);
|
||||
$("#multiSigData .script").val(multisig['redeemScript']);
|
||||
$("#multiSigData .scriptUrl").val(document.location.origin+''+document.location.pathname+'?verify='+multisig['redeemScript']+'#verify');
|
||||
$("#multiSigData").removeClass('hidden').addClass('show').fadeIn();
|
||||
$("#releaseCoins").removeClass('has-error');
|
||||
if(multisig.size <= 520){
|
||||
$("#multiSigData .address").val(multisig['address']);
|
||||
$("#multiSigData .script").val(multisig['redeemScript']);
|
||||
$("#multiSigData .scriptUrl").val(document.location.origin+''+document.location.pathname+'?verify='+multisig['redeemScript']+'#verify');
|
||||
$("#multiSigData").removeClass('hidden').addClass('show').fadeIn();
|
||||
$("#releaseCoins").removeClass('has-error');
|
||||
} else {
|
||||
$("#multiSigErrorMsg").html('<span class="glyphicon glyphicon-exclamation-sign"></span> Your generated redeemscript is too large (>520 bytes) it can not be used safely').fadeIn();
|
||||
}
|
||||
} else {
|
||||
$("#multiSigErrorMsg").html('<span class="glyphicon glyphicon-exclamation-sign"></span> One or more public key is invalid!').fadeIn();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user