From feb254d01f5c8c8079558294b2264283815803d9 Mon Sep 17 00:00:00 2001 From: Kagami Hiiragi Date: Mon, 16 Mar 2015 22:33:24 +0300 Subject: [PATCH] Publish docs --- docs/address.js.html | 4 +- docs/crypto.js.html | 2 +- docs/index.html | 6 +- docs/index.js.html | 2 +- docs/messages.js.html | 51 ++++++----- docs/module-bitmessage.html | 2 +- docs/module-bitmessage_address.Address.html | 20 ++--- docs/module-bitmessage_address.html | 2 +- docs/module-bitmessage_crypto.html | 2 +- docs/module-bitmessage_messages.addr.html | 2 +- docs/module-bitmessage_messages.error.html | 18 ++-- docs/module-bitmessage_messages.getdata.html | 11 ++- docs/module-bitmessage_messages.html | 2 +- docs/module-bitmessage_messages.inv.html | 11 ++- docs/module-bitmessage_messages.version.html | 2 +- docs/module-bitmessage_objects.broadcast.html | 43 +++++++-- docs/module-bitmessage_objects.getpubkey.html | 33 +++++-- docs/module-bitmessage_objects.html | 2 +- docs/module-bitmessage_objects.msg.html | 49 +++++++--- docs/module-bitmessage_objects.pubkey.html | 37 ++++++-- docs/module-bitmessage_pow.html | 2 +- ...ule-bitmessage_structs.PubkeyBitfield.html | 14 +-- ...e-bitmessage_structs.ServicesBitfield.html | 16 ++-- docs/module-bitmessage_structs.encrypted.html | 10 +-- docs/module-bitmessage_structs.html | 2 +- docs/module-bitmessage_structs.inv_vect.html | 6 +- docs/module-bitmessage_structs.message.html | 2 +- docs/module-bitmessage_structs.net_addr.html | 10 +-- docs/module-bitmessage_structs.object.html | 90 +++++++++++++++++-- docs/module-bitmessage_structs.var_int.html | 10 +-- ...odule-bitmessage_structs.var_int_list.html | 10 +-- docs/module-bitmessage_structs.var_str.html | 10 +-- docs/module-bitmessage_user-agent.html | 2 +- docs/module-bitmessage_wif.html | 2 +- docs/objects.js.html | 6 +- docs/pow.js.html | 2 +- docs/structs.js.html | 19 +++- docs/user-agent.js.html | 2 +- docs/wif.js.html | 2 +- 39 files changed, 353 insertions(+), 165 deletions(-) diff --git a/docs/address.js.html b/docs/address.js.html index f316809..e6a0e5b 100644 --- a/docs/address.js.html +++ b/docs/address.js.html @@ -119,6 +119,8 @@ Address.decode = function(str) { str = str.trim(); if (str.slice(0, 3) === "BM-") { str = str.slice(3); + } else if (str.slice(0, 11) === "bitmessage:") { + str = str.slice(11); } var bytes = bs58.decode(str); @@ -461,7 +463,7 @@ module.exports = Address;
diff --git a/docs/crypto.js.html b/docs/crypto.js.html index 0d64e69..99a9fe9 100644 --- a/docs/crypto.js.html +++ b/docs/crypto.js.html @@ -218,7 +218,7 @@ exports.decrypt = function(privateKey, buf) {
diff --git a/docs/index.html b/docs/index.html index a52229f..1475c80 100644 --- a/docs/index.html +++ b/docs/index.html @@ -43,7 +43,7 @@
-

bitmessage Build Status

NPM

+

bitmessage Build Status

NPM

JavaScript Bitmessage library for both browserify and node. The goal of this project is to implement Bitmessage protocol v3 for both platforms at the maximum possible level (we still can't create TCP connections or listen for incoming connections in the Browser but the Proof of work and crypto is fully doable).

Public library API is currently in alpha stage, breaking changes are very likely to happen.

API documentation is available here.

@@ -179,7 +179,7 @@ tcp.on("established", function(version) { } }); });

License

bitmessage - JavaScript Bitmessage library

-

Written in 2014-2015 by Kagami Hiiragi kagami@genshiken.org

+

Written in 2014-2015 by Kagami Hiiragi kagami@genshiken.org

To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.

You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see .

@@ -198,7 +198,7 @@ tcp.on("established", function(version) {
diff --git a/docs/index.js.html b/docs/index.js.html index 788ce7f..6e59369 100644 --- a/docs/index.js.html +++ b/docs/index.js.html @@ -71,7 +71,7 @@ exports.UserAgent = require("./user-agent");
diff --git a/docs/messages.js.html b/docs/messages.js.html index 163a9e2..0c9adba 100644 --- a/docs/messages.js.html +++ b/docs/messages.js.html @@ -394,8 +394,8 @@ var addr = exports.addr = { var inv = exports.inv = { /** * @typedef {Object} DecodeResult - * @property {Buffer[]} inventory - List of - * [inventory vectors]{@link module:bitmessage/structs.inv_vect} + * @property {Buffer[]} vectors - List of [inventory vectors]{@link + * module:bitmessage/structs.inv_vect} * @property {number} length - Real data length * @memberof module:bitmessage/messages.inv */ @@ -419,16 +419,16 @@ var inv = exports.inv = { decodePayload: function(buf) { var decoded = structs.var_int.decode(buf); var listLength = decoded.value; - assert(listLength <= 50000, "Too many inventory entires"); + assert(listLength <= 50000, "Too many vectors"); var length = decoded.length + listLength * 32; assert(buf.length >= length, "Buffer is too small"); var rest = decoded.rest; - var inventory = new Array(listLength); + var vectors = new Array(listLength); for (var i = 0; i < listLength; i++) { - inventory[i] = rest.slice(i*32, (i+1)*32); + vectors[i] = rest.slice(i*32, (i+1)*32); } return { - inventory: inventory, + vectors: vectors, // Real data length. length: length, }; @@ -436,12 +436,12 @@ var inv = exports.inv = { /** * Encode `inv` message. - * @param {Buffer[]} inventory - - * [Inventory vector]{@link module:bitmessage/structs.inv_vect} list + * @param {Buffer[]} vectors - [Inventory vector]{@link + * module:bitmessage/structs.inv_vect} list * @return {Buffer} Encoded message. */ - encode: function(inventory) { - var payload = inv.encodePayload(inventory); + encode: function(vectors) { + var payload = inv.encodePayload(vectors); return message.encode("inv", payload); }, @@ -449,10 +449,10 @@ var inv = exports.inv = { * Encode `inv` message payload. * The same as [encode]{@link module:bitmessage/messages.inv.encode}. */ - encodePayload: function(inventory) { - assert(inventory.length <= 50000, "Too many inventory entires"); + encodePayload: function(vectors) { + assert(vectors.length <= 50000, "Too many vectors"); // TODO(Kagami): Validate vectors length. - var bufs = [structs.var_int.encode(inventory.length)].concat(inventory); + var bufs = [structs.var_int.encode(vectors.length)].concat(vectors); return Buffer.concat(bufs); }, }; @@ -467,8 +467,8 @@ var inv = exports.inv = { exports.getdata = objectAssign({}, inv, { /** * @typedef {Object} DecodeResult - * @property {Buffer[]} inventory - List of - * [inventory vectors]{@link module:bitmessage/structs.inv_vect} + * @property {Buffer[]} vectors - List of [inventory vectors]{@link + * module:bitmessage/structs.inv_vect} * @property {number} length - Real data length * @memberof module:bitmessage/messages.getdata */ @@ -495,13 +495,13 @@ exports.getdata = objectAssign({}, inv, { /** * Encode `getdata` message. - * @param {Buffer[]} inventory - - * [Inventory vector]{@link module:bitmessage/structs.inv_vect} list + * @param {Buffer[]} vectors - [Inventory vector]{@link + * module:bitmessage/structs.inv_vect} list * @return {Buffer} Encoded message. * @memberof module:bitmessage/messages.getdata */ - encode: function(inventory) { - var payload = inv.encodePayload(inventory); + encode: function(vectors) { + var payload = inv.encodePayload(vectors); return message.encode("getdata", payload); }, @@ -558,9 +558,8 @@ var error = exports.error = { * @property {number} type - Type of the error * @property {number} banTime - The other node informs that it will * not accept further connections for this number of seconds - * @property {?Buffer} vector - - * [Inventory vector]{@link module:bitmessage/structs.inv_vect} - * related to the error + * @property {?Buffer} vector - [Inventory vector]{@link + * module:bitmessage/structs.inv_vect} related to the error * @property {string} errorText - A human-readable error description * @property {number} length - Real data length * @memberof module:bitmessage/messages.error @@ -626,9 +625,9 @@ var error = exports.error = { * @param {number=} opts.banTime - Inform the other node, that you * will not accept further connections for this number of seconds (0 * by default) - * @param {Buffer=} opts.vector - A 32-byte - * [inventory vector]{@link module:bitmessage/structs.inv_vect} - * related to the error (empty by default) + * @param {Buffer=} opts.vector - A 32-byte [inventory vector]{@link + * module:bitmessage/structs.inv_vect} related to the error (empty by + * default) * @param {string} opts.errorText - A human-readable error description * @return {Buffer} Encoded message. */ @@ -671,7 +670,7 @@ var error = exports.error = {
diff --git a/docs/module-bitmessage.html b/docs/module-bitmessage.html index 96936fb..103e579 100644 --- a/docs/module-bitmessage.html +++ b/docs/module-bitmessage.html @@ -660,7 +660,7 @@
diff --git a/docs/module-bitmessage_address.Address.html b/docs/module-bitmessage_address.Address.html index 82cd726..6dc670b 100644 --- a/docs/module-bitmessage_address.Address.html +++ b/docs/module-bitmessage_address.Address.html @@ -863,7 +863,7 @@ RIPEMD hash (19 by default)

Source:
@@ -1148,7 +1148,7 @@ hash (19 by default)

Source:
@@ -1506,7 +1506,7 @@ readability and consistent with isArray, isBuffer, etc
Source:
@@ -1611,7 +1611,7 @@ readability and consistent with isArray, isBuffer, etc
Source:
@@ -1717,7 +1717,7 @@ encrypt/decrypt
Source:
@@ -1822,7 +1822,7 @@ encrypt/decrypt
Source:
@@ -1928,7 +1928,7 @@ encrypt/decrypt
Source:
@@ -2032,7 +2032,7 @@ encrypt/decrypt
Source:
@@ -2136,7 +2136,7 @@ encrypt/decrypt
Source:
@@ -2206,7 +2206,7 @@ encrypt/decrypt
diff --git a/docs/module-bitmessage_address.html b/docs/module-bitmessage_address.html index de87171..10309e1 100644 --- a/docs/module-bitmessage_address.html +++ b/docs/module-bitmessage_address.html @@ -177,7 +177,7 @@ console.log("Deterministic Bitmessage address:", addr2.encode());
diff --git a/docs/module-bitmessage_crypto.html b/docs/module-bitmessage_crypto.html index b6e5dda..20b5efb 100644 --- a/docs/module-bitmessage_crypto.html +++ b/docs/module-bitmessage_crypto.html @@ -2034,7 +2034,7 @@ and rejects on bad key or signature.


diff --git a/docs/module-bitmessage_messages.addr.html b/docs/module-bitmessage_messages.addr.html index 9fcf57d..5a35df5 100644 --- a/docs/module-bitmessage_messages.addr.html +++ b/docs/module-bitmessage_messages.addr.html @@ -757,7 +757,7 @@ The same as encode. diff --git a/docs/module-bitmessage_messages.error.html b/docs/module-bitmessage_messages.error.html index 5486e72..5e08944 100644 --- a/docs/module-bitmessage_messages.error.html +++ b/docs/module-bitmessage_messages.error.html @@ -440,7 +440,7 @@ maybe ban you for some time.

Source:
@@ -545,7 +545,7 @@ The same as decode.<
Source:
@@ -759,9 +759,8 @@ by default)

-

A 32-byte -inventory vector -related to the error (empty by default)

+

A 32-byte inventory vector related to the error (empty by +default)

@@ -840,7 +839,7 @@ related to the error (empty by default)

Source:
@@ -945,7 +944,7 @@ The same as encode.<
Source:
@@ -1260,8 +1259,7 @@ not accept further connections for this number of seconds

-

Inventory vector -related to the error

+

Inventory vector related to the error

@@ -1394,7 +1392,7 @@ related to the error


diff --git a/docs/module-bitmessage_messages.getdata.html b/docs/module-bitmessage_messages.getdata.html index 16bc927..4ddfcf1 100644 --- a/docs/module-bitmessage_messages.getdata.html +++ b/docs/module-bitmessage_messages.getdata.html @@ -357,7 +357,7 @@ The same as decode -

(static) encode(inventory) → {Buffer}

+

(static) encode(vectors) → {Buffer}

@@ -400,7 +400,7 @@ The same as decode - inventory + vectors @@ -643,7 +643,7 @@ The same as encode - inventory + vectors @@ -659,8 +659,7 @@ The same as encode -

List of -inventory vectors

+

List of inventory vectors

@@ -758,7 +757,7 @@ The same as encode
diff --git a/docs/module-bitmessage_messages.html b/docs/module-bitmessage_messages.html index 89a296b..7eac6cb 100644 --- a/docs/module-bitmessage_messages.html +++ b/docs/module-bitmessage_messages.html @@ -368,7 +368,7 @@ routine.


diff --git a/docs/module-bitmessage_messages.inv.html b/docs/module-bitmessage_messages.inv.html index 558238a..f0c4955 100644 --- a/docs/module-bitmessage_messages.inv.html +++ b/docs/module-bitmessage_messages.inv.html @@ -356,7 +356,7 @@ The same as decode.

(static) encode(inventory) → {Buffer} +

(static) encode(vectors) → {Buffer}

@@ -399,7 +399,7 @@ The same as decode.

- inventory + vectors @@ -642,7 +642,7 @@ The same as encode.

- inventory + vectors @@ -658,8 +658,7 @@ The same as encode.

List of -inventory vectors

+

List of inventory vectors

@@ -757,7 +756,7 @@ The same as encode.

diff --git a/docs/module-bitmessage_messages.version.html b/docs/module-bitmessage_messages.version.html index 72d8e56..ffb6d24 100644 --- a/docs/module-bitmessage_messages.version.html +++ b/docs/module-bitmessage_messages.version.html @@ -1325,7 +1325,7 @@ connection to self


diff --git a/docs/module-bitmessage_objects.broadcast.html b/docs/module-bitmessage_objects.broadcast.html index ae80ca2..96f9534 100644 --- a/docs/module-bitmessage_objects.broadcast.html +++ b/docs/module-bitmessage_objects.broadcast.html @@ -76,7 +76,7 @@
Source:
@@ -301,7 +301,7 @@ respectfully.

Source:
@@ -407,7 +407,7 @@ The same as deco
Source:
@@ -766,7 +766,7 @@ default)

Source:
@@ -872,7 +872,7 @@ The same as enco
Source:
@@ -1011,6 +1011,35 @@ The same as enco + + + expires + + + + + +Date + + + + + + + + + + + + + + + +

Object expiration date

+ + + + type @@ -1550,7 +1579,7 @@ unparsed buffer data for other encodings

Source:
@@ -1586,7 +1615,7 @@ unparsed buffer data for other encodings


diff --git a/docs/module-bitmessage_objects.getpubkey.html b/docs/module-bitmessage_objects.getpubkey.html index 2a33a3d..ebc0ff4 100644 --- a/docs/module-bitmessage_objects.getpubkey.html +++ b/docs/module-bitmessage_objects.getpubkey.html @@ -264,7 +264,7 @@ for the public key.

Source:
@@ -370,7 +370,7 @@ The same as deco
Source:
@@ -625,7 +625,7 @@ default)

Source:
@@ -732,7 +732,7 @@ The same as
Source:
@@ -857,6 +857,29 @@ The same as + + + expires + + + + + +Date + + + + + + + + + +

Object expiration date

+ + + + type @@ -1090,7 +1113,7 @@ for address version >= 4


diff --git a/docs/module-bitmessage_objects.html b/docs/module-bitmessage_objects.html index c4697dd..5ba9673 100644 --- a/docs/module-bitmessage_objects.html +++ b/docs/module-bitmessage_objects.html @@ -419,7 +419,7 @@ then call decode function of the appropriate object handler.


diff --git a/docs/module-bitmessage_objects.msg.html b/docs/module-bitmessage_objects.msg.html index 39c25f8..7c94841 100644 --- a/docs/module-bitmessage_objects.msg.html +++ b/docs/module-bitmessage_objects.msg.html @@ -76,7 +76,7 @@
Source:
@@ -169,7 +169,7 @@ simply be sharing its public key with you.

Source:
@@ -241,7 +241,7 @@ simply be sharing its public key with you.

Source:
@@ -314,7 +314,7 @@ of data, like URIs or magnet links.

Source:
@@ -517,7 +517,7 @@ to decrypt the message

Source:
@@ -624,7 +624,7 @@ The same as decodeAsyn
Source:
@@ -1048,7 +1048,7 @@ default)

Source:
@@ -1154,7 +1154,7 @@ The same as encodeAsyn
Source:
@@ -1293,6 +1293,35 @@ The same as encodeAsyn + + + expires + + + + + +Date + + + + + + + + + + + + + + + +

Object expiration date

+ + + + type @@ -1860,7 +1889,7 @@ unparsed buffer data for other encodings

Source:
@@ -1896,7 +1925,7 @@ unparsed buffer data for other encodings


diff --git a/docs/module-bitmessage_objects.pubkey.html b/docs/module-bitmessage_objects.pubkey.html index b8768d6..dccfbca 100644 --- a/docs/module-bitmessage_objects.pubkey.html +++ b/docs/module-bitmessage_objects.pubkey.html @@ -76,7 +76,7 @@
Source:
@@ -321,7 +321,7 @@ respectfully.

Source:
@@ -428,7 +428,7 @@ The same as decodeA
Source:
@@ -714,7 +714,7 @@ default)

Source:
@@ -820,7 +820,7 @@ The same as encodeA
Source:
@@ -945,6 +945,29 @@ The same as encodeA + + + expires + + + + + +Date + + + + + + + + + +

Object expiration date

+ + + + type @@ -1260,7 +1283,7 @@ only for pubkey version >= 3)

Source:
@@ -1296,7 +1319,7 @@ only for pubkey version >= 3)


