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

Allow Features in Implicit Accounts #604

Merged
merged 8 commits into from
Nov 10, 2023

Conversation

PhilippGackstatter
Copy link
Contributor

Description of change

Allow features in implicit accounts because they allow for more seamless implicit account creation. The more permutations of Basic Outputs we allow implicit account creation addresses in, the more seamless implicit account creation becomes.

On the other hand, Storage Deposit Return, Timelock and Expiration Unlock Condition are not useful for implicit account creation, so they continue to be disallowed.

  • Storage Deposit Return UC: Having to return the funds on an implicit account to the sender means the full account we want to transition to must be funded by other means. In a typical onboarding scenario these funds do not exist, so SDRUC would only make it more complicated to create the full account.
  • Timelock: Would be harmless, but timelocks are not permitted on full accounts either. It would be odd to be able to use the implicit account to issue blocks (because the accounts ledger does not respect the timelock) but not be able to do the implicit account conversion until the timelock expires.
  • Expiration: Necessarily, the the Return Address would not be an implicit account creation address, but probably a regualr Ed25519 Address. Then for the Address the Basic Output would be an implicit account, but for the Return Address it would be a regular output, which is very undesirable behavior.

How the change has been tested

Added new tests for where implicit account creation addresses are allowed.

vm/nova/vm_test.go Outdated Show resolved Hide resolved
vm/nova/vm_test.go Outdated Show resolved Hide resolved
@PhilippGackstatter PhilippGackstatter merged commit 614b46a into develop Nov 10, 2023
4 checks passed
@PhilippGackstatter PhilippGackstatter deleted the implicit-account-features branch November 10, 2023 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants