Files
raspberry/Packages/WalletNetwork/Sources/EOS/EOSService.swift
T
2022-08-31 14:21:25 +03:00

42 lines
924 B
Swift

//
// EOSService.swift
//
//
// Created by Juraldinio on 31.07.2022.
//
import Foundation
import Alamofire
import WalletFoundation
public struct EOSService: NetworkService {
let enmironment: NetworkEnvironment
public init(enmironment: NetworkEnvironment) {
self.enmironment = enmironment
}
// Methods
public func requireNodes() async -> [String] {
let result = try? await AF.request(
self.enmironment.url,
method: .post,
parameters: EOSNodeRequest(),
encoder: JSONParameterEncoder.default,
headers: self.enmironment.httpHeaders)
.serializingDecodable(GraphQLResult<EOSNodesResponse>.self)
.value
switch result?.result {
case let .firstType(value):
return value.nodes.map { $0.url }
default:
return []
}
}
}