Skip to content
This repository has been archived by the owner on Oct 30, 2018. It is now read-only.

Commit

Permalink
Merge 9941402 into 3ea5df8
Browse files Browse the repository at this point in the history
  • Loading branch information
littleskunk committed Mar 10, 2018
2 parents 3ea5df8 + 9941402 commit f644849
Showing 1 changed file with 21 additions and 11 deletions.
32 changes: 21 additions & 11 deletions lib/contract/index.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
'use strict';

var assert = require('assert');
var crypto = require('crypto');
var merge = require('merge');
var JSONSchema = require('jsen');
var stringify = require('json-stable-stringify');
var bitcore = require('bitcore-lib');
var constants = require('../constants');
var Message = require('bitcore-message');
var ms = require('ms');
const assert = require('assert');
const crypto = require('crypto');
const merge = require('merge');
const JSONSchema = require('jsen');
const stringify = require('json-stable-stringify');
const bitcore = require('bitcore-lib');
const constants = require('../constants');
const secp256k1 = require('secp256k1');
const Message = require('bitcore-message');
const ms = require('ms');

/**
* Represents a storage contract between a renter and a farmer
Expand Down Expand Up @@ -258,8 +259,17 @@ Contract.prototype.verify = function(actor, pubkeyhash) {
* @returns {String} externalSignature
*/
Contract.prototype.signExternal = function(secret) {
var message = Message(this.getSigningData());
return message.sign(bitcore.PrivateKey.fromString(secret));
var keypair = bitcore.PrivateKey.fromString(secret);
var hash = Message(this.getSigningData()).magicHash();
var signobj = secp256k1.sign(hash,
keypair.toBuffer());
var sign = bitcore.crypto.Signature.fromDER(
secp256k1.signatureExport(signobj.signature)
).toCompact(
signobj.recovery,
keypair.toPublicKey().compressed
).toString('base64');
return sign;
};

/**
Expand Down

0 comments on commit f644849

Please sign in to comment.