encoding real on input
This commit is contained in:
11
lib/abi.js
11
lib/abi.js
@ -116,6 +116,13 @@ var formatInputBool = function (value) {
|
||||
return '000000000000000000000000000000000000000000000000000000000000000' + (value ? '1' : '0');
|
||||
};
|
||||
|
||||
/// Formats input value to byte representation of real
|
||||
/// Values are multiplied by 2^m and encoded as integers
|
||||
/// @returns byte representation of real
|
||||
var formatInputReal = function (value) {
|
||||
return formatInputInt(new BigNumber(value).times(new BigNumber(2).pow(128)));
|
||||
};
|
||||
|
||||
var dynamicTypeBytes = function (type, value) {
|
||||
// TODO: decide what to do with array of strings
|
||||
if (arrayType(type) || prefixedType('string')(type))
|
||||
@ -132,8 +139,8 @@ var setupInputTypes = function () {
|
||||
{ type: prefixedType('int'), format: formatInputInt },
|
||||
{ type: prefixedType('hash'), format: formatInputInt },
|
||||
{ type: prefixedType('string'), format: formatInputString },
|
||||
{ type: prefixedType('real'), format: formatInputInt },
|
||||
{ type: prefixedType('ureal'), format: formatInputInt },
|
||||
{ type: prefixedType('real'), format: formatInputReal },
|
||||
{ type: prefixedType('ureal'), format: formatInputReal },
|
||||
{ type: namedType('address'), format: formatInputInt },
|
||||
{ type: namedType('bool'), format: formatInputBool }
|
||||
];
|
||||
|
Reference in New Issue
Block a user