WithdrawAsset

public struct WithdrawAsset : Decodable, Sendable

Information about an asset available for withdrawal operations via SEP-6.

Provides details about withdrawal capabilities including fee structure, transaction limits, authentication requirements, and supported withdrawal types with their required fields.

See SEP-6 Info

  • true if SEP-6 withdrawal for this asset is supported

    Declaration

    Swift

    public let enabled: Bool
  • Optional. true if client must be authenticated before accessing the withdraw endpoint for this asset. false if not specified.

    Declaration

    Swift

    public let authenticationRequired: Bool?
  • Optional fixed (flat) fee for withdraw, in units of the Stellar asset. Nil if there is no fee or the fee schedule is complex.

    Declaration

    Swift

    public let feeFixed: Double?
  • Optional percentage fee for withdraw, in percentage points of the Stellar asset. Null if there is no fee or the fee schedule is complex.

    Declaration

    Swift

    public let feePercent: Double?
  • Optional minimum amount. No limit if not specified.

    Declaration

    Swift

    public let minAmount: Double?
  • Optional maximum amount. No limit if not specified.

    Declaration

    Swift

    public let maxAmount: Double?
  • A field with each type of withdrawal supported for that asset as a key. Each type can specify a fields object explaining what fields are needed and what they do. Anchors are encouraged to use SEP-9 financial account fields, but can also define custom fields if necessary. If a fields object is not specified, the wallet should assume that no extra fields are needed for that type of withdrawal. In the case that the Anchor requires additional fields for a withdrawal, it should set the transaction status to pending_customer_info_update. The wallet can query the /transaction endpoint to get the fields needed to complete the transaction in required_customer_info_updates and then use SEP-12 to collect the information from the user.

    Declaration

    Swift

    public let types: [String : WithdrawType]?
  • Initializer - creates a new instance by decoding from the given decoder.

    Declaration

    Swift

    public init(from decoder: Decoder) throws

    Parameters

    decoder

    The decoder containing the data