rchain-client-api
Version:
RChain client for node.js, browsers
919 lines (798 loc) • 839 kB
JavaScript
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
"use strict";
var $protobuf = require("protobufjs/minimal");
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
$root.coop = (function() {
var coop = {};
coop.rchain = (function() {
var rchain = {};
rchain.casper = (function() {
var casper = {};
casper.protocol = (function() {
var protocol = {};
protocol.HasBlockRequest = (function() {
function HasBlockRequest(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
HasBlockRequest.prototype.hash = $util.newBuffer([]);
HasBlockRequest.create = function create(properties) {
return new HasBlockRequest(properties);
};
HasBlockRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.hash != null && message.hasOwnProperty("hash"))
writer.uint32(10).bytes(message.hash);
return writer;
};
HasBlockRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
HasBlockRequest.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.HasBlockRequest();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.hash = reader.bytes();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
HasBlockRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
HasBlockRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.hash != null && message.hasOwnProperty("hash"))
if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash)))
return "hash: buffer expected";
return null;
};
HasBlockRequest.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.HasBlockRequest)
return object;
var message = new $root.coop.rchain.casper.protocol.HasBlockRequest();
if (object.hash != null)
if (typeof object.hash === "string")
$util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0);
else if (object.hash.length)
message.hash = object.hash;
return message;
};
HasBlockRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults)
if (options.bytes === String)
object.hash = "";
else {
object.hash = [];
if (options.bytes !== Array)
object.hash = $util.newBuffer(object.hash);
}
if (message.hash != null && message.hasOwnProperty("hash"))
object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash;
return object;
};
HasBlockRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return HasBlockRequest;
})();
protocol.HasBlock = (function() {
function HasBlock(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
HasBlock.prototype.hash = $util.newBuffer([]);
HasBlock.create = function create(properties) {
return new HasBlock(properties);
};
HasBlock.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.hash != null && message.hasOwnProperty("hash"))
writer.uint32(10).bytes(message.hash);
return writer;
};
HasBlock.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
HasBlock.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.HasBlock();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.hash = reader.bytes();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
HasBlock.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
HasBlock.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.hash != null && message.hasOwnProperty("hash"))
if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash)))
return "hash: buffer expected";
return null;
};
HasBlock.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.HasBlock)
return object;
var message = new $root.coop.rchain.casper.protocol.HasBlock();
if (object.hash != null)
if (typeof object.hash === "string")
$util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0);
else if (object.hash.length)
message.hash = object.hash;
return message;
};
HasBlock.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults)
if (options.bytes === String)
object.hash = "";
else {
object.hash = [];
if (options.bytes !== Array)
object.hash = $util.newBuffer(object.hash);
}
if (message.hash != null && message.hasOwnProperty("hash"))
object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash;
return object;
};
HasBlock.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return HasBlock;
})();
protocol.BlockRequest = (function() {
function BlockRequest(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
BlockRequest.prototype.hash = $util.newBuffer([]);
BlockRequest.create = function create(properties) {
return new BlockRequest(properties);
};
BlockRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.hash != null && message.hasOwnProperty("hash"))
writer.uint32(10).bytes(message.hash);
return writer;
};
BlockRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BlockRequest.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.BlockRequest();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.hash = reader.bytes();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BlockRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BlockRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.hash != null && message.hasOwnProperty("hash"))
if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash)))
return "hash: buffer expected";
return null;
};
BlockRequest.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.BlockRequest)
return object;
var message = new $root.coop.rchain.casper.protocol.BlockRequest();
if (object.hash != null)
if (typeof object.hash === "string")
$util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0);
else if (object.hash.length)
message.hash = object.hash;
return message;
};
BlockRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults)
if (options.bytes === String)
object.hash = "";
else {
object.hash = [];
if (options.bytes !== Array)
object.hash = $util.newBuffer(object.hash);
}
if (message.hash != null && message.hasOwnProperty("hash"))
object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash;
return object;
};
BlockRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return BlockRequest;
})();
protocol.ForkChoiceTipRequest = (function() {
function ForkChoiceTipRequest(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
ForkChoiceTipRequest.create = function create(properties) {
return new ForkChoiceTipRequest(properties);
};
ForkChoiceTipRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
return writer;
};
ForkChoiceTipRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ForkChoiceTipRequest.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.ForkChoiceTipRequest();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ForkChoiceTipRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ForkChoiceTipRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
return null;
};
ForkChoiceTipRequest.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.ForkChoiceTipRequest)
return object;
return new $root.coop.rchain.casper.protocol.ForkChoiceTipRequest();
};
ForkChoiceTipRequest.toObject = function toObject() {
return {};
};
ForkChoiceTipRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return ForkChoiceTipRequest;
})();
protocol.ApprovedBlockCandidate = (function() {
function ApprovedBlockCandidate(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
ApprovedBlockCandidate.prototype.block = null;
ApprovedBlockCandidate.prototype.requiredSigs = 0;
ApprovedBlockCandidate.create = function create(properties) {
return new ApprovedBlockCandidate(properties);
};
ApprovedBlockCandidate.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.block != null && message.hasOwnProperty("block"))
$root.coop.rchain.casper.protocol.BlockMessage.encode(message.block, writer.uint32(10).fork()).ldelim();
if (message.requiredSigs != null && message.hasOwnProperty("requiredSigs"))
writer.uint32(16).int32(message.requiredSigs);
return writer;
};
ApprovedBlockCandidate.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ApprovedBlockCandidate.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.ApprovedBlockCandidate();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.block = $root.coop.rchain.casper.protocol.BlockMessage.decode(reader, reader.uint32());
break;
case 2:
message.requiredSigs = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ApprovedBlockCandidate.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ApprovedBlockCandidate.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.block != null && message.hasOwnProperty("block")) {
var error = $root.coop.rchain.casper.protocol.BlockMessage.verify(message.block);
if (error)
return "block." + error;
}
if (message.requiredSigs != null && message.hasOwnProperty("requiredSigs"))
if (!$util.isInteger(message.requiredSigs))
return "requiredSigs: integer expected";
return null;
};
ApprovedBlockCandidate.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.ApprovedBlockCandidate)
return object;
var message = new $root.coop.rchain.casper.protocol.ApprovedBlockCandidate();
if (object.block != null) {
if (typeof object.block !== "object")
throw TypeError(".coop.rchain.casper.protocol.ApprovedBlockCandidate.block: object expected");
message.block = $root.coop.rchain.casper.protocol.BlockMessage.fromObject(object.block);
}
if (object.requiredSigs != null)
message.requiredSigs = object.requiredSigs | 0;
return message;
};
ApprovedBlockCandidate.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.block = null;
object.requiredSigs = 0;
}
if (message.block != null && message.hasOwnProperty("block"))
object.block = $root.coop.rchain.casper.protocol.BlockMessage.toObject(message.block, options);
if (message.requiredSigs != null && message.hasOwnProperty("requiredSigs"))
object.requiredSigs = message.requiredSigs;
return object;
};
ApprovedBlockCandidate.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return ApprovedBlockCandidate;
})();
protocol.UnapprovedBlock = (function() {
function UnapprovedBlock(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
UnapprovedBlock.prototype.candidate = null;
UnapprovedBlock.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
UnapprovedBlock.prototype.duration = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
UnapprovedBlock.create = function create(properties) {
return new UnapprovedBlock(properties);
};
UnapprovedBlock.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.candidate != null && message.hasOwnProperty("candidate"))
$root.coop.rchain.casper.protocol.ApprovedBlockCandidate.encode(message.candidate, writer.uint32(10).fork()).ldelim();
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
writer.uint32(16).int64(message.timestamp);
if (message.duration != null && message.hasOwnProperty("duration"))
writer.uint32(24).int64(message.duration);
return writer;
};
UnapprovedBlock.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UnapprovedBlock.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.UnapprovedBlock();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.decode(reader, reader.uint32());
break;
case 2:
message.timestamp = reader.int64();
break;
case 3:
message.duration = reader.int64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UnapprovedBlock.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UnapprovedBlock.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.candidate != null && message.hasOwnProperty("candidate")) {
var error = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.verify(message.candidate);
if (error)
return "candidate." + error;
}
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
return "timestamp: integer|Long expected";
if (message.duration != null && message.hasOwnProperty("duration"))
if (!$util.isInteger(message.duration) && !(message.duration && $util.isInteger(message.duration.low) && $util.isInteger(message.duration.high)))
return "duration: integer|Long expected";
return null;
};
UnapprovedBlock.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.UnapprovedBlock)
return object;
var message = new $root.coop.rchain.casper.protocol.UnapprovedBlock();
if (object.candidate != null) {
if (typeof object.candidate !== "object")
throw TypeError(".coop.rchain.casper.protocol.UnapprovedBlock.candidate: object expected");
message.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.fromObject(object.candidate);
}
if (object.timestamp != null)
if ($util.Long)
(message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = false;
else if (typeof object.timestamp === "string")
message.timestamp = parseInt(object.timestamp, 10);
else if (typeof object.timestamp === "number")
message.timestamp = object.timestamp;
else if (typeof object.timestamp === "object")
message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber();
if (object.duration != null)
if ($util.Long)
(message.duration = $util.Long.fromValue(object.duration)).unsigned = false;
else if (typeof object.duration === "string")
message.duration = parseInt(object.duration, 10);
else if (typeof object.duration === "number")
message.duration = object.duration;
else if (typeof object.duration === "object")
message.duration = new $util.LongBits(object.duration.low >>> 0, object.duration.high >>> 0).toNumber();
return message;
};
UnapprovedBlock.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.candidate = null;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.timestamp = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object.duration = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.duration = options.longs === String ? "0" : 0;
}
if (message.candidate != null && message.hasOwnProperty("candidate"))
object.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.toObject(message.candidate, options);
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
if (typeof message.timestamp === "number")
object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
else
object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber() : message.timestamp;
if (message.duration != null && message.hasOwnProperty("duration"))
if (typeof message.duration === "number")
object.duration = options.longs === String ? String(message.duration) : message.duration;
else
object.duration = options.longs === String ? $util.Long.prototype.toString.call(message.duration) : options.longs === Number ? new $util.LongBits(message.duration.low >>> 0, message.duration.high >>> 0).toNumber() : message.duration;
return object;
};
UnapprovedBlock.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return UnapprovedBlock;
})();
protocol.Signature = (function() {
function Signature(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
Signature.prototype.publicKey = $util.newBuffer([]);
Signature.prototype.algorithm = "";
Signature.prototype.sig = $util.newBuffer([]);
Signature.create = function create(properties) {
return new Signature(properties);
};
Signature.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.publicKey != null && message.hasOwnProperty("publicKey"))
writer.uint32(10).bytes(message.publicKey);
if (message.algorithm != null && message.hasOwnProperty("algorithm"))
writer.uint32(18).string(message.algorithm);
if (message.sig != null && message.hasOwnProperty("sig"))
writer.uint32(26).bytes(message.sig);
return writer;
};
Signature.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Signature.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.Signature();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.publicKey = reader.bytes();
break;
case 2:
message.algorithm = reader.string();
break;
case 3:
message.sig = reader.bytes();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Signature.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Signature.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.publicKey != null && message.hasOwnProperty("publicKey"))
if (!(message.publicKey && typeof message.publicKey.length === "number" || $util.isString(message.publicKey)))
return "publicKey: buffer expected";
if (message.algorithm != null && message.hasOwnProperty("algorithm"))
if (!$util.isString(message.algorithm))
return "algorithm: string expected";
if (message.sig != null && message.hasOwnProperty("sig"))
if (!(message.sig && typeof message.sig.length === "number" || $util.isString(message.sig)))
return "sig: buffer expected";
return null;
};
Signature.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.Signature)
return object;
var message = new $root.coop.rchain.casper.protocol.Signature();
if (object.publicKey != null)
if (typeof object.publicKey === "string")
$util.base64.decode(object.publicKey, message.publicKey = $util.newBuffer($util.base64.length(object.publicKey)), 0);
else if (object.publicKey.length)
message.publicKey = object.publicKey;
if (object.algorithm != null)
message.algorithm = String(object.algorithm);
if (object.sig != null)
if (typeof object.sig === "string")
$util.base64.decode(object.sig, message.sig = $util.newBuffer($util.base64.length(object.sig)), 0);
else if (object.sig.length)
message.sig = object.sig;
return message;
};
Signature.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
if (options.bytes === String)
object.publicKey = "";
else {
object.publicKey = [];
if (options.bytes !== Array)
object.publicKey = $util.newBuffer(object.publicKey);
}
object.algorithm = "";
if (options.bytes === String)
object.sig = "";
else {
object.sig = [];
if (options.bytes !== Array)
object.sig = $util.newBuffer(object.sig);
}
}
if (message.publicKey != null && message.hasOwnProperty("publicKey"))
object.publicKey = options.bytes === String ? $util.base64.encode(message.publicKey, 0, message.publicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKey) : message.publicKey;
if (message.algorithm != null && message.hasOwnProperty("algorithm"))
object.algorithm = message.algorithm;
if (message.sig != null && message.hasOwnProperty("sig"))
object.sig = options.bytes === String ? $util.base64.encode(message.sig, 0, message.sig.length) : options.bytes === Array ? Array.prototype.slice.call(message.sig) : message.sig;
return object;
};
Signature.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return Signature;
})();
protocol.BlockApproval = (function() {
function BlockApproval(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
BlockApproval.prototype.candidate = null;
BlockApproval.prototype.sig = null;
BlockApproval.create = function create(properties) {
return new BlockApproval(properties);
};
BlockApproval.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.candidate != null && message.hasOwnProperty("candidate"))
$root.coop.rchain.casper.protocol.ApprovedBlockCandidate.encode(message.candidate, writer.uint32(10).fork()).ldelim();
if (message.sig != null && message.hasOwnProperty("sig"))
$root.coop.rchain.casper.protocol.Signature.encode(message.sig, writer.uint32(18).fork()).ldelim();
return writer;
};
BlockApproval.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BlockApproval.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.BlockApproval();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.decode(reader, reader.uint32());
break;
case 2:
message.sig = $root.coop.rchain.casper.protocol.Signature.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BlockApproval.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BlockApproval.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.candidate != null && message.hasOwnProperty("candidate")) {
var error = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.verify(message.candidate);
if (error)
return "candidate." + error;
}
if (message.sig != null && message.hasOwnProperty("sig")) {
var error = $root.coop.rchain.casper.protocol.Signature.verify(message.sig);
if (error)
return "sig." + error;
}
return null;
};
BlockApproval.fromObject = function fromObject(object) {
if (object instanceof $root.coop.rchain.casper.protocol.BlockApproval)
return object;
var message = new $root.coop.rchain.casper.protocol.BlockApproval();
if (object.candidate != null) {
if (typeof object.candidate !== "object")
throw TypeError(".coop.rchain.casper.protocol.BlockApproval.candidate: object expected");
message.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.fromObject(object.candidate);
}
if (object.sig != null) {
if (typeof object.sig !== "object")
throw TypeError(".coop.rchain.casper.protocol.BlockApproval.sig: object expected");
message.sig = $root.coop.rchain.casper.protocol.Signature.fromObject(object.sig);
}
return message;
};
BlockApproval.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.candidate = null;
object.sig = null;
}
if (message.candidate != null && message.hasOwnProperty("candidate"))
object.candidate = $root.coop.rchain.casper.protocol.ApprovedBlockCandidate.toObject(message.candidate, options);
if (message.sig != null && message.hasOwnProperty("sig"))
object.sig = $root.coop.rchain.casper.protocol.Signature.toObject(message.sig, options);
return object;
};
BlockApproval.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return BlockApproval;
})();
protocol.ApprovedBlock = (function() {
function ApprovedBlock(properties) {
this.sigs = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
ApprovedBlock.prototype.candidate = null;
ApprovedBlock.prototype.sigs = $util.emptyArray;
ApprovedBlock.create = function create(properties) {
return new ApprovedBlock(properties);
};
ApprovedBlock.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.candidate != null && message.hasOwnProperty("candidate"))
$root.coop.rchain.casper.protocol.ApprovedBlockCandidate.encode(message.candidate, writer.uint32(10).fork()).ldelim();
if (message.sigs != null && message.sigs.length)
for (var i = 0; i < message.sigs.length; ++i)
$root.coop.rchain.casper.protocol.Signature.encode(message.sigs[i], writer.uint32(18).fork()).ldelim();
return writer;
};
ApprovedBlock.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ApprovedBlock.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.coop.rchain.casper.protocol.ApprovedBlock();
while (rea