Skip to content

[Contract] Implement Detokenization Proposal and Execution Flow #473

@yusuftomilola

Description

@yusuftomilola

Mechanism for unwinding fractional ownership by proposing and executing detokenization through a governance vote.

Requirements

propose_detokenization(env, asset_id, proposer):

  • Proposer must authenticate and hold tokens
  • Creates a DetokenizationProposal with a unique proposal ID
  • Creates a voting proposal (links to the Voting module)
  • Returns the proposal ID

execute_detokenization(env, asset_id, proposal_id):

  • Checks that the linked voting proposal has passed
  • Burns all outstanding tokens
  • Resets the tokenized asset record
  • Emits a detokenized event

get_detokenization_proposal(env, asset_id) — Returns current proposal or error

is_detokenization_active(env, asset_id) — Bool check

Acceptance Criteria

  • Execution fails if vote has not passed
  • All tokens burned after successful execution
  • Cannot propose detokenization twice simultaneously

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions