Skip to content
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

Remove type requirements #1283

Closed
2 tasks done
turbolent opened this issue Nov 30, 2021 · 2 comments
Closed
2 tasks done

Remove type requirements #1283

turbolent opened this issue Nov 30, 2021 · 2 comments
Assignees
Labels

Comments

@turbolent
Copy link
Member

turbolent commented Nov 30, 2021

Scope:
Remove feature completely from the codebase.
Feature: Interface can require a concrete type to specify a nested type.
Code removal, updating test cases and docs.

Not in scope:

  1. storage migration for FT/NFT contracts.
  2. rewrite of FT/NFT token standards

Note: This is only need if the community agrees we need a token contract rewrite.

Tasks

Preview Give feedback
  1. Language Breaking Change
    dsainati1
  2. Feature
    dsainati1
@j1010001
Copy link
Member

@dsainati1
Copy link
Contributor

As discussed in the last LDM, in order to do this we need to provide support for allowing interfaces to have events; as the new NFT/FT standards are going to feature interfaces with events.

There are currently a few competing ideas for how this might be done:
1) Keep type requirements for events, and limit them only to events
2) Allow events to be emitted from interfaces directly
3) Allow composites to inherit events from interfaces

All of these have pros and cons worth considering.

There is also a separate but related question of whether or how we want to enforce that events are emitted in certain cases. IMO this is not a prerequisite for solving this issue, but it is a related problem and our potential solution to that may inform our solution to this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants