Supporting logs and events properly
- Dominant language
- Haskell
- Stars
- 113
- Forks
- 9
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 1
Description
For logs and errors need a way to define the shape of those, probably as a type:
```
data DepositEvent = DepositEvent(bytes32, uint256, memory(string));
emitLog(DepositEvent(...));
```
However somehow defining an instance (ABIEncodeable or LogEncodeable) on these would be needed without requiring the user to manually do these.
I think this could be accomplished with wrapping those in a Log type.
Also the question is whether to have syntactic sugar or not, ie solidity uses `event DepositEvent(bytes32, uint256, memory(string));`
Lastly, named parameters would be nice.
Contributor guide
No contributing guide indexed for this repository
Research direction
No file, test, or entry point is named. Start by mapping how the compiler currently represents logs, errors, ABIEncodeable, and LogEncodeable, then resolve whether typed wrappers, syntactic sugar, and named parameters are in scope; done means an agreed design with corresponding implementation and tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell, solidity
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100