diff --git a/docs/module-bitmessage_pow.html b/docs/module-bitmessage_pow.html index 82d9272..15f4ab0 100644 --- a/docs/module-bitmessage_pow.html +++ b/docs/module-bitmessage_pow.html @@ -1095,7 +1095,7 @@ raised to 1000.


diff --git a/docs/module-bitmessage_structs.PubkeyBitfield.html b/docs/module-bitmessage_structs.PubkeyBitfield.html index 54dd940..a9aed4f 100644 --- a/docs/module-bitmessage_structs.PubkeyBitfield.html +++ b/docs/module-bitmessage_structs.PubkeyBitfield.html @@ -190,7 +190,7 @@ not provided or will be copied if opts.copy is true)Source:
@@ -308,7 +308,7 @@ dropping them).

Source:
@@ -383,7 +383,7 @@ bound for them.

Source:
@@ -455,7 +455,7 @@ bound for them.

Source:
@@ -582,7 +582,7 @@ bound for them.

Source:
@@ -734,7 +734,7 @@ bound for them.

Source:
@@ -804,7 +804,7 @@ bound for them.


diff --git a/docs/module-bitmessage_structs.ServicesBitfield.html b/docs/module-bitmessage_structs.ServicesBitfield.html index a2798a9..26a8926 100644 --- a/docs/module-bitmessage_structs.ServicesBitfield.html +++ b/docs/module-bitmessage_structs.ServicesBitfield.html @@ -190,7 +190,7 @@ not provided or will be copied if opts.copy is true)Source:
@@ -304,7 +304,7 @@ web/mobile clients (proposal feature).

Source:
@@ -384,7 +384,7 @@ capabilities (proposal feature).

Source:
@@ -463,7 +463,7 @@ capabilities (proposal feature).

Source:
@@ -535,7 +535,7 @@ capabilities (proposal feature).

Source:
@@ -662,7 +662,7 @@ capabilities (proposal feature).

Source:
@@ -814,7 +814,7 @@ capabilities (proposal feature).

Source:
@@ -884,7 +884,7 @@ capabilities (proposal feature).


diff --git a/docs/module-bitmessage_structs.encrypted.html b/docs/module-bitmessage_structs.encrypted.html index a91dde2..34b733e 100644 --- a/docs/module-bitmessage_structs.encrypted.html +++ b/docs/module-bitmessage_structs.encrypted.html @@ -76,7 +76,7 @@
Source:
@@ -219,7 +219,7 @@
Source:
@@ -492,7 +492,7 @@ size)

Source:
@@ -720,7 +720,7 @@ size)

Source:
@@ -756,7 +756,7 @@ size)


diff --git a/docs/module-bitmessage_structs.html b/docs/module-bitmessage_structs.html index cc6bd07..8ea6b83 100644 --- a/docs/module-bitmessage_structs.html +++ b/docs/module-bitmessage_structs.html @@ -216,7 +216,7 @@ console.log(decoded4.list); // [1, 2, 3]
diff --git a/docs/module-bitmessage_structs.inv_vect.html b/docs/module-bitmessage_structs.inv_vect.html index 6059bdd..1b51677 100644 --- a/docs/module-bitmessage_structs.inv_vect.html +++ b/docs/module-bitmessage_structs.inv_vect.html @@ -76,7 +76,7 @@
Source:
@@ -219,7 +219,7 @@
Source:
@@ -289,7 +289,7 @@
diff --git a/docs/module-bitmessage_structs.message.html b/docs/module-bitmessage_structs.message.html index aed182f..30d02ea 100644 --- a/docs/module-bitmessage_structs.message.html +++ b/docs/module-bitmessage_structs.message.html @@ -1149,7 +1149,7 @@ processing message


