-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add ARC22 and ARC28 interfaces for ABI contracts and methods #856
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
Just chiming in to say this would be nice to get in - it's preventing me from cleanly including ARC28 events in my tealscript contracts. The generated json blocks tests from being run because it doesn't match the schema defined in the sdk. |
Also it looks like this failing in cucumber tests:
Perhaps when converting to JSON, if no events are present, that field should be omitted from the result? Since these tests run on every SDK, they're a bit difficult to deal with. |
I made CI seems to be failing now for an unrelated reason:
|
ping |
ping, this missing functionality is making it difficult for new users to get onboarded to algorand development, they get presented with typescript errors (that are difficult for a new user to resolve). It's undoubtedly frustrating for anyone else using the standard toolsets provided for development, unelegant hacks and workaround are the current solution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay on this. I was having trouble deciding between whether the new properties should be optional on ABIMethod
and ABIContract
, like they are in this PR, or if they should be non-optional ARC28Event[]
and boolean
types, which get coerced from undefined to a default value.
However, I now believe there is value in keeping the types optional, since a value of undefined can indicate that no information is available about these extension fields. For example, I think it's beneficial to be able to differentiate between a contract that claims it emits no events and one that claims nothing at all about events.
Thanks again @joe-p for this contribution
Adds ARC28 (events) and ARC22 (readonly) to ABI-related interfaces