SHA3Encrypt refactoring

This commit is contained in:
viktor 2017-11-17 16:39:52 +03:00
parent 92ecd25c52
commit c12fc3a7e9
3 changed files with 189 additions and 197 deletions

195
assets/javascripts/application.js Normal file → Executable file

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
function SHA3Encrypt(web3, str, cb) {
function SHA3Encrypt(web3, str) {
var strEncode = web3.sha3(str);
cb(strEncode);
return strEncode;
}
function estimateGas(web3, acc, contractAddr, data, cb) {
@ -27,7 +27,7 @@ function sendTx(web3, acc, contractAddr, data, estimatedGas, cb) {
}
function call(web3, acc, contractAddr, data, cb) {
var props;
let props;
if (acc) props = { from: acc, data: data, to: contractAddr };
else props = { data: data, to: contractAddr };
@ -37,37 +37,35 @@ function call(web3, acc, contractAddr, data, cb) {
}
function getContractStringDataFromAddressKey(web3, func, inputVal, i, contractAddr, cb) {
var funcParamsNumber = 1;
var standardLength = 32;
const funcParamsNumber = 1;
const standardLength = 32;
var parameterLocation = standardLength*funcParamsNumber;
let parameterLocation = standardLength * funcParamsNumber;
SHA3Encrypt(web3, func, function(funcEncode) {
var funcEncodePart = funcEncode.substring(0,10);
var data = funcEncodePart
+ toUnifiedLengthLeft(inputVal);
let funcEncode = SHA3Encrypt(web3, func);
let funcEncodePart = funcEncode.substring(0,10);
let data = funcEncodePart
+ toUnifiedLengthLeft(inputVal);
call(web3, null, contractAddr, data, function(respHex) {
cb(i, hex2a(respHex));
});
call(web3, null, contractAddr, data, function(respHex) {
cb(i, hex2a(respHex));
});
}
function getContractIntDataFromAddressKey(web3, func, inputVal, i, contractAddr, cb) {
var funcParamsNumber = 1;
var standardLength = 32;
const funcParamsNumber = 1;
const standardLength = 32;
var parameterLocation = standardLength*funcParamsNumber;
let parameterLocation = standardLength * funcParamsNumber;
SHA3Encrypt(web3, func, function(funcEncode) {
var funcEncodePart = funcEncode.substring(0,10);
var data = funcEncodePart
+ toUnifiedLengthLeft(inputVal);
let funcEncode = SHA3Encrypt(web3, func);
let funcEncodePart = funcEncode.substring(0,10);
let data = funcEncodePart
+ toUnifiedLengthLeft(inputVal);
call(web3, null, contractAddr, data, function(respHex) {
cb(i, parseInt(respHex, 16));
});
call(web3, null, contractAddr, data, function(respHex) {
cb(i, parseInt(respHex, 16));
});
}

View File

@ -1,80 +1,79 @@
function getValidators(web3, func, contractAddress, disabled, cb) {
SHA3Encrypt(web3, func, function(funcEncode) {
var funcEncodePart = funcEncode.substring(0,10);
let funcEncode = SHA3Encrypt(web3, func);
var funcEncodePart = funcEncode.substring(0,10);
var data = funcEncodePart;
call(web3, null, contractAddress, data, function(validatorsResp) {
validatorsResp = validatorsResp.substring(2, validatorsResp.length);
var validatorsArray = [];
var item = "";
for (var i = 0; i < validatorsResp.length; i++) {
item+=validatorsResp[i];
if ((i + 1)%64 == 0) {
item = item.substr(item.length - 40, 40);
validatorsArray.push(item);
item = "";
}
var data = funcEncodePart;
call(web3, null, contractAddress, data, function(validatorsResp) {
validatorsResp = validatorsResp.substring(2, validatorsResp.length);
var validatorsArray = [];
var item = "";
for (var i = 0; i < validatorsResp.length; i++) {
item+=validatorsResp[i];
if ((i + 1)%64 == 0) {
item = item.substr(item.length - 40, 40);
validatorsArray.push(item);
item = "";
}
validatorsArray.shift();
validatorsArray.shift(); //number of elements
}
validatorsArray.shift();
validatorsArray.shift(); //number of elements
if (validatorsArray.length == 0) {
cb(validatorsArray);
return;
if (validatorsArray.length == 0) {
cb(validatorsArray);
return;
}
var validatorsArrayOut = [];
var iasync = 0;
var validatorDataCount = 6;
if (disabled)
validatorDataCount = 7;
for (var i = 0; i < validatorsArray.length; i++) {
getValidatorFullName(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("fullName", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorStreetName(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("streetName", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorState(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("state", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorLicenseExpiredAt(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("licenseExpiredAt", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorZip(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("zip", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorLicenseID(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("licenseID", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
if (disabled) {
getValidatorDisablingDate(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("disablingDate", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
}
var validatorsArrayOut = [];
var iasync = 0;
var validatorDataCount = 6;
if (disabled)
validatorDataCount = 7;
for (var i = 0; i < validatorsArray.length; i++) {
getValidatorFullName(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("fullName", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorStreetName(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("streetName", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorState(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("state", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorLicenseExpiredAt(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("licenseExpiredAt", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorZip(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("zip", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
getValidatorLicenseID(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("licenseID", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
if (disabled) {
getValidatorDisablingDate(web3, validatorsArray[i], i, contractAddress, function(_i, resp) {
iasync++;
validatorsArrayOut = getPropertyCallback("disablingDate", resp, _i, iasync, validatorsArray, validatorDataCount, validatorsArrayOut, cb);
if (iasync == validatorsArray.length * validatorDataCount) {console.log(validatorsArrayOut); cb(validatorsArrayOut)};
});
}
}
});
}
});
}