removed unused functions from abi.js
This commit is contained in:
parent
c59419eeb4
commit
f96385522a
|
@ -21,113 +21,24 @@
|
|||
* @date 2014
|
||||
*/
|
||||
|
||||
var utils = require('../utils/utils');
|
||||
var coder = require('./coder');
|
||||
var solUtils = require('./utils');
|
||||
|
||||
/**
|
||||
* Formats input params to bytes
|
||||
*
|
||||
* @method formatInput
|
||||
* @param {Array} abi inputs of method
|
||||
* @param {Array} params that will be formatted to bytes
|
||||
* @returns bytes representation of input params
|
||||
*/
|
||||
var formatInput = function (inputs, params) {
|
||||
var i = inputs.map(function (input) {
|
||||
return input.type;
|
||||
});
|
||||
return coder.encodeParams(i, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* Formats output bytes back to param list
|
||||
*
|
||||
* @method formatOutput
|
||||
* @param {Array} abi outputs of method
|
||||
* @param {String} bytes represention of output
|
||||
* @returns {Array} output params
|
||||
*/
|
||||
var formatOutput = function (outs, bytes) {
|
||||
var o = outs.map(function (out) {
|
||||
return out.type;
|
||||
});
|
||||
|
||||
return coder.decodeParams(o, bytes);
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be called to create input parser for contract with given abi
|
||||
*
|
||||
* @method inputParser
|
||||
* @param {Array} contract abi
|
||||
* @returns {Object} input parser object for given json abi
|
||||
* TODO: refactor creating the parser, do not double logic from contract
|
||||
*/
|
||||
var inputParser = function (json) {
|
||||
var parser = {};
|
||||
json.forEach(function (method) {
|
||||
var displayName = utils.extractDisplayName(method.name);
|
||||
var typeName = utils.extractTypeName(method.name);
|
||||
|
||||
var impl = function () {
|
||||
var params = Array.prototype.slice.call(arguments);
|
||||
return formatInput(method.inputs, params);
|
||||
};
|
||||
|
||||
if (parser[displayName] === undefined) {
|
||||
parser[displayName] = impl;
|
||||
}
|
||||
|
||||
parser[displayName][typeName] = impl;
|
||||
});
|
||||
|
||||
return parser;
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be called to create output parser for contract with given abi
|
||||
*
|
||||
* @method outputParser
|
||||
* @param {Array} contract abi
|
||||
* @returns {Object} output parser for given json abi
|
||||
*/
|
||||
var outputParser = function (json) {
|
||||
var parser = {};
|
||||
json.forEach(function (method) {
|
||||
|
||||
var displayName = utils.extractDisplayName(method.name);
|
||||
var typeName = utils.extractTypeName(method.name);
|
||||
|
||||
var impl = function (output) {
|
||||
return formatOutput(method.outputs, output);
|
||||
};
|
||||
|
||||
if (parser[displayName] === undefined) {
|
||||
parser[displayName] = impl;
|
||||
}
|
||||
|
||||
parser[displayName][typeName] = impl;
|
||||
});
|
||||
|
||||
return parser;
|
||||
};
|
||||
var utils = require('./utils');
|
||||
|
||||
var formatConstructorParams = function (abi, params) {
|
||||
var constructor = solUtils.getConstructor(abi, params.length);
|
||||
var constructor = utils.getConstructor(abi, params.length);
|
||||
if (!constructor) {
|
||||
if (params.length > 0) {
|
||||
console.warn("didn't found matching constructor, using default one");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
return formatInput(constructor.inputs, params);
|
||||
|
||||
return coder.encodeParams(constructor.inputs.map(function (input) {
|
||||
return input.type;
|
||||
}), params);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
inputParser: inputParser,
|
||||
outputParser: outputParser,
|
||||
formatInput: formatInput,
|
||||
formatOutput: formatOutput,
|
||||
formatConstructorParams: formatConstructorParams
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue