Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dashevo/dashcore-lib

Package Overview
Dependencies
Maintainers
12
Versions
117
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dashevo/dashcore-lib - npm Package Compare versions

Comparing version 0.17.6 to 0.17.7

lib/govobject/types/trigger.js

78

lib/errors/spec.js

@@ -53,30 +53,58 @@ /* eslint-disable */

message: 'Internal Error on GovObject {0}',
errors: [{
name: 'Proposal',
message: 'Internal Error on Proposal {0}',
errors: [{
name: 'invalidDate',
message: 'Invalid Date'
}, {
name: 'invalidDateWindow',
message: 'Invalid Timespan'
}, {
name: 'invalidAddress',
message: 'Invalid Address'
errors: [
{
name: 'Proposal',
message: 'Internal Error on Proposal {0}',
errors: [{
name: 'invalidDate',
message: 'Invalid Date'
}, {
name: 'invalidDateWindow',
message: 'Invalid Timespan'
}, {
name: 'invalidAddress',
message: 'Invalid Address'
},
{
name: 'invalidP2SHAddress',
message: 'Invalid P2SHAddress'
},
{
name: 'invalidPayment',
message: 'Invalid Payment Amount'
}, {
name: 'invalidUrl',
message: 'Invalid URL'
}, {
name: 'invalidName',
message: 'Invalid Name'
}]
},
{
name: 'invalidP2SHAddress',
message: 'Invalid P2SHAddress'
name: 'Trigger',
message: 'Internal Error on Trigger {0}',
errors: [
{
name: 'invalidEBH',
message: 'Invalid Event Block Height'
},
{
name: 'fieldsMismatch',
message: 'Mismatched number of addresses / amounts / proposals'
},
{
name: 'invalidAddresses',
message: 'Invalid Payment Addresses'
},
{
name: 'invalidP2SHAddresses',
message: 'Invalid P2SH Payment Addresses'
},
{
name: 'invalidPaymentAmounts',
message: 'Invalid Payment Amounts'
},
]
},
{
name: 'invalidPayment',
message: 'Invalid Payment Amount'
}, {
name: 'invalidUrl',
message: 'Invalid URL'
}, {
name: 'invalidName',
message: 'Invalid Name'
}]
}]
]
}, {

@@ -83,0 +111,0 @@ name: 'Transaction',

@@ -103,2 +103,6 @@ /* eslint-disable */

return proposal;
case 2:
var trigger = new GovObject.Trigger;
trigger = trigger.fromObject(govObject);
return trigger;
default:

@@ -105,0 +109,0 @@ throw new Error('Unhandled GovObject type');

@@ -1,6 +0,4 @@

/* eslint-disable */
// TODO: Remove previous line and work through linting issues at next edit
module.exports = require('./govobject');
module.exports.Proposal = require('./types/proposal');
module.exports.Trigger = require('./types/trigger');

@@ -10,3 +10,2 @@ /* eslint-disable */

var AbstractPayload = require('./abstractpayload');
var Script = require('../../script');

@@ -87,6 +86,8 @@ var CURRENT_PAYLOAD_VERSION = 1;

payload.signersSize = payloadBufferReader.readVarintNum();
payload.signers = payloadBufferReader.read(Math.floor((payload.signersSize + 7) / 8)).toString('hex');
var signersBytesToRead = Math.floor((payload.signersSize + 7) / 8) || 1;
payload.signers = payloadBufferReader.read(signersBytesToRead).toString('hex');
payload.validMembersSize = payloadBufferReader.readVarintNum();
payload.validMembers = payloadBufferReader.read(Math.floor((payload.validMembersSize + 7) / 8)).toString('hex');
var validMembersBytesToRead = Math.floor((payload.validMembersSize + 7) / 8) || 1;
payload.validMembers = payloadBufferReader.read(validMembersBytesToRead).toString('hex');

@@ -149,3 +150,3 @@ payload.quorumPublicKey = payloadBufferReader.read(constants.BLS_PUBLIC_KEY_SIZE).toString('hex');

quorumHash: this.quorumHash,
signerSize: this.signerSize,
signersSize: this.signersSize,
signers: this.signers,

@@ -194,3 +195,3 @@ validMembersSize: this.validMembersSize,

default:
throw new Error(`Invalid llmq type ${this.llmqtype}`);
throw new Error('Invalid llmq type ' + this.llmqtype);
}

@@ -205,5 +206,5 @@

.write(Buffer.from(this.quorumHash, 'hex'))
.writeVarintNum(signerSizeLength)
.writeVarintNum(this.signersSize)
.write(Buffer.from(this.signers, 'hex'))
.writeVarintNum(validMemberSizeLength)
.writeVarintNum(this.validMembersSize)
.write(Buffer.from(this.validMembers, 'hex'))

@@ -213,3 +214,3 @@ .write(Buffer.from(this.quorumPublicKey, 'hex'))

