Skip to content

Commit

Permalink
Refactored alias creation code
Browse files Browse the repository at this point in the history
  • Loading branch information
xenohunter committed Jun 28, 2017
1 parent 74a5845 commit 40be6ed
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 20 deletions.
25 changes: 16 additions & 9 deletions distr/wavesplatform-core.js
Original file line number Diff line number Diff line change
Expand Up @@ -1218,6 +1218,12 @@ Decimal.config({toExpNeg: -(Currency.WAVES.precision + 1)});
MAINNET_ADDRESS_REGEXP: /^[a-zA-Z0-9]{35}$/
});

angular
.module('waves.core.constants')
.constant('constants.features', {
ALIAS_VERSION: 2
});

angular
.module('waves.core.constants')
.constant('constants.ui', {
Expand Down Expand Up @@ -1991,21 +1997,22 @@ Decimal.config({toExpNeg: -(Currency.WAVES.precision + 1)});
(function () {
'use strict';

var ALIAS_VERSION = 2;

function WavesAliasRequestService (constants, utilityService, cryptoService) {
function AliasRequestService(txConstants, featureConstants, utilityService, cryptoService) {
function buildSignature(bytes, sender) {
var privateKeyBytes = cryptoService.base58.decode(sender.privateKey);

return cryptoService.nonDeterministicSign(privateKeyBytes, bytes);
}

function buildCreateAliasSignatureData (alias, senderPublicKey) {
var typeByte = [constants.CREATE_ALIAS_TRANSACTION_TYPE];
var typeByte = [txConstants.CREATE_ALIAS_TRANSACTION_TYPE];
var publicKeyBytes = utilityService.base58StringToByteArray(senderPublicKey);

var stringPartBytes = utilityService.stringToByteArrayWithSize(alias.alias);
var tempBytes = [].concat([ALIAS_VERSION], [utilityService.getNetworkIdByte()], stringPartBytes);
var tempBytes = [].concat(
[featureConstants.ALIAS_VERSION],
[utilityService.getNetworkIdByte()],
utilityService.stringToByteArrayWithSize(alias.alias)
);

var aliasBytes = utilityService.byteArrayWithSize(tempBytes);
var feeBytes = utilityService.longToByteArray(alias.fee.toCoins());
var timestampBytes = utilityService.longToByteArray(alias.time);
Expand All @@ -2032,11 +2039,11 @@ Decimal.config({toExpNeg: -(Currency.WAVES.precision + 1)});
};
}

WavesAliasRequestService.$inject = ['constants.transactions', 'utilityService', 'cryptoService'];
AliasRequestService.$inject = ['constants.transactions', 'constants.features', 'utilityService', 'cryptoService'];

angular
.module('waves.core.services')
.service('aliasRequestService', WavesAliasRequestService);
.service('aliasRequestService', AliasRequestService);
})();

(function () {
Expand Down
4 changes: 2 additions & 2 deletions distr/wavesplatform-core.min.js

Large diffs are not rendered by default.

19 changes: 10 additions & 9 deletions src/core/alias.request.service.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
(function () {
'use strict';

var ALIAS_VERSION = 2;

function WavesAliasRequestService (constants, utilityService, cryptoService) {
function AliasRequestService(txConstants, featureConstants, utilityService, cryptoService) {
function buildSignature(bytes, sender) {
var privateKeyBytes = cryptoService.base58.decode(sender.privateKey);

return cryptoService.nonDeterministicSign(privateKeyBytes, bytes);
}

function buildCreateAliasSignatureData (alias, senderPublicKey) {
var typeByte = [constants.CREATE_ALIAS_TRANSACTION_TYPE];
var typeByte = [txConstants.CREATE_ALIAS_TRANSACTION_TYPE];
var publicKeyBytes = utilityService.base58StringToByteArray(senderPublicKey);

var stringPartBytes = utilityService.stringToByteArrayWithSize(alias.alias);
var tempBytes = [].concat([ALIAS_VERSION], [utilityService.getNetworkIdByte()], stringPartBytes);
var tempBytes = [].concat(
[featureConstants.ALIAS_VERSION],
[utilityService.getNetworkIdByte()],
utilityService.stringToByteArrayWithSize(alias.alias)
);

var aliasBytes = utilityService.byteArrayWithSize(tempBytes);
var feeBytes = utilityService.longToByteArray(alias.fee.toCoins());
var timestampBytes = utilityService.longToByteArray(alias.time);
Expand All @@ -42,9 +43,9 @@
};
}

WavesAliasRequestService.$inject = ['constants.transactions', 'utilityService', 'cryptoService'];
AliasRequestService.$inject = ['constants.transactions', 'constants.features', 'utilityService', 'cryptoService'];

angular
.module('waves.core.services')
.service('aliasRequestService', WavesAliasRequestService);
.service('aliasRequestService', AliasRequestService);
})();
6 changes: 6 additions & 0 deletions src/core/core.constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
MAINNET_ADDRESS_REGEXP: /^[a-zA-Z0-9]{35}$/
});

angular
.module('waves.core.constants')
.constant('constants.features', {
ALIAS_VERSION: 2
});

angular
.module('waves.core.constants')
.constant('constants.ui', {
Expand Down

0 comments on commit 40be6ed

Please sign in to comment.