forked from lthn/blockchain
hide address on transfer coins
This commit is contained in:
parent
581e348bf7
commit
8bcb07c7e5
8 changed files with 30 additions and 11 deletions
|
|
@ -250,6 +250,7 @@
|
|||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from receiver",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
|
|
|
|||
|
|
@ -1936,7 +1936,7 @@ var BackendService = /** @class */ (function () {
|
|||
};
|
||||
this.runCommand('restore_wallet', params, callback);
|
||||
};
|
||||
BackendService.prototype.sendMoney = function (from_wallet_id, to_address, amount, fee, mixin, comment, callback) {
|
||||
BackendService.prototype.sendMoney = function (from_wallet_id, to_address, amount, fee, mixin, comment, hide, callback) {
|
||||
var params = {
|
||||
wallet_id: parseInt(from_wallet_id, 10),
|
||||
destinations: [
|
||||
|
|
@ -1949,7 +1949,7 @@ var BackendService = /** @class */ (function () {
|
|||
lock_time: 0,
|
||||
fee: this.moneyToIntPipe.transform(fee),
|
||||
comment: comment,
|
||||
push_payer: true
|
||||
push_payer: !hide
|
||||
};
|
||||
this.runCommand('transfer', params, callback);
|
||||
};
|
||||
|
|
@ -5810,7 +5810,7 @@ var SeedPhraseComponent = /** @class */ (function () {
|
|||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = "<form class=\"form-send\" [formGroup]=\"sendForm\" (ngSubmit)=\"onSend()\">\r\n\r\n <div class=\"input-block input-block-alias\">\r\n <label for=\"send-address\">{{ 'SEND.ADDRESS' | translate }}</label>\r\n\r\n <input type=\"text\" id=\"send-address\" formControlName=\"address\" (mousedown)=\"addressMouseDown($event)\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n\r\n <div class=\"alias-dropdown scrolled-content\" *ngIf=\"isOpen\">\r\n <div *ngFor=\"let item of localAliases\" (click)=\"setAlias(item.name)\">{{item.name}}</div>\r\n </div>\r\n\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['address'].invalid && (sendForm.controls['address'].dirty || sendForm.controls['address'].touched)\">\r\n <div *ngIf=\"sendForm.controls['address'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['address'].errors['address_not_valid']\">\r\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['address'].errors['alias_not_valid']\">\r\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-blocks-row\">\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-amount\">{{ 'SEND.AMOUNT' | translate }}</label>\r\n <input type=\"text\" id=\"send-amount\" formControlName=\"amount\" appInputValidate=\"money\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['amount'].invalid && (sendForm.controls['amount'].dirty || sendForm.controls['amount'].touched)\">\r\n <div *ngIf=\"sendForm.controls['amount'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['amount'].errors['zero']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-comment\">{{ 'SEND.COMMENT' | translate }}</label>\r\n <input type=\"text\" id=\"send-comment\" formControlName=\"comment\" [maxLength]=\"variablesService.maxCommentLength\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.get('comment').value && sendForm.get('comment').value.length >= variablesService.maxCommentLength\">\r\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <button type=\"button\" class=\"send-select\" (click)=\"toggleOptions()\">\r\n <span>{{ 'SEND.DETAILS' | translate }}</span><i class=\"icon arrow\" [class.down]=\"!additionalOptions\" [class.up]=\"additionalOptions\"></i>\r\n </button>\r\n\r\n <div class=\"additional-details\" *ngIf=\"additionalOptions\">\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-mixin\">{{ 'SEND.MIXIN' | translate }}</label>\r\n <input type=\"text\" id=\"send-mixin\" formControlName=\"mixin\" appInputValidate=\"integer\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['mixin'].invalid && (sendForm.controls['mixin'].dirty || sendForm.controls['mixin'].touched)\">\r\n <div *ngIf=\"sendForm.controls['mixin'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-fee\">{{ 'SEND.FEE' | translate }}</label>\r\n <input type=\"text\" id=\"send-fee\" formControlName=\"fee\" appInputValidate=\"money\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['fee'].invalid && (sendForm.controls['fee'].dirty || sendForm.controls['fee'].touched)\">\r\n <div *ngIf=\"sendForm.controls['fee'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['fee'].errors['less_min']\">\r\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : {fee: variablesService.default_fee} }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <button type=\"submit\" class=\"blue-button\" [disabled]=\"!sendForm.valid || !variablesService.currentWallet.loaded\">{{ 'SEND.BUTTON' | translate }}</button>\r\n\r\n</form>\r\n"
|
||||
module.exports = "<form class=\"form-send\" [formGroup]=\"sendForm\" (ngSubmit)=\"onSend()\">\r\n\r\n <div class=\"input-block input-block-alias\">\r\n <label for=\"send-address\">{{ 'SEND.ADDRESS' | translate }}</label>\r\n\r\n <input type=\"text\" id=\"send-address\" formControlName=\"address\" (mousedown)=\"addressMouseDown($event)\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n\r\n <div class=\"alias-dropdown scrolled-content\" *ngIf=\"isOpen\">\r\n <div *ngFor=\"let item of localAliases\" (click)=\"setAlias(item.name)\">{{item.name}}</div>\r\n </div>\r\n\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['address'].invalid && (sendForm.controls['address'].dirty || sendForm.controls['address'].touched)\">\r\n <div *ngIf=\"sendForm.controls['address'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['address'].errors['address_not_valid']\">\r\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['address'].errors['alias_not_valid']\">\r\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-blocks-row\">\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-amount\">{{ 'SEND.AMOUNT' | translate }}</label>\r\n <input type=\"text\" id=\"send-amount\" formControlName=\"amount\" appInputValidate=\"money\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['amount'].invalid && (sendForm.controls['amount'].dirty || sendForm.controls['amount'].touched)\">\r\n <div *ngIf=\"sendForm.controls['amount'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['amount'].errors['zero']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-comment\">{{ 'SEND.COMMENT' | translate }}</label>\r\n <input type=\"text\" id=\"send-comment\" formControlName=\"comment\" [maxLength]=\"variablesService.maxCommentLength\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.get('comment').value && sendForm.get('comment').value.length >= variablesService.maxCommentLength\">\r\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <button type=\"button\" class=\"send-select\" (click)=\"toggleOptions()\">\r\n <span>{{ 'SEND.DETAILS' | translate }}</span><i class=\"icon arrow\" [class.down]=\"!additionalOptions\" [class.up]=\"additionalOptions\"></i>\r\n </button>\r\n\r\n <div class=\"additional-details\" *ngIf=\"additionalOptions\">\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-mixin\">{{ 'SEND.MIXIN' | translate }}</label>\r\n <input type=\"text\" id=\"send-mixin\" formControlName=\"mixin\" appInputValidate=\"integer\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['mixin'].invalid && (sendForm.controls['mixin'].dirty || sendForm.controls['mixin'].touched)\">\r\n <div *ngIf=\"sendForm.controls['mixin'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"input-block\">\r\n <label for=\"send-fee\">{{ 'SEND.FEE' | translate }}</label>\r\n <input type=\"text\" id=\"send-fee\" formControlName=\"fee\" appInputValidate=\"money\" (contextmenu)=\"variablesService.onContextMenu($event)\">\r\n <div class=\"error-block\" *ngIf=\"sendForm.controls['fee'].invalid && (sendForm.controls['fee'].dirty || sendForm.controls['fee'].touched)\">\r\n <div *ngIf=\"sendForm.controls['fee'].errors['required']\">\r\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\r\n </div>\r\n <div *ngIf=\"sendForm.controls['fee'].errors['less_min']\">\r\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : {fee: variablesService.default_fee} }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"checkbox-block\">\r\n <input type=\"checkbox\" id=\"send-hide\" class=\"style-checkbox\" formControlName=\"hide\">\r\n <label for=\"send-hide\">{{ 'SEND.HIDE' | translate }}</label>\r\n </div>\r\n\r\n </div>\r\n\r\n <button type=\"submit\" class=\"blue-button\" [disabled]=\"!sendForm.valid || !variablesService.currentWallet.loaded\">{{ 'SEND.BUTTON' | translate }}</button>\r\n\r\n</form>\r\n"
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
|
@ -5821,7 +5821,7 @@ module.exports = "<form class=\"form-send\" [formGroup]=\"sendForm\" (ngSubmit)=
|
|||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = ":host {\n width: 100%; }\n\n.form-send .input-blocks-row {\n display: flex; }\n\n.form-send .input-blocks-row > div {\n flex-basis: 50%; }\n\n.form-send .input-blocks-row > div:first-child {\n margin-right: 1.5rem; }\n\n.form-send .input-blocks-row > div:last-child {\n margin-left: 1.5rem; }\n\n.form-send .send-select {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-size: 1.3rem;\n line-height: 1.3rem;\n margin: 1.5rem 0 0;\n padding: 0;\n width: 100%;\n max-width: 15rem;\n height: 1.3rem; }\n\n.form-send .send-select .arrow {\n margin-left: 1rem;\n width: 0.8rem;\n height: 0.8rem; }\n\n.form-send .send-select .arrow.down {\n -webkit-mask: url('arrow-down.svg') no-repeat center;\n mask: url('arrow-down.svg') no-repeat center; }\n\n.form-send .send-select .arrow.up {\n -webkit-mask: url('arrow-up.svg') no-repeat center;\n mask: url('arrow-up.svg') no-repeat center; }\n\n.form-send .additional-details {\n display: flex;\n margin-top: 1.5rem;\n padding: 0.5rem 0 2rem; }\n\n.form-send .additional-details > div {\n flex-basis: 25%; }\n\n.form-send .additional-details > div:first-child {\n padding-left: 1.5rem;\n padding-right: 1rem; }\n\n.form-send .additional-details > div:last-child {\n padding-left: 1rem;\n padding-right: 1.5rem; }\n\n.form-send button {\n margin: 2.4rem 0;\n width: 100%;\n max-width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC9EOlxcemFub196YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2VuZFxcc2VuZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUdJLGFBQWEsRUFBQTs7QUFIakI7SUFNTSxlQUFlLEVBQUE7O0FBTnJCO01BU1Esb0JBQW9CLEVBQUE7O0FBVDVCO01BYVEsbUJBQW1CLEVBQUE7O0FBYjNCO0VBbUJJLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7O0FBN0JsQjtJQWdDTSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWMsRUFBQTs7QUFsQ3BCO01BcUNRLG9EQUE0RDtjQUE1RCw0Q0FBNEQsRUFBQTs7QUFyQ3BFO01BeUNRLGtEQUEwRDtjQUExRCwwQ0FBMEQsRUFBQTs7QUF6Q2xFO0VBK0NJLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsc0JBQXNCLEVBQUE7O0FBakQxQjtJQW9ETSxlQUFlLEVBQUE7O0FBcERyQjtNQXVEUSxvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUE7O0FBeEQzQjtNQTREUSxrQkFBa0I7TUFDbEIscUJBQXFCLEVBQUE7O0FBN0Q3QjtFQW1FSSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VuZC9zZW5kLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybS1zZW5kIHtcclxuXHJcbiAgLmlucHV0LWJsb2Nrcy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZW5kLXNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgIGhlaWdodDogMS4zcmVtO1xyXG5cclxuICAgIC5hcnJvdyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgICB3aWR0aDogMC44cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOHJlbTtcclxuXHJcbiAgICAgICYuZG93biB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LWRvd24uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnVwIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvYXJyb3ctdXAuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkaXRpb25hbC1kZXRhaWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAycmVtO1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgZmxleC1iYXNpczogMjUlO1xyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICB9XHJcbn1cclxuIl19 */"
|
||||
module.exports = ":host {\n width: 100%; }\n\n.form-send .input-blocks-row {\n display: flex; }\n\n.form-send .input-blocks-row > div {\n flex-basis: 50%; }\n\n.form-send .input-blocks-row > div:first-child {\n margin-right: 1.5rem; }\n\n.form-send .input-blocks-row > div:last-child {\n margin-left: 1.5rem; }\n\n.form-send .send-select {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-size: 1.3rem;\n line-height: 1.3rem;\n margin: 1.5rem 0 0;\n padding: 0;\n width: 100%;\n max-width: 15rem;\n height: 1.3rem; }\n\n.form-send .send-select .arrow {\n margin-left: 1rem;\n width: 0.8rem;\n height: 0.8rem; }\n\n.form-send .send-select .arrow.down {\n -webkit-mask: url('arrow-down.svg') no-repeat center;\n mask: url('arrow-down.svg') no-repeat center; }\n\n.form-send .send-select .arrow.up {\n -webkit-mask: url('arrow-up.svg') no-repeat center;\n mask: url('arrow-up.svg') no-repeat center; }\n\n.form-send .additional-details {\n display: flex;\n margin-top: 1.5rem;\n padding: 0.5rem 0 2rem; }\n\n.form-send .additional-details > div {\n flex-basis: 25%; }\n\n.form-send .additional-details > div:first-child {\n padding-left: 1.5rem;\n padding-right: 1rem; }\n\n.form-send .additional-details > div:last-child {\n padding-left: 1rem;\n padding-right: 1.5rem; }\n\n.form-send .additional-details .checkbox-block {\n flex-basis: 50%; }\n\n.form-send .additional-details .checkbox-block > label {\n top: 3.5rem; }\n\n.form-send button {\n margin: 2.4rem 0;\n width: 100%;\n max-width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC9EOlxcemFub196YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2VuZFxcc2VuZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUdJLGFBQWEsRUFBQTs7QUFIakI7SUFNTSxlQUFlLEVBQUE7O0FBTnJCO01BU1Esb0JBQW9CLEVBQUE7O0FBVDVCO01BYVEsbUJBQW1CLEVBQUE7O0FBYjNCO0VBbUJJLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7O0FBN0JsQjtJQWdDTSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWMsRUFBQTs7QUFsQ3BCO01BcUNRLG9EQUE0RDtjQUE1RCw0Q0FBNEQsRUFBQTs7QUFyQ3BFO01BeUNRLGtEQUEwRDtjQUExRCwwQ0FBMEQsRUFBQTs7QUF6Q2xFO0VBK0NJLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsc0JBQXNCLEVBQUE7O0FBakQxQjtJQW9ETSxlQUFlLEVBQUE7O0FBcERyQjtNQXVEUSxvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUE7O0FBeEQzQjtNQTREUSxrQkFBa0I7TUFDbEIscUJBQXFCLEVBQUE7O0FBN0Q3QjtJQWtFTSxlQUFlLEVBQUE7O0FBbEVyQjtNQXFFUSxXQUFXLEVBQUE7O0FBckVuQjtFQTJFSSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VuZC9zZW5kLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybS1zZW5kIHtcclxuXHJcbiAgLmlucHV0LWJsb2Nrcy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZW5kLXNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgIGhlaWdodDogMS4zcmVtO1xyXG5cclxuICAgIC5hcnJvdyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgICB3aWR0aDogMC44cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOHJlbTtcclxuXHJcbiAgICAgICYuZG93biB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LWRvd24uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnVwIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvYXJyb3ctdXAuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkaXRpb25hbC1kZXRhaWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAycmVtO1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgZmxleC1iYXNpczogMjUlO1xyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNoZWNrYm94LWJsb2NrIHtcclxuICAgICAgZmxleC1iYXNpczogNTAlO1xyXG5cclxuICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgdG9wOiAzLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gIH1cclxufVxyXG4iXX0= */"
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
|
@ -5943,7 +5943,8 @@ var SendComponent = /** @class */ (function () {
|
|||
return { 'less_min': true };
|
||||
}
|
||||
return null;
|
||||
}])
|
||||
}]),
|
||||
hide: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](false)
|
||||
});
|
||||
this.additionalOptions = false;
|
||||
}
|
||||
|
|
@ -5984,7 +5985,7 @@ var SendComponent = /** @class */ (function () {
|
|||
});
|
||||
}
|
||||
else {
|
||||
_this.backend.sendMoney(_this.currentWalletId, _this.sendForm.get('address').value, _this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, function (send_status) {
|
||||
_this.backend.sendMoney(_this.currentWalletId, _this.sendForm.get('address').value, _this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, _this.sendForm.get('hide').value, function (send_status) {
|
||||
if (send_status) {
|
||||
_this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');
|
||||
_this.variablesService.currentWallet.send_data = { address: null, amount: null, comment: null, mixin: null, fee: null };
|
||||
|
|
@ -6004,7 +6005,7 @@ var SendComponent = /** @class */ (function () {
|
|||
}
|
||||
else {
|
||||
_this.backend.sendMoney(_this.currentWalletId, alias_data.address, // this.sendForm.get('address').value,
|
||||
_this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, function (send_status) {
|
||||
_this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, _this.sendForm.get('hide').value, function (send_status) {
|
||||
if (send_status) {
|
||||
_this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');
|
||||
_this.variablesService.currentWallet.send_data = { address: null, amount: null, comment: null, mixin: null, fee: null };
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -387,7 +387,7 @@ export class BackendService {
|
|||
this.runCommand('restore_wallet', params, callback);
|
||||
}
|
||||
|
||||
sendMoney(from_wallet_id, to_address, amount, fee, mixin, comment, callback) {
|
||||
sendMoney(from_wallet_id, to_address, amount, fee, mixin, comment, hide, callback) {
|
||||
const params = {
|
||||
wallet_id: parseInt(from_wallet_id, 10),
|
||||
destinations: [
|
||||
|
|
@ -400,7 +400,7 @@ export class BackendService {
|
|||
lock_time: 0,
|
||||
fee: this.moneyToIntPipe.transform(fee),
|
||||
comment: comment,
|
||||
push_payer: true
|
||||
push_payer: !hide
|
||||
};
|
||||
this.runCommand('transfer', params, callback);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,6 +76,11 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="checkbox-block">
|
||||
<input type="checkbox" id="send-hide" class="style-checkbox" formControlName="hide">
|
||||
<label for="send-hide">{{ 'SEND.HIDE' | translate }}</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<button type="submit" class="blue-button" [disabled]="!sendForm.valid || !variablesService.currentWallet.loaded">{{ 'SEND.BUTTON' | translate }}</button>
|
||||
|
|
|
|||
|
|
@ -66,6 +66,14 @@
|
|||
padding-right: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox-block {
|
||||
flex-basis: 50%;
|
||||
|
||||
> label {
|
||||
top: 3.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
|
|
|
|||
|
|
@ -86,7 +86,8 @@ export class SendComponent implements OnInit, OnDestroy {
|
|||
return {'less_min': true};
|
||||
}
|
||||
return null;
|
||||
}])
|
||||
}]),
|
||||
hide: new FormControl(false)
|
||||
});
|
||||
additionalOptions = false;
|
||||
|
||||
|
|
@ -146,6 +147,7 @@ export class SendComponent implements OnInit, OnDestroy {
|
|||
this.sendForm.get('fee').value,
|
||||
this.sendForm.get('mixin').value,
|
||||
this.sendForm.get('comment').value,
|
||||
this.sendForm.get('hide').value,
|
||||
(send_status) => {
|
||||
if (send_status) {
|
||||
this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');
|
||||
|
|
@ -170,6 +172,7 @@ export class SendComponent implements OnInit, OnDestroy {
|
|||
this.sendForm.get('fee').value,
|
||||
this.sendForm.get('mixin').value,
|
||||
this.sendForm.get('comment').value,
|
||||
this.sendForm.get('hide').value,
|
||||
(send_status) => {
|
||||
if (send_status) {
|
||||
this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');
|
||||
|
|
|
|||
|
|
@ -250,6 +250,7 @@
|
|||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from receiver",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue