Skip to content

Conditional escrow based on external contract state #582

@nafiuishaaq

Description

@nafiuishaaq

Description:
Allow escrow release to be conditional on the state of another Soroban contract (e.g., a DEX trade executed, NFT minted, or DAO vote passed).

Acceptance Criteria:

lock_funds_conditional(session_id, seller, amount, condition_contract: Address, condition_selector: Bytes32).

check_condition(session_id) -> bool — calls external contract's view function.

release_if_condition_met(session_id) — anyone can call to trigger release.

Condition must be met within condition_timeout_ledgers.

Otherwise buyer can reclaim via refund_conditional_failed(session_id).

Emits ConditionMet, ConditionFailedRefund events.

Labels: cross-contract, conditional, automation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions