diff --git a/Sources/AptosKit/Types/Structs/Client/ClientConfig.swift b/Sources/AptosKit/Types/Structs/Client/ClientConfig.swift index 4e30773..6fd3d29 100644 --- a/Sources/AptosKit/Types/Structs/Client/ClientConfig.swift +++ b/Sources/AptosKit/Types/Structs/Client/ClientConfig.swift @@ -33,7 +33,7 @@ public struct ClientConfig { public var transactionWaitInSeconds: Int public var http2: Bool public var apiKey: String? - + public init( expirationTtl: Int = 600, gasUnitPrice: Int = 100, diff --git a/Sources/AptosKit/Types/Structs/Client/RestClient.swift b/Sources/AptosKit/Types/Structs/Client/RestClient.swift index 394d5d6..320021c 100644 --- a/Sources/AptosKit/Types/Structs/Client/RestClient.swift +++ b/Sources/AptosKit/Types/Structs/Client/RestClient.swift @@ -38,12 +38,12 @@ public struct RestClient: AptosKitProtocol { clientConfig: ClientConfig = ClientConfig() ) async throws { guard let url = URL(string: baseUrl) else { throw AptosError.invalidUrl(url: baseUrl) } - + self.baseUrl = baseUrl self.client = client self.clientConfig = clientConfig self.chainId = try await self.client.decodeUrl(with: url)["chain_id"].intValue - + if clientConfig.apiKey != nil { self.client.configuration.httpAdditionalHeaders = ["Authorization": clientConfig.apiKey!] } @@ -333,6 +333,14 @@ public struct RestClient: AptosKitProtocol { return response } + public func transactionByVersion(_ version: Int) async throws -> JSON { + guard let url = URL(string: "\(self.baseUrl)/transactions/by_version/\(version)") else { + throw NSError(domain: "Invalid URL", code: -1) + } + let response = try await self.client.decodeUrl(with: url) + return response + } + public func createMultiAgentBcsTransaction( _ sender: Account, _ secondaryAccounts: [Account],