Implement Reject message

This commit is contained in:
Stein Martin Hustad 2015-08-06 19:12:30 +02:00
parent 5b2d3691cb
commit 576ba8a2b6
2 changed files with 20 additions and 5 deletions

View File

@ -3,19 +3,34 @@
var Message = require('../message');
var inherits = require('util').inherits;
var bitcore = require('bitcore-lib');
var BufferUtil = bitcore.util.buffer;
var utils = require('../utils');
var BufferReader = bitcore.encoding.BufferReader;
var BufferWriter = bitcore.encoding.BufferWriter;
// todo: add payload: https://en.bitcoin.it/wiki/Protocol_documentation#reject
function RejectMessage(arg, options) {
Message.call(this, options);
this.command = 'reject';
}
inherits(RejectMessage, Message);
RejectMessage.prototype.setPayload = function() {};
RejectMessage.prototype.setPayload = function(payload) {
var parser = new BufferReader(payload);
this.message = parser.readVarLengthBuffer();
this.ccode = parser.readUInt8();
this.reason = parser.readVarLengthBuffer();
this.data = parser.readAll();
utils.checkFinished(parser);
};
RejectMessage.prototype.getPayload = function() {
return BufferUtil.EMPTY_BUFFER;
var bw = new BufferWriter();
bw.writeVarintNum(this.message.length);
bw.write(this.message);
bw.writeUInt8(this.cccode);
bw.writeVarintNum(this.reason.length);
bw.write(this.reason);
bw.write(this.data);
return bw.toBuffer();
};
module.exports = RejectMessage;

View File

@ -34,7 +34,7 @@
"message": "f9beb4d9616c65727400000000000000bc0000004fe68fe973010000003766404f00000000b305434f00000000f2030000f1030000001027000048ee00000064000000004653656520626974636f696e2e6f72672f666562323020696620796f7520686176652074726f75626c6520636f6e6e656374696e67206166746572203230204665627275617279004730450221008389df45f0703f39ec8c1cc42c13810ffcae14995bb648340219e353b63b53eb022009ec65e1c1aaeec1fd334c6b684bde2b3f573060d5b70c3a46723326e4e8a4f1"
},
"reject": {
"message": "f9beb4d972656a656374000000000000000000005df6e0e2"
"message": "f9beb4d972656a6563740000000000003a000000f44033160274780015696e73756666696369656e74207072696f72697479165d408c9dd26fbdcb42b07546f6c37752301e3772f3ae441baf569e78839111"
},
"notfound": {
"message": "f9beb4d96e6f74666f756e6400000000250000001d33d53201010000003a4af715be220eae7b2657582869daddf79ac4afb4a0e1cafa5b57e1afb8dfe2"