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

Enforce grace period restrictions #1371

Closed
14 tasks done
tinker-michaelj opened this issue May 6, 2021 · 0 comments · Fixed by #1376
Closed
14 tasks done

Enforce grace period restrictions #1371

tinker-michaelj opened this issue May 6, 2021 · 0 comments · Fixed by #1376
Assignees
Milestone

Comments

@tinker-michaelj
Copy link
Collaborator

tinker-michaelj commented May 6, 2021

Summary
HIP-16 stipulates a ledger-wide grace period between,

  1. The time an entity expires; and,
  2. The time it is permanently removed from the ledger.

An entity in its grace period is effectively "detached" from the ledger. It cannot participate in normal transactions.

In particular, a detached account cannot:

  • Pay for a transaction or query.
  • Be used in a CryptoTransfer.
  • Be the target of a CryptoDelete.
  • Be the receiver for a CryptoDelete.
  • Be frozen or unfrozen for a token.
  • Have KYC granted or revoked for a token.
  • Be associated or dissociated from a token.
  • Become or relinquish the treasury for a token.
  • Mint/burn units as the extant treasury of a token.
  • Have any property other than its expiration updated.
  • Be designated the payer for a scheduled transaction.
  • Receive funds during a ContractCreate or ContractCall.
  • Acquire or relinquish autorenew responsibilities for a token or topic.

The only way to reattach an account is to perform a CryptoUpdate that extends its expiration past the current consensus time.

But,

Suggested resolution
Implement the above restrictions on detached accounts; return a failure code of ACCOUNT_EXPIRED_AND_PENDING_DELETION for any violating transaction or query when autorenew.isEnabled=true.

@tinker-michaelj tinker-michaelj self-assigned this May 6, 2021
@tinker-michaelj tinker-michaelj added this to the Hedera 0.14.0 milestone May 6, 2021
@tinker-michaelj tinker-michaelj changed the title Complete grace period implementation Enforce grace period restrictions May 6, 2021
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 a pull request may close this issue.

1 participant