58 lines
1.5 KiB
Swift
58 lines
1.5 KiB
Swift
//
|
|
// PushTransactionGraphQLRequest.swift
|
|
// Wallet
|
|
//
|
|
// Created by Saveliy Stavitsky on 8/11/21.
|
|
// Copyright © 2021 AM. All rights reserved.
|
|
//
|
|
|
|
struct PushTransactionGraphQLRequest: Encodable {
|
|
|
|
struct ResponseData: Decodable { let pushTransaction: Response? }
|
|
struct Response: Decodable {
|
|
let transactionResponse: String?
|
|
let response: String?
|
|
let errors: String?
|
|
|
|
var errorsDescription: String? {
|
|
if let errors = errors {
|
|
if let transactionResponse = transactionResponse {
|
|
return "\(errors) (\(transactionResponse))"
|
|
} else {
|
|
return errors
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
}
|
|
|
|
struct Variables: Encodable {
|
|
let transaction: String
|
|
let transactionType: String
|
|
let data: String?
|
|
let isUsingFreetx: Bool
|
|
}
|
|
|
|
let variables: Variables
|
|
let operationName = "pushTransaction"
|
|
let query: String = #"""
|
|
mutation pushTransaction(
|
|
$transaction: String!,
|
|
$transactionType: TransactionType!,
|
|
$data: String,
|
|
$isUsingFreetx: Boolean!
|
|
) {
|
|
pushTransaction(
|
|
transaction: $transaction,
|
|
transactionType: $transactionType,
|
|
data: $data,
|
|
isUsingFreetx: $isUsingFreetx
|
|
) {
|
|
transactionResponse
|
|
response
|
|
errors
|
|
}
|
|
}
|
|
"""#
|
|
}
|