Skip to content

[HARD][ASSET LIFECYCLE] Enforce verified, monotonic pool-asset activation and retirement #130

Description

@Obiajulu-gif

Problem

Pool-asset status can change without proving issuer, distributor, contract, metadata, supply, network, and pool identity match the live Stellar deployment.

Scope

  • Define allowed and terminal state transitions.
  • Before activation verify network, accounts, flags, trustlines, contract/WASM, asset code, metadata, supply, and pool identity.
  • Store an immutable ledger-bound activation snapshot and evidence hashes.
  • Require maker-checker approval for activation, identity changes, and retirement.
  • Make active identity fields immutable; use versioned replacement.
  • Block retirement while positions, supply, payouts, disputes, or archives remain.
  • Add optimistic versioning and audit/domain events.

Acceptance criteria

  • Mismatched deployments cannot become active.
  • Validation is centralized server-side.
  • Active identity is immutable and evidence reproducible.
  • Retirement cannot strand balances or claims.
  • Concurrent transitions resolve deterministically.

Required tests

Transition table, wrong network/account/contract/metadata/supply, stale evidence, concurrent approvals, retirement blockers, and snapshot re-verification.

Non-goals

Do not automate regulated issuance or legal eligibility.

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions