Skip to content

Cancel a request while it is unpriced #74

Description

@hpmaxi

Priority

High — must be addressed in current sprint

User story / Problem statement

A request cannot be withdrawn. Once an investor deposits, the settlement asset sits in the vault
until the epoch is closed and fulfilled, and there is no path back. If an epoch is never fulfilled,
the deposit is stuck.

The design makes a request cancellable until the attestation that prices it is accepted.

Expected outcome

Either side of a request can be cancelled while its epoch is unpriced, and the funds return in the
same call.

Acceptance criteria

  • Cancelling a deposit returns the settlement asset and removes the amount from the epoch total.
  • Cancelling a redemption returns the escrowed shares and removes them from the epoch total.
  • Cancellation is refused once the epoch is fulfilled.
  • Cancellation is never blocked by the guardian pause.
  • The policy decision from Cancel a request while it is unpriced #74 is implemented for a de-listed or frozen controller, on both sides.
  • After cancelling, the same investor can request again in the same epoch.
  • The reserve figures reflect the cancellation immediately, so the treasury cannot deploy assets
    that are still refundable.

Technical notes

The last criterion is the one with teeth. Assets backing an unpriced deposit are refundable, so they
are not free reserve. Today free_reserve subtracts only what priced redemptions owe.

Whether a closed-but-unfulfilled epoch is still cancellable is part of this issue's decision: the
epoch is sealed, and no price exists yet.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions