Skip to content

Commit 0a0313b

Browse files
author
Fernando Fernandes
committed
Add FTXPlaceTriggerOrder response model
1 parent a31f95d commit 0a0313b

File tree

7 files changed

+90
-4
lines changed

7 files changed

+90
-4
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
//
2+
// FTXPlaceTriggerOrder.swift
3+
//
4+
//
5+
// Created by Fernando Fernandes on 08.03.22.
6+
//
7+
8+
import Foundation
9+
10+
/// FTX "Place Trigger Order" REST API response.
11+
///
12+
/// https://docs.ftx.com/?python#place-trigger-order
13+
public struct FTXPlaceTriggerOrder: Codable {
14+
15+
// MARK: - Properties
16+
17+
public let success: Bool
18+
public let result: FTXOrder
19+
20+
enum CodingKeys: String, CodingKey {
21+
case success
22+
case result
23+
}
24+
}
25+
26+
// Represents an order that was placed within FTX.
27+
public struct FTXOrder: Codable {
28+
29+
// MARK: - Properties
30+
31+
public let createdAt: String
32+
public let future: String
33+
public let id: Int
34+
public let market: String
35+
public let triggerPrice: Double
36+
public let side: String
37+
public let size: Double
38+
public let status: String
39+
public let type: String
40+
public let orderPrice: String?
41+
public let error: String?
42+
public let triggeredAt: String?
43+
public let reduceOnly: Bool
44+
public let orderType: String
45+
public let retryUntilFilled: Bool
46+
47+
enum CodingKeys: String, CodingKey {
48+
case createdAt
49+
case future
50+
case id
51+
case market
52+
case triggerPrice
53+
case side
54+
case size
55+
case status
56+
case type
57+
case orderPrice
58+
case error
59+
case triggeredAt
60+
case reduceOnly
61+
case orderType
62+
case retryUntilFilled
63+
}
64+
65+
// MARK: - Lifecycle
66+
67+
public init(from decoder: Decoder) throws {
68+
let container = try decoder.container(keyedBy: CodingKeys.self)
69+
self.createdAt = try container.decode(String.self, forKey: .createdAt)
70+
self.future = try container.decode(String.self, forKey: .future)
71+
self.id = try container.decode(Int.self, forKey: .id)
72+
self.market = try container.decode(String.self, forKey: .market)
73+
self.triggerPrice = try container.decode(Double.self, forKey: .triggerPrice)
74+
self.side = try container.decode(String.self, forKey: .side)
75+
self.size = try container.decode(Double.self, forKey: .size)
76+
self.status = try container.decode(String.self, forKey: .status)
77+
self.type = try container.decode(String.self, forKey: .type)
78+
self.orderPrice = try container.decodeIfPresent(String.self, forKey: .orderPrice)
79+
self.error = try container.decodeIfPresent(String.self, forKey: .error)
80+
self.triggeredAt = try container.decodeIfPresent(String.self, forKey: .triggeredAt)
81+
self.reduceOnly = try container.decode(Bool.self, forKey: .reduceOnly)
82+
self.orderType = try container.decode(String.self, forKey: .orderType)
83+
self.retryUntilFilled = try container.decode(Bool.self, forKey: .retryUntilFilled)
84+
}
85+
}

Sources/SwiftTrader/Model/FTX/Responses/FTXPositionList.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import Foundation
1212
/// https://docs.ftx.com/#get-positions
1313
public struct FTXPositionList: Codable {
1414
public let success: Bool
15-
public let result: [Position]
15+
public let result: [FTXPosition]
1616
}
1717

1818
// Represents an open position within FTX.
19-
public struct Position: Codable {
19+
public struct FTXPosition: Codable {
2020

2121
// MARK: - Properties
2222

Sources/SwiftTrader/Model/Kucoin/Order/KucoinFuturesPlaceOrder.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import Foundation
1313
public struct KucoinFuturesPlaceOrder: Codable {
1414
public let code: String
1515
public let msg: String?
16-
public let data: OrderPlaced?
16+
public let data: KucoinOrder?
1717
}
1818

19-
public struct OrderPlaced: Codable {
19+
// Represents an order that was placed within Kucoin.
20+
public struct KucoinOrder: Codable {
2021
public let orderID: String
2122

2223
enum CodingKeys: String, CodingKey {

0 commit comments

Comments
 (0)