Skip to content

Commit 9ea86e3

Browse files
Delete responseType enums variable.
This runtime check doesn't brings any additional value in term of reliability, but prohibits extensibility provided by generics. So removing this gives any users power to set their own non literal types as response type, by simply conforming them to `APIResultType`.
1 parent 3bdabce commit 9ea86e3

File tree

1 file changed

+0
-36
lines changed

1 file changed

+0
-36
lines changed

Sources/web3swift/API/APIMethod.swift

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -228,38 +228,6 @@ extension APIRequest {
228228
}
229229
}
230230

231-
public var responseType: APIResultType.Type {
232-
switch self {
233-
case .blockNumber: return BigUInt.self
234-
case .getAccounts: return [EthereumAddress].self
235-
case .getBalance: return BigUInt.self
236-
case .getBlockByHash: return Block.self
237-
case .getBlockByNumber: return Block.self
238-
case .gasPrice: return BigUInt.self
239-
case .feeHistory: return Web3.Oracle.FeeHistory.self
240-
case .getTransactionCount: return BigUInt.self
241-
case .getCode: return Hash.self
242-
case .getTransactionReceipt: return TransactionReceipt.self
243-
case .createAccount: return EthereumAddress.self
244-
case .unlockAccount: return Bool.self
245-
case .getTransactionByHash: return TransactionDetails.self
246-
case .sendTransaction: return Hash.self
247-
case .sendRawTransaction: return Hash.self
248-
case .estimateGas: return BigUInt.self
249-
case .call: return Data.self
250-
// FIXME: Not checked
251-
case .getNetwork: return Int.self
252-
case .personalSign: return Data.self
253-
case .getTxPoolStatus: return TxPoolStatus.self
254-
case .getTxPoolContent: return TxPoolContent.self
255-
case .getLogs: return [EventLog].self
256-
257-
// FIXME: Not implemented
258-
case .getStorageAt: return String.self
259-
case .getTxPoolInspect: return String.self
260-
}
261-
}
262-
263231
var encodedBody: Data {
264232
let request = RequestBody(method: self.call, params: self.parameters)
265233
// this is safe to force try this here
@@ -291,7 +259,6 @@ extension APIRequest {
291259
return [RequestParameter.eventFilter(eventFilterParameters)]
292260

293261
case .personalSign(let address, let string):
294-
// FIXME: Add second parameter
295262
return [RequestParameter.string(address), RequestParameter.string(string)]
296263

297264
case .call(let transactionParameters, let blockNumber):
@@ -359,9 +326,6 @@ extension APIRequest {
359326

360327
extension APIRequest {
361328
public static func sendRequest<Result>(with provider: Web3Provider, for call: APIRequest) async throws -> APIResponse<Result> {
362-
/// Don't even try to make network request if the `Result` type dosen't equal to supposed by API
363-
// FIXME: Add appropriate error thrown
364-
guard Result.self == call.responseType else { throw Web3Error.unknownError }
365329
let request = setupRequest(for: call, with: provider)
366330
return try await APIRequest.send(uRLRequest: request, with: provider.session)
367331
}

0 commit comments

Comments
 (0)