aboutsummaryrefslogtreecommitdiffstats
path: root/lib/contract.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/contract.js')
-rw-r--r--lib/contract.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/contract.js b/lib/contract.js
index 748844fec..a0525bd9d 100644
--- a/lib/contract.js
+++ b/lib/contract.js
@@ -120,6 +120,11 @@ var addFunctionsToContract = function (contract, desc, address) {
var addEventRelatedPropertiesToContract = function (contract, desc, address) {
contract.address = address;
+ contract._onWatchEventResult = function (data) {
+ var matchingEvent = event.getMatchingEvent(utils.filterEvents(desc));
+ var parser = eventImpl.outputParser(matchingEvent);
+ return parser(data);
+ };
Object.defineProperty(contract, 'topic', {
get: function() {
@@ -138,8 +143,12 @@ var addEventsToContract = function (contract, desc, address) {
var impl = function () {
var params = Array.prototype.slice.call(arguments);
var signature = abi.eventSignatureFromAscii(e.name);
- var event = eventImpl(address, signature, e);
+ var event = eventImpl.inputParser(address, signature, e);
var o = event.apply(null, params);
+ o._onWatchEventResult = function (data) {
+ var parser = eventImpl.outputParser(e);
+ return parser(data);
+ };
return web3.eth.watch(o);
};