-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
Description
- Version: 5.12.0
- Python: 3.7
- OS: osx
What was wrong?
_get_event_abi()
doesn't work with overloaded events (same name, but different argument counts).
From here, we can see that _get_event_abi()
calls find_matching_event_abi()
, which has the problem of not working if two events of the same name are found.
In particular, consider the following set of overloaded events (found in the Compound Comptroller
contract for example):
/// @notice Emitted when an action is paused globally
event ActionPaused(string action, bool pauseState);
/// @notice Emitted when an action is paused on a market
event ActionPaused(CToken cToken, string action, bool pauseState);
Equally <event>.abi
is not available for factory generated events.
How can it be fixed?
Expand find_matching_event_abi
to find the appropriate event through its signature, not through the event name.