.write(Buffer.from(this.quorumSig, 'hex'))
.write(Buffer.from(this.sig, 'hex'))
.write(Buffer.from(this.sig, 'hex'));

@@ -216,0 +217,0 @@ return payloadBufferWriter.toBuffer();

@@ -65,3 +65,3 @@ /* eslint-disable */

this.payloadSig = options.payloadSig;
this.payloadSigSize = this.payloadSig ? constants.BLS_SIGNATURE_SIZE : 0;
this.payloadSigSize = this.payloadSig ? Buffer.from(this.payloadSig, 'hex').length : 0;
}

@@ -68,0 +68,0 @@ }

{
"name": "@dashevo/dashcore-lib",
"version": "0.17.6",
"version": "0.17.7",
"description": "A pure and powerful JavaScript Dash library.",

@@ -5,0 +5,0 @@ "author": "Dash Core Group, Inc. <dev@dash.org>",

@@ -303,2 +303,26 @@ /* eslint-disable */

it('should create a trigger govObject from a buffer', () => {
var govObject = new GovObject;
var jsonTrigger = {
event_block_height: 110976,
network: 'testnet',
payment_addresses: 'yXGeNPQXYFXhLAN1ZKrAjxzzBnZ2JZNKnh|yXBj864aMJ4bNM3uTWrs6ebXdRBsTbeA9y',
payment_amounts: '10.00000000|12.00000000',
proposal_hashes: '20596d41ac6c9f6bfb9a02e43cd77ef1ed1a0e9d70857e5110e6aa9de0ce12fb|6767927761890eefaa6f80542aad6981fb966eed7c1deaf616464a739d81b8d7',
type: 2,
};
var govObject = govObject.fromObject(jsonTrigger);
var govFromBuffer = new GovObject;
govFromBuffer.fromBuffer(govObject.toBuffer()).should.deep.equal(govObject);
govFromBuffer.fromBuffer(govObject.toBuffer()).should.not.equal(govObject);
new GovObject(govObject.toBuffer()).should.deep.equal(govObject);
new GovObject(govObject.toBuffer()).should.not.equal(govObject);
var reader = new BufferReader(govObject.toBuffer());
var fromBuff = govFromBuffer.fromBufferReader(reader);
fromBuff.should.deep.equal(govObject);
fromBuff.should.not.equal(govObject);
})
});

@@ -305,0 +329,0 @@ });

@@ -9,3 +9,3 @@ /* eslint-disable */

var Script = DashcoreLib.Script;
var Transaction = DashcoreLib.Transaction;
var CommitmentTxPayload = DashcoreLib.Transaction.Payload.CommitmentTxPayload;

@@ -15,19 +15,24 @@

