@@ -133,39 +133,42 @@ SolidityCoder.prototype.encodeMultiWithOffset = function (types, solidityTypes,
133
133
} ;
134
134
135
135
SolidityCoder . prototype . encodeWithOffset = function ( type , solidityType , encoded , offset ) {
136
+ /* jshint maxcomplexity: 17 */
137
+ /* jshint maxdepth: 5 */
138
+
136
139
var self = this ;
137
140
var encodingMode = { dynamic :1 , static :2 , other :3 } ;
138
-
141
+
139
142
var mode = ( solidityType . isDynamicArray ( type ) ?encodingMode . dynamic :( solidityType . isStaticArray ( type ) ?encodingMode . static :encodingMode . other ) ) ;
140
143
141
- if ( mode != encodingMode . other ) {
144
+ if ( mode !== encodingMode . other ) {
142
145
var nestedName = solidityType . nestedName ( type ) ;
143
146
var nestedStaticPartLength = solidityType . staticPartLength ( nestedName ) ;
144
- var result = ( mode == encodingMode . dynamic ? encoded [ 0 ] : "" ) ;
145
-
147
+ var result = ( mode === encodingMode . dynamic ? encoded [ 0 ] : '' ) ;
148
+
146
149
if ( solidityType . isDynamicArray ( nestedName ) ) {
147
- var previousLength = ( mode == encodingMode . dynamic ? 2 : 0 ) ;
148
-
150
+ var previousLength = ( mode === encodingMode . dynamic ? 2 : 0 ) ;
151
+
149
152
for ( var i = 0 ; i < encoded . length ; i ++ ) {
150
153
// calculate length of previous item
151
- if ( mode == encodingMode . dynamic ) {
154
+ if ( mode === encodingMode . dynamic ) {
152
155
previousLength += + ( encoded [ i - 1 ] ) [ 0 ] || 0 ;
153
156
}
154
- else if ( mode == encodingMode . static ) {
157
+ else if ( mode === encodingMode . static ) {
155
158
previousLength += + ( encoded [ i - 1 ] || [ ] ) [ 0 ] || 0 ;
156
159
}
157
160
result += f . formatInputInt ( offset + i * nestedStaticPartLength + previousLength * 32 ) . encode ( ) ;
158
161
}
159
162
}
160
163
161
- var len = ( mode == encodingMode . dynamic ? encoded . length - 1 : encoded . length ) ;
162
- for ( var i = 0 ; i < len ; i ++ ) {
164
+ var len = ( mode === encodingMode . dynamic ? encoded . length - 1 : encoded . length ) ;
165
+ for ( var c = 0 ; c < len ; c ++ ) {
163
166
var additionalOffset = result / 2 ;
164
- if ( mode == encodingMode . dynamic ) {
165
- result += self . encodeWithOffset ( nestedName , solidityType , encoded [ i + 1 ] , offset + additionalOffset ) ;
167
+ if ( mode === encodingMode . dynamic ) {
168
+ result += self . encodeWithOffset ( nestedName , solidityType , encoded [ c + 1 ] , offset + additionalOffset ) ;
166
169
}
167
- else if ( mode == encodingMode . static ) {
168
- result += self . encodeWithOffset ( nestedName , solidityType , encoded [ i ] , offset + additionalOffset ) ;
170
+ else if ( mode === encodingMode . static ) {
171
+ result += self . encodeWithOffset ( nestedName , solidityType , encoded [ c ] , offset + additionalOffset ) ;
169
172
}
170
173
}
171
174
0 commit comments