Skip to content

forge-multisig — add support for native XLM transfers not just Soroban token transfers #321

@Austinaminu2

Description

@Austinaminu2

Summary

forge-multisig currently only supports token transfers via token::Client::new() which works for Soroban tokens (SAC-wrapped assets). It does not support native XLM transfers which use a different interface. Many Stellar treasuries hold native XLM and would not be able to use forge-multisig for XLM disbursements.

Proposed Design

Add a separate proposal type for native XLM transfers using Stellar's built-in transfer mechanism.

propose_xlm(env: Env, proposer: Address, to: Address, amount: i128) -> u64

Tasks

  • Research the correct Soroban method for native XLM transfers
  • Add is_native: bool field to Proposal to distinguish XLM from token proposals
  • Implement propose_xlm() that creates a native XLM transfer proposal
  • Update execute() to handle both token and native XLM cases
  • Add tests for native XLM proposal creation, approval, and execution
  • Document native XLM support in the contract README

Labels: enhancement, forge-multisig

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions