From 0ca390d45ba59565d0b14aaff442be38b7f1572c Mon Sep 17 00:00:00 2001 From: "Ryan X. Charles" Date: Thu, 28 Aug 2014 16:42:47 -0700 Subject: [PATCH] Message.prototype.set --- lib/message.js | 22 ++++++++++++++-------- test/test.message.js | 9 +++++++++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/lib/message.js b/lib/message.js index 6e4bcb9..64bb1f4 100644 --- a/lib/message.js +++ b/lib/message.js @@ -7,14 +7,20 @@ var Hash = require('./hash'); var Address = require('./address'); var Signature = require('./signature'); -var Message = function Message(messagebuf, key, sig, address, verified) { +var Message = function Message(obj) { if (!(this instanceof Message)) - return new Message(messagebuf, key, sig); - this.messagebuf = messagebuf; - this.key = key; - this.sig = sig; - this.address = address; - this.verified = verified; + return new Message(obj); + if (obj) + this.set(obj); +}; + +Message.prototype.set = function(obj) { + this.messagebuf = obj.messagebuf || this.messagebuf; + this.key = obj.key || this.key; + this.sig = obj.sig || this.sig; + this.address = obj.address || this.address; + this.verified = typeof obj.verified !== 'undefined' ? obj.verified : this.verified; + return this; }; Message.magicBytes = new Buffer('Bitcoin Signed Message:\n'); @@ -35,7 +41,7 @@ Message.magicHash = function(messagebuf) { }; Message.sign = function(messagebuf, key) { - var m = Message(messagebuf, key); + var m = Message({messagebuf: messagebuf, key: key}); m.sign(); var sigbuf = m.sig.toCompact(); var sigstr = sigbuf.toString('base64'); diff --git a/test/test.message.js b/test/test.message.js index 311dbb3..84e65e2 100644 --- a/test/test.message.js +++ b/test/test.message.js @@ -14,6 +14,15 @@ describe('Message', function() { var message = Message(); should.exist(message); }); + + describe('#set', function() { + + it('should set the messagebuf', function() { + var messagebuf = new Buffer('message'); + should.exist(Message().set({messagebuf: messagebuf}).messagebuf); + }); + + }); describe('@sign', function() { var messagebuf = new Buffer('this is my message');