Skip to content

Implement Transfer model #40

Description

@codebestia

Represents a payout or transfer of funds from the merchant wallet to a destination address.

Proposed Steps:

  • Create src/shade/models/transfer.py.
  • Fields: id, source_address, destination_address, amount: Decimal, asset: str, status, stellar_tx_hash: Optional[str], fee: Optional[Decimal], created_at.
  • Add TransferStatus enum: pending, processing, completed, failed.

Acceptance Criteria:

  • Transfer.from_dict(api_response) populates all fields correctly.
  • transfer.asset defaults to "XLM" when absent from the response.
  • transfer.status is a TransferStatus enum.

Activity

  1. GBOYEE commented on Jul 20, 2026

    @GBOYEE

    Hi — I can take this on. I can handle this one. I'll implement it to spec and add tests. Will send a PR for this after assignment.

  2. angelraph commented on Jul 20, 2026

    @angelraph
    Contributor

    I'm interested in working on this issue. I have experience contributing to Python projects and SDKs, and I'm comfortable implementing data models, enums, and parsing logic while keeping everything consistent with the existing codebase.

    Before making any changes, I'll review the current models to match the project's architecture, coding style, and serialization patterns. I'll implement the new Transfer model, add the TransferStatus enum, ensure Transfer.from_dict() correctly handles Decimal values, default the asset to XLM when it's missing, convert the status to the appropriate enum, and preserve optional fields as expected. I'll also add or update tests to verify the implementation meets the acceptance criteria and submit a clean, well-tested PR promptly.

  3. grantfox-oss commented on Jul 23, 2026

    @grantfox-oss

    🦊 GrantFox — @angelraph has been assigned to this issue as part of the Official Campaign | FWC26 campaign!

    Next steps:

    1. Open a Pull Request referencing this issue (e.g., Closes #40)
    2. Your PR will be reviewed by the ShadeProtocol maintainers

    Good luck! Track your progress on GrantFox.

  4. grantfox-oss commented on Jul 25, 2026

    @grantfox-oss

    🎉 This issue has been marked as completed on GrantFox as part of the Official Campaign | FWC26 campaign!

    @angelraph's PR #50 was approved and merged by @codebestia.

    🏆 @angelraph: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (48 total points). Track your full progress on GrantFox.

    👏 Great work, @angelraph! Keep contributing to ShadeProtocol.

  5. added a commit that references this issue on Jul 25, 2026
    fca00e2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions