aboutsummaryrefslogtreecommitdiffstats
path: root/lib/contract.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/contract.js')
-rw-r--r--lib/contract.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/contract.js b/lib/contract.js
index 744fc88a4..2e8ef8ce4 100644
--- a/lib/contract.js
+++ b/lib/contract.js
@@ -53,12 +53,16 @@ var contract = function (address, desc) {
var contract = {};
desc.forEach(function (method) {
- contract[method.name] = function () {
+
+ var displayName = abi.methodDisplayName(method.name);
+ var typeName = abi.methodTypeName(method.name);
+
+ var impl = function () {
var params = Array.prototype.slice.call(arguments);
- var parsed = inputParser[method.name].apply(null, params);
+ var parsed = inputParser[displayName][typeName].apply(null, params);
var onSuccess = function (result) {
- return outputParser[method.name](result);
+ return outputParser[displayName][typeName](result);
};
return {
@@ -80,6 +84,12 @@ var contract = function (address, desc) {
}
};
};
+
+ if (contract[displayName] === undefined) {
+ contract[displayName] = impl;
+ }
+
+ contract[displayName][typeName] = impl;
});
return contract;