-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
A-semaArea: semantic analysisArea: semantic analysisC-enhancementCategory: an issue proposing an enhancement or a PR with oneCategory: an issue proposing an enhancement or a PR with oneE-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.P-lowLow priorityLow priorityS-blockedStatus: this cannot more forward until something else changesStatus: this cannot more forward until something else changes
Description
Describe the feature
Contract ABI output should include events and custom errors referenced in the contract, even if not defined in the contract/inheritance.
For example, an event defined in the global scope and emitted in the constructor or any function will not currently be recorded.
In practice it's not that big of a deal if this is missing, however we should match the solc output which does this.
This requires type checking and a resolved call graph.
Additional context
- TODO link:
solar/crates/sema/src/ty/abi.rs
Lines 44 to 45 in 53b2b1a
// TODO: Does not include referenced items. // See solc `interfaceEvents` and `interfaceErrors`. - solc
interfaceEvents
: https://github.com/ethereum/solidity/blob/7ef0ef8c19bf7df4341b3e72787d8ac75cf988e6/libsolidity/ast/AST.cpp#L250
Metadata
Metadata
Assignees
Labels
A-semaArea: semantic analysisArea: semantic analysisC-enhancementCategory: an issue proposing an enhancement or a PR with oneCategory: an issue proposing an enhancement or a PR with oneE-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.P-lowLow priorityLow priorityS-blockedStatus: this cannot more forward until something else changesStatus: this cannot more forward until something else changes
Type
Projects
Status
No status