diff --git a/docs/module-bitmessage_structs.net_addr.html b/docs/module-bitmessage_structs.net_addr.html index b30f583..9f7da92 100644 --- a/docs/module-bitmessage_structs.net_addr.html +++ b/docs/module-bitmessage_structs.net_addr.html @@ -76,7 +76,7 @@
Source:
@@ -264,7 +264,7 @@ decode net_addr from
Source:
@@ -647,7 +647,7 @@ provided by the node (NODE_NETWORK by default)

Source:
@@ -900,7 +900,7 @@ provided by the node

Source:
@@ -936,7 +936,7 @@ provided by the node


diff --git a/docs/module-bitmessage_structs.object.html b/docs/module-bitmessage_structs.object.html index 3ce9e94..ec50ae4 100644 --- a/docs/module-bitmessage_structs.object.html +++ b/docs/module-bitmessage_structs.object.html @@ -628,7 +628,7 @@ nodes.

Source:
@@ -762,7 +762,7 @@ The same as decode.<
Source:
@@ -1109,7 +1109,7 @@ The same as decode.<
Source:
@@ -1214,7 +1214,7 @@ The same as encode.<
Source:
@@ -1531,7 +1531,7 @@ useful if you are going to calculate it later).

Source:
@@ -1686,7 +1686,56 @@ useful if you are going to calculate it later).

-

Any of object.decode options

+

Any of object.decode options and:

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
stream + + +number + + + +

Expected object's stream

+ + @@ -1727,7 +1776,7 @@ useful if you are going to calculate it later).

Source:
@@ -1833,7 +1882,7 @@ The same as validateSource:
@@ -1958,6 +2007,29 @@ The same as validate + + expires + + + + + +Date + + + + + + + + + +

Object expiration date

+ + + + type @@ -2143,7 +2215,7 @@ The same as
validate diff --git a/docs/module-bitmessage_structs.var_int.html b/docs/module-bitmessage_structs.var_int.html index a9578fd..3912481 100644 --- a/docs/module-bitmessage_structs.var_int.html +++ b/docs/module-bitmessage_structs.var_int.html @@ -76,7 +76,7 @@
Source:
@@ -219,7 +219,7 @@
Source:
@@ -375,7 +375,7 @@
Source:
@@ -579,7 +579,7 @@
Source:
@@ -615,7 +615,7 @@
diff --git a/docs/module-bitmessage_structs.var_int_list.html b/docs/module-bitmessage_structs.var_int_list.html index 365bad3..40c3f26 100644 --- a/docs/module-bitmessage_structs.var_int_list.html +++ b/docs/module-bitmessage_structs.var_int_list.html @@ -76,7 +76,7 @@
Source:
@@ -220,7 +220,7 @@
Source:
@@ -373,7 +373,7 @@
Source:
@@ -577,7 +577,7 @@
Source:
@@ -613,7 +613,7 @@
diff --git a/docs/module-bitmessage_structs.var_str.html b/docs/module-bitmessage_structs.var_str.html index e72fdaf..3fd8305 100644 --- a/docs/module-bitmessage_structs.var_str.html +++ b/docs/module-bitmessage_structs.var_str.html @@ -76,7 +76,7 @@
Source:
@@ -219,7 +219,7 @@
Source:
@@ -372,7 +372,7 @@
Source:
@@ -576,7 +576,7 @@
Source:
@@ -612,7 +612,7 @@
diff --git a/docs/module-bitmessage_user-agent.html b/docs/module-bitmessage_user-agent.html index 3f05058..074b503 100644 --- a/docs/module-bitmessage_user-agent.html +++ b/docs/module-bitmessage_user-agent.html @@ -907,7 +907,7 @@ format because it's not that important.


