fixed PR issues

This commit is contained in:
Fabian Vogelsteller 2017-08-10 16:58:29 +02:00
parent f646ab45f9
commit 530c4a3b1d
No known key found for this signature in database
GPG Key ID: E51EADA77F1A4124
3 changed files with 21 additions and 17 deletions

View File

@ -133,39 +133,42 @@ SolidityCoder.prototype.encodeMultiWithOffset = function (types, solidityTypes,
};
SolidityCoder.prototype.encodeWithOffset = function (type, solidityType, encoded, offset) {
/* jshint maxcomplexity: 17 */
/* jshint maxdepth: 5 */
var self = this;
var encodingMode={dynamic:1,static:2,other:3};
var mode=(solidityType.isDynamicArray(type)?encodingMode.dynamic:(solidityType.isStaticArray(type)?encodingMode.static:encodingMode.other));
if(mode!=encodingMode.other){
if(mode !== encodingMode.other){
var nestedName = solidityType.nestedName(type);
var nestedStaticPartLength = solidityType.staticPartLength(nestedName);
var result = (mode==encodingMode.dynamic?encoded[0]:"");
var result = (mode === encodingMode.dynamic ? encoded[0] : '');
if (solidityType.isDynamicArray(nestedName)) {
var previousLength = (mode==encodingMode.dynamic?2:0);
var previousLength = (mode === encodingMode.dynamic ? 2 : 0);
for (var i = 0; i < encoded.length; i++) {
// calculate length of previous item
if(mode==encodingMode.dynamic){
if(mode === encodingMode.dynamic){
previousLength += +(encoded[i - 1])[0] || 0;
}
else if(mode==encodingMode.static){
else if(mode === encodingMode.static){
previousLength += +(encoded[i - 1] || [])[0] || 0;
}
result += f.formatInputInt(offset + i * nestedStaticPartLength + previousLength * 32).encode();
}
}
var len=(mode==encodingMode.dynamic?encoded.length-1:encoded.length);
for (var i = 0; i < len; i++) {
var len= (mode === encodingMode.dynamic ? encoded.length-1 : encoded.length);
for (var c = 0; c < len; c++) {
var additionalOffset = result / 2;
if(mode==encodingMode.dynamic){
result += self.encodeWithOffset(nestedName, solidityType, encoded[i + 1], offset + additionalOffset);
if(mode === encodingMode.dynamic){
result += self.encodeWithOffset(nestedName, solidityType, encoded[c + 1], offset + additionalOffset);
}
else if(mode==encodingMode.static){
result += self.encodeWithOffset(nestedName, solidityType, encoded[i], offset + additionalOffset);
else if(mode === encodingMode.static){
result += self.encodeWithOffset(nestedName, solidityType, encoded[c], offset + additionalOffset);
}
}

View File

@ -1,5 +1,3 @@
'use strict'
/*
This file is part of web3.js.
@ -23,6 +21,9 @@
* @date 2015
*/
'use strict';
var utils = require('../utils/utils');
var config = require('../utils/config');
var Iban = require('./iban');

View File

@ -40,7 +40,7 @@
"build": "gulp",
"watch": "gulp watch",
"lint": "jshint *.js lib",
"test": "mocha",
"test": "mocha; jshint *.js lib",
"test-coveralls": "istanbul cover _mocha -- -R spec && cat coverage/lcov.info | coveralls --verbose"
},
"repository": {