UniswapKit.Swift
is an extension for EvmKit.Swift
for supporting Uniswap
native exchange
- Price Impact
- Deadline
- Recipient
- Fee on Transfer
import EvmKit
import Eip20Kit
import UniswapKit
let uniswapKit = UniswapKit.Kit.instance(evmKit: evmKit)
let tokenIn = uniswapKit.etherToken
let tokenOut = uniswapKit.token(try! Address(hex: "0x..."), decimal: 18)
let amount: Decimal = 0.1
uniswapKit
.swapDataSingle(tokenIn: tokenIn, tokenOut: tokenOut)
.flatMap { swapData in
let tradeData = try! uniswapKit.bestTradeExactIn(swapData: swapData, amountIn: amount)
let transactionData = try! uniswapKit.transactionData(tradeData: tradeData)
return evmKit.sendSingle(transactionData: transactionData, gasPrice: 50_000_000_000, gasLimit: 1_000_000_000_000)
}
.subscribe(onSuccess: { [weak self] _ in})
dependencies: [
.package(url: "https://github.com/horizontalsystems/UniswapKit.Swift.git", .upToNextMajor(from: "1.0.0"))
]
The UniswapKit.Swift
toolkit is open source and available under the terms of the MIT License.