Skip to content

Commit dd1eb34

Browse files
author
Kenneth Heutmaker
committed
Message also accepts an ArrayBuffer
1 parent 9f14535 commit dd1eb34

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lib/message.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ var Message = function Message(message) {
2222
if (!(this instanceof Message)) {
2323
return new Message(message);
2424
}
25-
$.checkArgument(_.isString(message) || message instanceof Buffer,
25+
// When lodash is updated to v4.3.0 or better, change this to _.isBuffer and _.isArrayBuffer
26+
$.checkArgument(_.isString(message) || (Buffer && Buffer.isBuffer(message)) ||
27+
(message instanceof Object && message.toString() === "[object ArrayBuffer]"),
2628
'First argument must be a string or Buffer');
2729
this.message = message;
2830

@@ -33,8 +35,7 @@ Message.MAGIC_BYTES = new Buffer('Bitcoin Signed Message:\n');
3335

3436
Message.prototype.magicHash = function magicHash() {
3537
var prefix1 = BufferWriter.varintBufNum(Message.MAGIC_BYTES.length);
36-
var messageBuffer = this.message instanceof Buffer ?
37-
this.message : new Buffer(this.message);
38+
var messageBuffer = new Buffer(this.message);
3839
var prefix2 = BufferWriter.varintBufNum(messageBuffer.length);
3940
var buf = Buffer.concat([prefix1, Message.MAGIC_BYTES, prefix2, messageBuffer]);
4041
var hash = sha256sha256(buf);

0 commit comments

Comments
 (0)