From 674e3a5b77f266dcffde9d6c2a73b7ca10295d54 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Mon, 9 Feb 2015 12:27:50 -0300 Subject: [PATCH] fix required rejections --- lib/model/txproposal.js | 6 +++--- lib/server.js | 2 +- test/txproposal.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/model/txproposal.js b/lib/model/txproposal.js index 5ea96c0..2f8a170 100644 --- a/lib/model/txproposal.js +++ b/lib/model/txproposal.js @@ -23,7 +23,7 @@ function TxProposal(opts) { this.inputs = opts.inputs; this.inputPaths = opts.inputPaths; this.requiredSignatures = opts.requiredSignatures; - this.maxRejections = opts.maxRejections; + this.requiredRejections = opts.requiredRejections; this.status = 'pending'; this.actions = {}; }; @@ -41,7 +41,7 @@ TxProposal.fromObj = function(obj) { x.changeAddress = obj.changeAddress; x.inputs = obj.inputs; x.requiredSignatures = obj.requiredSignatures; - x.maxRejections = obj.maxRejections; + x.requiredRejections = obj.requiredRejections; x.status = obj.status; x.txid = obj.txid; x.inputPaths = obj.inputPaths; @@ -157,7 +157,7 @@ TxProposal.prototype.isAccepted = function() { TxProposal.prototype.isRejected = function() { var votes = _.countBy(_.values(this.actions), 'type'); - return votes['reject'] > this.maxRejections; + return votes['reject'] >= this.requiredRejections; }; TxProposal.prototype.setBroadcasted = function(txid) { diff --git a/lib/server.js b/lib/server.js index 60bba4d..e7e5013 100644 --- a/lib/server.js +++ b/lib/server.js @@ -420,7 +420,7 @@ CopayServer.prototype.createTx = function(opts, cb) { message: opts.message, changeAddress: changeAddress.address, requiredSignatures: wallet.m, - maxRejections: wallet.n - wallet.m, + requiredRejections: Math.min(wallet.m - 1, wallet.n - wallet.m) + 1, }); txp.inputs = self._selectUtxos(txp, utxos); diff --git a/test/txproposal.js b/test/txproposal.js index c9f8158..2fb79f0 100644 --- a/test/txproposal.js +++ b/test/txproposal.js @@ -101,7 +101,7 @@ var aTXP = function() { }], "inputPaths": ["m/2147483647/0/1"], "requiredSignatures": 2, - "maxRejections": 0, + "requiredRejections": 1, "status": "pending", "actions": [] }