Merge pull request #155 from matiu/feat/paypro

Feat/paypro
This commit is contained in:
Ivan Socolsky 2015-03-26 22:17:15 -03:00
commit 59e5fc1883
3 changed files with 11 additions and 8 deletions

View File

@ -24,6 +24,7 @@ TxProposal.create = function(opts) {
x.toAddress = opts.toAddress;
x.amount = opts.amount;
x.message = opts.message;
x.payProUrl = opts.payProUrl;
x.proposalSignature = opts.proposalSignature;
x.changeAddress = opts.changeAddress;
x.inputs = [];
@ -48,6 +49,7 @@ TxProposal.fromObj = function(obj) {
x.toAddress = obj.toAddress;
x.amount = obj.amount;
x.message = obj.message;
x.payProUrl = obj.payProUrl;
x.proposalSignature = obj.proposalSignature;
x.changeAddress = obj.changeAddress;
x.inputs = obj.inputs;

View File

@ -351,13 +351,13 @@ WalletService.prototype._getBlockExplorer = function(provider, network) {
return this.blockExplorer;
switch (provider) {
default:
default:;
case 'insight':
switch (network) {
default:
case 'livenet':
case 'livenet':
url = 'https://insight.bitpay.com:443';
break;
break;
case 'testnet':
url = 'https://test-insight.bitpay.com:443'
break;
@ -535,14 +535,14 @@ WalletService.prototype._selectTxInputs = function(txp, cb) {
});
};
/**
* Creates a new transaction proposal.
* @param {Object} opts
* @param {string} opts.toAddress - Destination address.
* @param {number} opts.amount - Amount to transfer in satoshi.
* @param {string} opts.message - A message to attach to this transaction.
* @param {string} opts.proposalSignature - S(toAddress|amount|message). Used by other copayers to verify the proposal.
* @param {string} opts.proposalSignature - S(toAddress|amount|message|payProUrl). Used by other copayers to verify the proposal.
* @param {string} opts.payProUrl - Options: Paypro URL for peers to verify TX
* @returns {TxProposal} Transaction proposal.
*/
WalletService.prototype.createTx = function(opts, cb) {
@ -557,7 +557,7 @@ WalletService.prototype.createTx = function(opts, cb) {
if (!wallet.isComplete()) return cb(new ClientError('Wallet is not complete'));
var copayer = wallet.getCopayer(self.copayerId);
var hash = WalletUtils.getProposalHash(opts.toAddress, opts.amount, opts.message);
var hash = WalletUtils.getProposalHash(opts.toAddress, opts.amount, opts.message, opts.payProUrl);
if (!self._verifySignature(hash, opts.proposalSignature, copayer.requestPubKey))
return cb(new ClientError('Invalid proposal signature'));
@ -585,6 +585,7 @@ WalletService.prototype.createTx = function(opts, cb) {
amount: opts.amount,
message: opts.message,
proposalSignature: opts.proposalSignature,
payProUrl: opts.payProUrl,
changeAddress: changeAddress,
requiredSignatures: wallet.m,
requiredRejections: Math.min(wallet.m, wallet.n - wallet.m + 1),

View File

@ -2,7 +2,7 @@
"name": "bitcore-wallet-service",
"description": "A service for Mutisig HD Bitcoin Wallets",
"author": "BitPay Inc",
"version": "0.0.14",
"version": "0.0.15",
"keywords": [
"bitcoin",
"copay",
@ -19,7 +19,7 @@
},
"dependencies": {
"async": "^0.9.0",
"bitcore-wallet-utils": "^0.0.6",
"bitcore-wallet-utils": "^0.0.7",
"bitcore-explorers": "^0.9.1",
"body-parser": "^1.11.0",
"coveralls": "^2.11.2",