diff --git a/docs/module-bitmessage_wif.html b/docs/module-bitmessage_wif.html index 8dc7b42..8ddc117 100644 --- a/docs/module-bitmessage_wif.html +++ b/docs/module-bitmessage_wif.html @@ -469,7 +469,7 @@ key).


diff --git a/docs/objects.js.html b/docs/objects.js.html index ff5a342..16fec4a 100644 --- a/docs/objects.js.html +++ b/docs/objects.js.html @@ -122,6 +122,7 @@ var getpubkey = exports.getpubkey = { * @typedef {Object} DecodeResult * @property {Buffer} nonce - A 8-byte object nonce * @property {number} ttl - Time to live in seconds + * @property {Date} expires - Object expiration date * @property {number} type - Object type * @property {number} version - Object version * @property {number} stream - Object stream @@ -282,6 +283,7 @@ var pubkey = exports.pubkey = { * @typedef {Object} DecodeResult * @property {Buffer} nonce - A 8-byte object nonce * @property {number} ttl - Time to live in seconds + * @property {Date} expires - Object expiration date * @property {number} type - Object type * @property {number} version - Object version * @property {number} stream - Object stream @@ -615,6 +617,7 @@ var msg = exports.msg = { * @typedef {Object} DecodeResult * @property {Buffer} nonce - A 8-byte object nonce * @property {number} ttl - Time to live in seconds + * @property {Date} expires - Object expiration date * @property {number} type - Object type * @property {number} version - Object version * @property {number} stream - Object stream @@ -905,6 +908,7 @@ var broadcast = exports.broadcast = { * @typedef {Object} DecodeResult * @property {Buffer} nonce - A 8-byte object nonce * @property {number} ttl - Time to live in seconds + * @property {Date} expires - Object expiration date * @property {number} type - Object type * @property {number} version - Object version * @property {number} stream - Object stream @@ -1176,7 +1180,7 @@ var broadcast = exports.broadcast = {
diff --git a/docs/pow.js.html b/docs/pow.js.html index 07e342f..fa41b2f 100644 --- a/docs/pow.js.html +++ b/docs/pow.js.html @@ -156,7 +156,7 @@ exports.doAsync = function(opts) {
diff --git a/docs/structs.js.html b/docs/structs.js.html index 4a8e5a9..70481c6 100644 --- a/docs/structs.js.html +++ b/docs/structs.js.html @@ -332,6 +332,7 @@ var object = exports.object = { * @typedef {Object} DecodeResult * @property {Buffer} nonce - A 8-byte object nonce * @property {number} ttl - Time to live in seconds + * @property {Date} expires - Object expiration date * @property {number} type - Object type * @property {number} version - Object version * @property {number} stream - Object stream @@ -375,6 +376,7 @@ var object = exports.object = { // TTL. var expiresTime = util.readTimestamp64BE(buf.slice(8, 16)); + var expires = new Date(expiresTime * 1000); var ttl = expiresTime - util.tnow(); assert(ttl <= 2430000, "expiresTime is too far in the future"); if (!opts.allowExpired) { @@ -395,7 +397,7 @@ var object = exports.object = { var decodedStream = var_int.decode(decodedVersion.rest); var headerLength = 20 + decodedVersion.length + decodedStream.length; - if (opts._validate) { return; } + if (opts._validate) { return {stream: decodedStream.value}; } var objectPayload = new Buffer(decodedStream.rest.length); decodedStream.rest.copy(objectPayload); @@ -403,6 +405,7 @@ var object = exports.object = { return { nonce: nonce, ttl: ttl, + expires: expires, type: type, version: decodedVersion.value, stream: decodedStream.value, @@ -415,7 +418,8 @@ var object = exports.object = { * Check whether given `object` message is valid. * @param {Buffer} buf - Message * @param {Object=} opts - Any of [object.decode]{@link - * module:bitmessage/structs.object.decode} options + * module:bitmessage/structs.object.decode} options and: + * @param {number} opts.stream - Expected object's stream * @return {?Error} Return an error with description if object is * invalid. */ @@ -439,11 +443,18 @@ var object = exports.object = { */ validatePayload: function(buf, opts) { opts = objectAssign({}, opts, {_validate: true}); + var decoded; try { - object.decodePayload(buf, opts); + decoded = object.decodePayload(buf, opts); } catch(e) { return e; } + if (opts.stream && decoded.stream !== opts.stream) { + return new Error( + "The stream number " + opts.stream + + " is not the one we are interested in" + ); + } }, /** @@ -1095,7 +1106,7 @@ exports.PubkeyBitfield = objectAssign(Bitfield(32), {
diff --git a/docs/user-agent.js.html b/docs/user-agent.js.html index f090f4c..21eaf46 100644 --- a/docs/user-agent.js.html +++ b/docs/user-agent.js.html @@ -154,7 +154,7 @@ exports.encodeSelfWith = function(software) {
diff --git a/docs/wif.js.html b/docs/wif.js.html index d6131f9..77391b3 100644 --- a/docs/wif.js.html +++ b/docs/wif.js.html @@ -87,7 +87,7 @@ exports.encode = function(privateKey) {