web3.js/lib/solidity/uint.js
David Braun 864071fd30 Fix staticPartLength calculation for multidimensional arrays. (#527)
* Remove extraneous whitespace.

* Fix dynamicOffset calculation when encoding params.

Dynamic types should contribute only one word, not their staticPartLength.

* Fix staticPartLength calculation for multidimensional arrays.

Previously it was accounting for only one of the dimensions.

* Define default behavior for SolidityType.staticPartLength.

The default behavior was defined redundantly for every type.
2017-01-05 15:55:55 +01:00

33 lines
710 B
JavaScript

var f = require('./formatters');
var SolidityType = require('./type');
/**
* SolidityTypeUInt is a prootype that represents uint type
* It matches:
* uint
* uint[]
* uint[4]
* uint[][]
* uint[3][]
* uint[][6][], ...
* uint32
* uint64[]
* uint8[4]
* uint256[][]
* uint[3][]
* uint64[][6][], ...
*/
var SolidityTypeUInt = function () {
this._inputFormatter = f.formatInputInt;
this._outputFormatter = f.formatOutputUInt;
};
SolidityTypeUInt.prototype = new SolidityType({});
SolidityTypeUInt.prototype.constructor = SolidityTypeUInt;
SolidityTypeUInt.prototype.isType = function (name) {
return !!name.match(/^uint([0-9]*)?(\[([0-9]*)\])*$/);
};
module.exports = SolidityTypeUInt;