diff --git a/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift b/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift index c25ee496d..60ff9a094 100644 --- a/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift +++ b/Sources/Web3Core/EthereumNetwork/Request/APIRequest+Methods.swift @@ -120,11 +120,15 @@ extension APIRequest { public static func send(uRLRequest: URLRequest, with session: URLSession) async throws -> Data { let (data, response) = try await session.data(for: uRLRequest) - guard 200 ..< 400 ~= response.statusCode else { - if 400 ..< 500 ~= response.statusCode { - throw Web3Error.clientError(code: response.statusCode) + guard let httpResponse = response as? HTTPURLResponse else { + throw Web3Error.unknownError + } + + guard 200 ..< 400 ~= httpResponse.statusCode else { + if 400 ..< 500 ~= httpResponse.statusCode { + throw Web3Error.clientError(code: httpResponse.statusCode) } else { - throw Web3Error.serverError(code: response.statusCode) + throw Web3Error.serverError(code: httpResponse.statusCode) } } diff --git a/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift b/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift deleted file mode 100644 index e6b67ae83..000000000 --- a/Sources/Web3Core/EthereumNetwork/Utility/Async+BackwardCapability.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// Async+BackwardCapability.swift -// -// -// Created by Yaroslav Yashin on 05.06.2022. -// - -import Foundation - -@available(iOS, obsoleted: 15.0, message: "Use the built-in API instead") -@available(macOS, obsoleted: 12.0, message: "Use the built-in API instead") -extension URLSession { - func data(for request: URLRequest) async throws -> (Data, HTTPURLResponse) { - try await withCheckedThrowingContinuation { continuation in - let dataTask = self.dataTask(with: request) { data, response, error in - guard let data = data, let response = response as? HTTPURLResponse else { - let error = error ?? URLError(.badServerResponse) - return continuation.resume(throwing: error) - } - continuation.resume(returning: (data, response)) - } - dataTask.resume() - } - } -} diff --git a/Sources/web3swift/Transaction/TransactionPollingTask.swift b/Sources/web3swift/Transaction/TransactionPollingTask.swift index 08593e42c..f5c69ff0f 100644 --- a/Sources/web3swift/Transaction/TransactionPollingTask.swift +++ b/Sources/web3swift/Transaction/TransactionPollingTask.swift @@ -11,9 +11,9 @@ import Web3Core final public class TransactionPollingTask { private enum DelayUnit: UInt64 { - case shortest = 1 - case medium = 5 - case longest = 60 + case shortest = 1_500_000_000 + case medium = 2_500_000_000 + case longest = 9_000_000_000 func shouldIncreaseDelay(_ startTime: Date) -> Bool { let timePassed = Date().timeIntervalSince1970 - startTime.timeIntervalSince1970