From c708d55fd5a64bea4e7d28bb7c4ff3a18bf28b3e Mon Sep 17 00:00:00 2001 From: "Ryan X. Charles" Date: Wed, 15 Jan 2014 22:16:45 -0500 Subject: [PATCH] import script functions from cosign --- Script.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Script.js b/Script.js index 4e89d9e..9df0d6f 100644 --- a/Script.js +++ b/Script.js @@ -122,6 +122,47 @@ function spec(b) { this.chunks[this.chunks.length-1] == OP_CHECKMULTISIG); }; + Script.prototype.finishedMultiSig = function() + { + var nsigs = 0; + for (var i = 0; i < this.chunks.length-1; i++) + if (this.chunks[i] !== 0) + nsigs++; + + var serializedScript = this.chunks[this.chunks.length-1]; + var script = new Script(serializedScript); + var nreq = script.chunks[0] - 80; //see OP_2-OP_16 + + if (nsigs == nreq) + return true; + else + return false; + } + + Script.prototype.removePlaceHolders = function() + { + var chunks = []; + for (var i in this.chunks) + { + var chunk = this.chunks[i]; + if (chunk != 0) + chunks.push(chunk); + } + this.chunks = chunks; + this.updateBuffer(); + return this; + } + + Script.prototype.prependOp0 = function() + { + var chunks = [0]; + for (i in this.chunks) + chunks.push(this.chunks[i]); + this.chunks = chunks; + this.updateBuffer(); + return this; + } + // is this a script form we know? Script.prototype.classify = function () {