Boilertalk / Web3.swift

A pure swift Ethereum Web3 library
MIT License
639 stars 188 forks source link

Added more methods. Cleaned Xcode 10.2 warnings. Implemented filters #75

Closed ypopovych closed 5 years ago

ypopovych commented 5 years ago

Changes In this PR:

  1. Swift 4.2
  2. No warnings in Xcode 10.2
  3. More Web3 methods (personal, signTypedData)
  4. Typed Data (EIP-712)
  5. Filters via polling (for Infura)
codecov[bot] commented 5 years ago

Codecov Report

Merging #75 into master will decrease coverage by 13.1%. The diff coverage is 15.43%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master      #75       +/-   ##
===========================================
- Coverage   75.14%   62.03%   -13.11%     
===========================================
  Files          64       77       +13     
  Lines        4152     5129      +977     
===========================================
+ Hits         3120     3182       +62     
- Misses       1032     1947      +915
Impacted Files Coverage Δ
Web3/Classes/Core/Json/EthereumTopic.swift 0% <0%> (ø)
...lasses/Core/Json/EthereumFilterChangesObject.swift 0% <0%> (ø)
...s/Core/Json/EthereumTransactionReceiptObject.swift 0% <0%> (ø) :arrow_up:
...b3/Classes/Core/Filters/EthereumFilterEngine.swift 0% <0%> (ø)
...3/Classes/ContractABI/Contract/SolidityEvent.swift 64.44% <0%> (ø) :arrow_up:
...eb3/Classes/Core/Filters/EthereumBlockFilter.swift 0% <0%> (ø)
...e/Json/EthereumPersonalSignTransactionParams.swift 0% <0%> (ø)
Web3/Classes/Core/Json/EthereumGetLogsParams.swift 0% <0%> (ø)
...FoundationHTTP/Web3HttpProviderFilterHandler.swift 0% <0%> (ø)
Web3/Classes/ContractABI/ABI/Eth+ABI.swift 0% <0%> (ø) :arrow_up:
... and 54 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d1cbe0a...3d41618. Read the comment docs.

koraykoska commented 5 years ago

@ypopovych Please cherry pick the Swift 4.2 changes and bug fixes and open 2 separate PRs. One for the fixes and one for the new features. I will review them separately again once you did this.

koraykoska commented 5 years ago

Ok please split it into 3 different PRs.

One for the bug fixes:

One for the new methods to Web3:

And one for the news features:

Sorry. I know it's a little bit of work to cherry pick all those changes but it's really hard to review such a big PR. If you split it down I can assign someone to every PR and it will be much easier and faster for us...

ypopovych commented 5 years ago

I will try to do this tomorrow. It's a good idea to split it.

ypopovych commented 5 years ago

It's really hard to split it :( Some of the commits fixes new features + has fixes for new Swift.

ypopovych commented 5 years ago

@Ybrin @pixelmatrix guys, I started new PR. Will do them one-by-one. First one - update to Swift 5. Next one will be small refactoring + new methods. And then only EIP-712 + Filters.

@Ybrin I also will update BigInt for Swift 5 (right now it shows warnings)

ypopovych commented 5 years ago

@Ybrin forget about BigInt PR. Can you, please, push the new version to CocoaPods (0.4.0)?