version: 1,
height: 279326,
height: 137051,
qfcVersion: 1,
llmqtype: 1,
quorumHash: '4cb9568141dded955ed90345b393fc62634be7d260ca328b89afdd0500000000',
quorumHash: "f015624411254dd5a806e16310e7b9989e8224796f57e42bfb01420200000000",
signersSize: 50,
signers: '00000000000000',
signers: "ffffffffffff03",
validMembersSize: 50,
validMembers: '00000000000000',
quorumPublicKey: '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
quorumVvecHash: '0000000000000000000000000000000000000000000000000000000000000000',
quorumSig: '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
sig: '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
validMembers: "ffffffffffff03",
quorumPublicKey: "0ea4465cc4b2e6890e5bd37987822cabf1b79ec8dece016a3be75802482480af29f7961281405d2cb3d6e38157bda824",
quorumVvecHash: "e3107d64e8d2bec7dff1f6d7fd1a9d31a181c82acaf052f8d27b71507fe2db12",
quorumSig: "0f0a203004f025076c7c0d989464013b31a0104155946968317e6abcfafbe70a53c2b57811f0ebe888cef36eacf649401497c569a9f617c3eeaa7eacbc45969389fa229355097abe277f2452792a5f2e84e804bf2eac0843f01690fb6bd10df1",
sig: "195f7a49aed846bcf475a4a3500b15a626c514c9223b46ce6fef505f19af8f8e1cec554cb63a04125c2d19bf0211ea4c15f289f1413b8618abdf7295e44fb196e326a803d9d7c7c69a12314cf88e463653fde5fecb1f8c3d6791180cdc382392"
};
var validCommitmentTxPayloadHexString = '01001e430400010001f2a1f356b9e086220d38754b1de1e4dcbd8b080c3fa0a62c2bd0961400000000320000000000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
var payload = CommitmentTxPayload.fromBuffer(Buffer.from(validCommitmentTxPayloadHexString, 'hex'));
var testNetPayloadHex = '01005b170200010001f015624411254dd5a806e16310e7b9989e8224796f57e42bfb0142020000000032ffffffffffff0332ffffffffffff030ea4465cc4b2e6890e5bd37987822cabf1b79ec8dece016a3be75802482480af29f7961281405d2cb3d6e38157bda824e3107d64e8d2bec7dff1f6d7fd1a9d31a181c82acaf052f8d27b71507fe2db120f0a203004f025076c7c0d989464013b31a0104155946968317e6abcfafbe70a53c2b57811f0ebe888cef36eacf649401497c569a9f617c3eeaa7eacbc45969389fa229355097abe277f2452792a5f2e84e804bf2eac0843f01690fb6bd10df1195f7a49aed846bcf475a4a3500b15a626c514c9223b46ce6fef505f19af8f8e1cec554cb63a04125c2d19bf0211ea4c15f289f1413b8618abdf7295e44fb196e326a803d9d7c7c69a12314cf88e463653fde5fecb1f8c3d6791180cdc382392';
var testNetCommitmentTxHex = '03000600000000000000fd490101005b170200010001f015624411254dd5a806e16310e7b9989e8224796f57e42bfb0142020000000032ffffffffffff0332ffffffffffff030ea4465cc4b2e6890e5bd37987822cabf1b79ec8dece016a3be75802482480af29f7961281405d2cb3d6e38157bda824e3107d64e8d2bec7dff1f6d7fd1a9d31a181c82acaf052f8d27b71507fe2db120f0a203004f025076c7c0d989464013b31a0104155946968317e6abcfafbe70a53c2b57811f0ebe888cef36eacf649401497c569a9f617c3eeaa7eacbc45969389fa229355097abe277f2452792a5f2e84e804bf2eac0843f01690fb6bd10df1195f7a49aed846bcf475a4a3500b15a626c514c9223b46ce6fef505f19af8f8e1cec554cb63a04125c2d19bf0211ea4c15f289f1413b8618abdf7295e44fb196e326a803d9d7c7c69a12314cf88e463653fde5fecb1f8c3d6791180cdc382392';
var testNetCommitmentTxHash = 'cf4b01ce796a4f37e6af6dd62671b608160d4a39acf3bfe95f9a59d1854b63f3';
function getPayloadBuffer() {
return Buffer.from(testNetPayloadHex, 'hex');
}
function checkValidJSON(payload) {

@@ -50,5 +55,2 @@ expect(payload.version).to.be.equal(validCommitmentTxPayloadJSON.version);

var payload = null;
var payloadBuffer = null;
describe('.fromJSON', function () {

@@ -65,3 +67,3 @@

it('Should return instance of CommitmentTxPayload and call #validate on it', function () {
payload = CommitmentTxPayload.fromJSON(validCommitmentTxPayloadJSON);
var payload = CommitmentTxPayload.fromJSON(validCommitmentTxPayloadJSON);
checkValidJSON(payload);

@@ -76,14 +78,14 @@ });

after(function () {
CommitmentTxPayload.prototype.validate.restore();
});
it('Should return payload buffer of specific length', function () {
var payload = CommitmentTxPayload.fromBuffer(getPayloadBuffer());
//Manually calculated from validCommitmentTxPayloadJSON
var expectedBufferLength = 329;
var expectedBufferLength = getPayloadBuffer().length;
payloadBuffer = payload.toBuffer();
var payloadBuffer = payload.toBuffer();
expect(payloadBuffer.length).to.be.equal(expectedBufferLength);
});
after(function () {
CommitmentTxPayload.prototype.validate.restore();
})
});

@@ -96,10 +98,10 @@

after(function () {
CommitmentTxPayload.prototype.validate.restore();
});
it('Should return payload from buffer', function () {
var payloadFromBuffer = CommitmentTxPayload.fromBuffer(payloadBuffer);
var payloadFromBuffer = CommitmentTxPayload.fromBuffer(getPayloadBuffer());
checkValidJSON(payloadFromBuffer);
});
after(function () {
CommitmentTxPayload.prototype.validate.restore();
})
});

@@ -117,2 +119,3 @@

it('Should be able to serialize payload JSON', function () {
var payload = CommitmentTxPayload.fromBuffer(getPayloadBuffer());
var payloadJSON = payload.toJSON();

@@ -122,2 +125,17 @@ checkValidJSON(payloadJSON);

});
describe('#toString', function () {
it('Should serizlize to the same hex string', function () {
var expectedCommitementHex = '03000600000000000000fd3d01010009020000010064b5fc275d292adda4e5c454e93f4bc47d2c77975fb0d06bb07bd6bada068bdf0c050005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';
var parsed = new Transaction(expectedCommitementHex);
console.log(parsed.hash);
var actualCommitementHex = parsed.toString();
expect(actualCommitementHex).to.be.equal(expectedCommitementHex);
var testnetParsedTransaction = new Transaction(testNetCommitmentTxHex);
var ped = testnetParsedTransaction.extraPayload.toJSON();
expect(testnetParsedTransaction.toString()).to.be.equal(testNetCommitmentTxHex);
expect(testnetParsedTransaction.hash).to.be.equal(testNetCommitmentTxHash);
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc