Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
bot22422 committed Jan 22, 2025
1 parent 54c0df1 commit bc415fe
Show file tree
Hide file tree
Showing 262 changed files with 112,908 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.DS_Store
778 changes: 778 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions CONTRIBUTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Contribution guide
## Version convention
We’re conforming [default versions convention](https://semver.org/).
So in the `1.0.0` version each position means follow:
- 1.\*.***major release**, includes API groundbreaking changes (ie: your old code will not work).
- \*.1.***minor release**, we’ve added some new feature to the lib, but we didn’t break something in anyway (ie: everything will work as expected without any moves after update).
- \*.*.1 — **patch release**, we’re haven’t add any breaking changes or even new features for the user, but we’ve fixed some bugs or rewrote something internal (ie: you should not event mention that anything were changed in the lib).

This library yet living within **three weeks minor release** schedule. Also please keep in mind that in sake of avoiding complex merge conflicts, we’re currently taking only **one big feature** in release, so if you want to take some, please drop us a message somewhere to avoiding reworking it after it’ll be broken by some massive merge.

Critical bug fixes are should be marked with appropriate label in PR and should be proceed **within one week** till patch ’ll be released (at least we’ll try our best to made that).

## What task to choose
Please take it from the [roadmap](https://hackmd.io/G5znP3xAQY-BVc1X8Y1jSg) or from the [opened issues](https://github.com/skywinder/web3swift/issues?q=is:issue+is:open+sort:updated-desc "").

> If you want to make something completely new and purely magical, please drop us a message somewhere before, since it could ends up that this is what we planning to do a lot later or that we not planning at all.
## Codestyle guideline
- `swiftlint` check should goes with no warnings.
- Here’s some more detailed and human readable code style [guidelines](https://hackmd.io/8bACoAnTSsKc55Os596yCg "") (you can add there some suggestion if you’d like to).
- We use [swift](https://www.swift.org/documentation/api-design-guidelines/ "") name convention.
## Tests guideline
1. Cover each new public method with tests.
2. If you’re implementing some big feature encapsulate it in Separate file.
3. Choose one of the two directory to add test case:
* `localTests` — tests which could be ran without needing to connecting to real Ethereum network.
* `remoteTests` — tests which needing connection to real Ethereum network to be ran.
4. Exclude added file from opposite `*.xctestplan` file (e.g. if you’re adding file to `localTests` please exclude it from `RemoteTests.xctestplan`.
5. Add test file to `web3swift.xcodeproj` to make it working within Carthage building system.

## Hacks & tricks & magic
### TestPlans
In ci/cd we’re using Xcode test plans feature to spread tests to local and remote one. So any time you’re adding any new test suit (file) please exclude it from `LocalTests.xctestplan` rather `RemoteTests.xctestplan` depends on what tests group it included.
### Swift package manager
Please add any files unused due build process to `excludeFiles` array in `Package.swift`.
### Carthage
Please do not forget to add & remove all new or dropped files and dependencies in carthage `.xcodeproj` file if you’re working with project anywhere but carthage project.
### Cocoapods
Please do not forget to add & remove all dependencies within `web3swift.podspec` file.
### GitHub actions
You’re able to use our github actions checks in your fork without needing to make PR to this repo. To get that just add your branch name to the branch list in file on path `.github/actions/ci.yml` to let the magic happening like follow:

```yml
on:
push:
branches:
- master
- develop
- hotfix
- #YOUR_REPO_NAME#
```

> Please remove your branch from this list before making PR.
## Good PR checklist
### Code
- [ ] All new functionality covered by unit tests.
- [ ] Ci/cd green.
- [ ] No redundant files are added (build cache, Xcode breakpoints settings and so on).

### Info
- [ ] Relative and concrete PR title.
- [ ] Issue or roadmap goal attached.
- [ ] PR description filled with detail explanation of what it is and what’s its specific.

### Codestyle
- [ ] All public method have `///` styled comments.
- [ ] All magic or nonintuitive internal code parts are clearly explained in inline comments.
- [ ] `swiftlint` ran have no warnings.
- [ ] No commented out code lefts in PR.
21 changes: 21 additions & 0 deletions Example/myWeb3Wallet/Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'myWeb3Wallet' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!

# Pods for myWeb3Wallet
pod 'web3swift', :git => 'https://github.com/veerChauhan/web3swift.git', :branch => 'develop'


target 'myWeb3WalletTests' do
inherit! :search_paths
# Pods for testing
end

target 'myWeb3WalletUITests' do
# Pods for testing
end

end
53 changes: 53 additions & 0 deletions Example/myWeb3Wallet/Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
PODS:
- BigInt (5.2.0)
- CryptoSwift (1.4.2)
- PromiseKit (6.15.3):
- PromiseKit/CorePromise (= 6.15.3)
- PromiseKit/Foundation (= 6.15.3)
- PromiseKit/UIKit (= 6.15.3)
- PromiseKit/CorePromise (6.15.3)
- PromiseKit/Foundation (6.15.3):
- PromiseKit/CorePromise
- PromiseKit/UIKit (6.15.3):
- PromiseKit/CorePromise
- secp256k1.c (0.1.2)
- Starscream (4.0.4)
- web3swift (2.3.0):
- BigInt (~> 5.2)
- CryptoSwift (~> 1.4.0)
- PromiseKit (~> 6.15.3)
- secp256k1.c (~> 0.1)
- Starscream (~> 4.0.4)

DEPENDENCIES:
- web3swift (from `https://github.com/veerChauhan/web3swift.git`, branch `develop`)

SPEC REPOS:
trunk:
- BigInt
- CryptoSwift
- PromiseKit
- secp256k1.c
- Starscream

EXTERNAL SOURCES:
web3swift:
:branch: develop
:git: https://github.com/veerChauhan/web3swift.git

CHECKOUT OPTIONS:
web3swift:
:commit: d05a569a1dbb43b3770832cfa2be703ec26ca894
:git: https://github.com/veerChauhan/web3swift.git

SPEC CHECKSUMS:
BigInt: f668a80089607f521586bbe29513d708491ef2f7
CryptoSwift: a532e74ed010f8c95f611d00b8bbae42e9fe7c17
PromiseKit: 3b2b6995e51a954c46dbc550ce3da44fbfb563c5
secp256k1.c: db47b726585d80f027423682eb369729e61b3b20
Starscream: 5178aed56b316f13fa3bc55694e583d35dd414d9
web3swift: dcc8da6f0944a062faa381869ce64114ddb5f8d3

PODFILE CHECKSUM: 53e3e6ef11ba247d3bee3e2fa1580cb90296aef2

COCOAPODS: 1.11.2
Loading

0 comments on commit bc415fe

Please sign in to comment.