Skip to content

Commit 2403d94

Browse files
multi payment
1 parent a9fc1be commit 2403d94

File tree

6 files changed

+405
-23
lines changed

6 files changed

+405
-23
lines changed

angular-bitcore-wallet-client/bitcore-wallet-client/lib/api.js

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -505,10 +505,20 @@ API.prototype.createAddress = function(is_change, cb) {
505505
};
506506

507507
API.prototype.sendPayment = function(asset, to_address, amount, arrSigningDeviceAddresses, recipient_device_address, cb) {
508+
this.sendMultiPayment({
509+
asset: asset,
510+
to_address: to_address,
511+
amount: amount,
512+
arrSigningDeviceAddresses: arrSigningDeviceAddresses,
513+
recipient_device_address: recipient_device_address
514+
}, cb);
515+
}
516+
517+
API.prototype.sendMultiPayment = function(opts, cb) {
508518
var self = this;
509519
var coin = (this.credentials.network == 'livenet' ? "0" : "1");
510520

511-
var signWithLocalPrivateKey = function(wallet_id, account, is_change, address_index, text_to_sign, handleSig){
521+
opts.signWithLocalPrivateKey = function(wallet_id, account, is_change, address_index, text_to_sign, handleSig){
512522
var path = "m/44'/" + coin + "'/" + account + "'/"+is_change+"/"+address_index;
513523
var xPrivKey = new Bitcore.HDPrivateKey.fromString(self.credentials.xPrivKey);
514524
var privateKey = xPrivKey.derive(path).privateKey;
@@ -519,15 +529,9 @@ API.prototype.sendPayment = function(asset, to_address, amount, arrSigningDevice
519529

520530
// create a new change address or select first unused one
521531
walletDefinedByKeys.issueOrSelectNextChangeAddress(self.credentials.walletId, function(objAddr){
522-
var change_address = objAddr.address;
523-
walletDefinedByKeys.sendPaymentFromWallet(
524-
asset, self.credentials.walletId, to_address, amount, change_address,
525-
arrSigningDeviceAddresses, recipient_device_address,
526-
signWithLocalPrivateKey,
527-
function(err){
528-
cb(err);
529-
}
530-
);
532+
opts.change_address = objAddr.address;
533+
opts.wallet = self.credentials.walletId;
534+
walletDefinedByKeys.sendMultiPaymentFromWallet(opts, cb);
531535
});
532536
};
533537

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<nav class="tab-bar">
2+
<section class="left-small">
3+
<a ng-click="cancel()" class="p10">
4+
<span class="text-close" translate>Close</span>
5+
</a>
6+
</section>
7+
<section class="middle tab-bar-section">
8+
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
9+
Confirm payment
10+
</h1>
11+
</section>
12+
</nav>
13+
14+
<style>
15+
.indent{
16+
margin-left: 20px;
17+
}
18+
</style>
19+
20+
<div class="modal-content fix-modals-touch">
21+
<div >
22+
<h4 class="title m0" translate>Details</h4>
23+
<ul class="no-bullet size-14 m0">
24+
<li class="line-b p10 oh" ng-repeat="movement in arrMovements">
25+
<span class="text-gray enable_text_select">{{movement}}</span>
26+
</li>
27+
</ul>
28+
</div>
29+
<div ng-if="error">
30+
<span class="has-error size-12">
31+
{{error}}
32+
</span>
33+
</div>
34+
<div class="m20b" ng-if="arrHumanReadableDefinitions">
35+
<h4 class="title m0" translate>Definitions of addresses</h4>
36+
<ul class="no-bullet size-14 m0">
37+
<li class="line-b p10 oh" ng-repeat="hrd in arrHumanReadableDefinitions">
38+
<div>{{hrd.destinationAddress}} can be spent if:</div>
39+
<div dynamic="hrd.humanReadableDefinition"></div>
40+
</li>
41+
</ul>
42+
</div>
43+
<div class="row m20t">
44+
<div class="large-12 large-centered columns">
45+
<div >
46+
</div>
47+
<div >
48+
</div>
49+
<button type="submit" class="button black round expand" ng-disabled="bDisabled" ng-style="{'background-color':color}" ng-click="pay()" translate>
50+
Send Payment
51+
</button>
52+
</div>
53+
</div>
54+
55+
<div class="extra-margin-bottom"></div>
56+
</div>

0 commit comments

Comments
 (0)