Skip to content

Commit 7e9e0d3

Browse files
authored
Merge pull request #311 from bitshares/release/20220513
release
2 parents baf7f1e + 2065105 commit 7e9e0d3

23 files changed

Lines changed: 707 additions & 415 deletions

.github/workflows/release.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Semantic Release
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
max-parallel: 4
13+
matrix:
14+
python-version: [3.6, 3.7, 3.8]
15+
16+
steps:
17+
- name: Install secp256k1
18+
run: sudo apt-get install libsecp256k1-0 libsecp256k1-dev
19+
- uses: actions/checkout@v1
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v1
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install tox tox-gh-actions
28+
- name: Test with tox
29+
run: tox
30+
31+
release:
32+
name: Semantic Release
33+
runs-on: ubuntu-latest
34+
concurrency: push
35+
needs:
36+
- test
37+
steps:
38+
- uses: actions/checkout@v2
39+
with:
40+
fetch-depth: 0
41+
ref: ${{ needs.beautify.outputs.new_sha }}
42+
43+
- name: Fetch master
44+
run: git fetch --prune origin +refs/heads/master:refs/remotes/origin/master
45+
46+
- name: Python Semantic Release
47+
uses: relekang/python-semantic-release@master
48+
with:
49+
github_token: ${{ secrets.GITHUB_TOKEN }}
50+
repository_username: ${{ secrets.PYPI_USERNAME }}
51+
repository_password: ${{ secrets.PYPI_PASSWORD }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.idea/
2+
venv/
23
# Byte-compiled / optimized / DLL files
34
__pycache__/
45
*.py[cod]
@@ -63,3 +64,8 @@ target/
6364
*.swp
6465
.ropeproject/
6566
*/.ropeproject/
67+
grapheneapi
68+
graphenebase
69+
graphenecommon
70+
graphenestorage
71+
scripts

.pre-commit-config.yaml

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,34 @@
1+
---
12
# Read up on pre-commit
23
# https://ljvmiranda921.github.io/notebook/2018/06/21/precommits-using-black-and-flake8/
34

45
repos:
6+
# Check that the commit message adheres to the Angular convention (this is
7+
# needed so that Semantic Release works)
8+
- repo: https://github.com/commitizen-tools/commitizen
9+
rev: v2.24.0
10+
hooks:
11+
- id: commitizen
12+
stages: [commit-msg]
513

6-
- repo: https://github.com/pre-commit/pre-commit-hooks
7-
rev: v2.5.0
8-
hooks:
9-
- id: trailing-whitespace
10-
- id: check-docstring-first
11-
- id: check-executables-have-shebangs
12-
- id: check-json
13-
- id: check-yaml
14-
- id: end-of-file-fixer
15-
- id: fix-encoding-pragma
16-
- id: check-merge-conflict
17-
- id: no-commit-to-branch
18-
args: [--branch, master]
14+
- repo: https://github.com/pre-commit/pre-commit-hooks
15+
rev: v4.2.0
16+
hooks:
17+
- id: trailing-whitespace
18+
- id: check-docstring-first
19+
- id: check-executables-have-shebangs
20+
- id: check-json
21+
- id: check-yaml
22+
- id: end-of-file-fixer
23+
- id: fix-encoding-pragma
1924

20-
- repo: https://github.com/ambv/black
21-
rev: 19.10b0
22-
hooks:
23-
- id: black
24-
language_version: python3
25-
26-
- repo: https://github.com/myint/docformatter
27-
rev: v1.3.1
28-
hooks:
29-
- id: docformatter
30-
args: [
31-
-i,
32-
--wrap-summaries=88,
33-
--wrap-descriptions=88,
34-
--pre-summary-newline,
35-
]
36-
37-
- repo: https://gitlab.com/pycqa/flake8
38-
rev: 3.7.9
39-
hooks:
25+
- repo: https://github.com/PyCQA/flake8
26+
rev: 4.0.1
27+
hooks:
4028
- id: flake8
41-
additional_dependencies: [
42-
'pep8-naming',
43-
'flake8-comprehensions',
44-
'flake8-bugbear',
45-
]
29+
30+
- repo: https://github.com/ambv/black
31+
rev: 22.3.0
32+
hooks:
33+
- id: black
34+
language_version: python3

AUTHORS

Lines changed: 0 additions & 29 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Changelog
22
Note: version releases in the 0.x.y range may introduce breaking changes.
33

4+
<!--next-version-placeholder-->
5+
46
## 0.7.0
57

68
- minor: Add liquidity pool support
@@ -33,3 +35,171 @@ Note: version releases in the 0.x.y range may introduce breaking changes.
3335

3436
- patch: Status Quo
3537

38+
Release 0.3.0
39+
=============
40+
41+
The major change of this release was to merge common code with other
42+
graphene-based blockchains into python-graphene to reduce redunance and
43+
simply code maintainability.
44+
45+
Features
46+
--------
47+
d1484a0 Fix issue with backend showing wrong percentage change after a while
48+
ba23069 Allow to create an account that only references to another account
49+
23b2c7a Implement issuing of shares as part of Asset()
50+
ab40514 Simplify use of custom authorties
51+
c349316 Merge pull request #179 from jhtitor/few_asset_ops
52+
9c2c3bf Add test for Asset_claim_pool operation.
53+
5ad23c4 Add asset_claim_pool operation.
54+
42deeda Add tests for global_settle and claim_fees operations.
55+
dd4cb96 Add asset_global_settle and asset_claim_fees operations.
56+
0a25a4d New operation
57+
1f1e355 Merge 'upstream/develop' into few_asset_ops
58+
681b0fa Implement asset-settle
59+
74fa037 Finish up unittests using new caching system
60+
63a4030 Import Object from graphenecommon
61+
43a2170 Simplify Key classes
62+
acc54d5 move general stuff to graphene
63+
2a0b813 Simplyify dealing with Prefixes
64+
3a9f16d Migrate common stuff to python-graphene
65+
9c9b15a Separation of wallet.py
66+
f41bd77 Bid Collateral Operation
67+
54dcfbf Bid Collateral Operation
68+
69+
Fixes
70+
-----
71+
436fb40 Fix Amount in Open Order and improve unittest (Fix #76)
72+
acf9a29 Fix #180
73+
b061399 Fix #185
74+
b64f222 fix precommit to use python3
75+
bf6a3dc Merge pull request #171 from bitfag/fix-order-rounding
76+
6cc984a Fix Object() class and add unit test
77+
abf4046 Fix incorrect initialization of FilledOrder and Order
78+
d52f7da Fix price feeds
79+
ac91f9e Fix buy/sell of near-precision amounts
80+
2695525 Fix messages and account
81+
055635f Fix unittesting
82+
4b72616 Fix fox.ini with blake
83+
3bb9b8b Fix __init__
84+
bc73a8a #128 Proposal fix, now, at least method accountopenorders won't raise KeyError "limit_orders"
85+
35a3aaf Fix #151
86+
8d66b43 Fix getActiveKeyForAccount failing when multiple keys installed
87+
61712db Ensure we do have a default expiration time for new orders
88+
949850b Properly initialize blockchain instance
89+
8f9bc23 Also import the exceptions
90+
4d27455 Also import the exceptions
91+
1e7d98c Merge branch 'feature/cleanup-txbuilder' into develop
92+
cf8fafb Ensure we can verify messages on different networks too
93+
e13f77f define required type_id
94+
20258e2 Re-enable computation of mcr
95+
5efb1d4 Merge pull request #162 from jhtitor/memo_pad
96+
4a633ca Merge pull request #160 from Algruun/master
97+
e2ef0a4 Verify memo checksum during decoding.
98+
1c50b37 Always add final padding during memo encryption.
99+
b3f1bda Make memo _pad work with bytes, instead of strings.
100+
588b8e7 Add memo tests for padding edge cases.
101+
0b2b137 Message, ensure we can sign on different blockchain too
102+
9644bf5 Ensure we can deal with \r as well
103+
cd91155 Also store plain message and meta separately
104+
dae6918 After verification fill in class members
105+
3aa81cc Makefile rename back temporary test
106+
54600bb use twine for pypi upload
107+
108+
109+
Testnet
110+
-------
111+
1ec6faa Add HTLC class
112+
e4d743d HTLC implementation
113+
13e0168 Switch tests back to main net (breaks HLTC unit tests since ops are not available on mainnet)
114+
65c451b Implement HTLC base operations
115+
116+
Dependencies
117+
------------
118+
802d576 bump dependency for pygraphene
119+
b67724c Bump requirement for pygraphene
120+
121+
Code Style and Cleanups
122+
-----------------------
123+
c95d093 linting
124+
0e155e9 tox and requirements for black and flake8
125+
2e48137 pre-commit installation
126+
8b5294d testing pre-commit
127+
80013b1 linting
128+
c96dac6 Isort
129+
812e6e3 Black reformatting
130+
3a6c491 remove obsolete modules
131+
3918218 cleanup
132+
960f3aa Remove logging module
133+
7e5d506 Cleanup base.memo
134+
3e15f87 Improve class dealing and unittesting
135+
136+
Documentation
137+
-------------
138+
431582f Updates to documentation
139+
1a06cfc Update documentation
140+
ebb1f2d Add Hackthedex link in readme.md #153
141+
70b8260 [message] Better exception message
142+
143+
Release 0.2.0rc0
144+
================
145+
146+
Storage:
147+
--------
148+
149+
* internal storage now makes use of pygraphene 1.0.0 framework
150+
* `bitshares.storage` now comes with the prebuilt inRam and SQLite stores from pygraphene
151+
* `BitShares()` can be provided with a custom config store using key word `config_store=` and `wallet=` (wallet instance)
152+
* `Wallet()` (internally used by `BitShares()`) can be provided with a custom config store using key word `key_store=`
153+
* Interfaces for stores are defined in pygraphene
154+
* The Interface for the wallet is defined in `wallet.py`
155+
* Instead of using
156+
157+
```
158+
from bitshares.storage import configStorage as config
159+
```
160+
161+
use
162+
163+
```
164+
BitShares().config
165+
```
166+
167+
or
168+
169+
```
170+
from bitshares.storage import get_default_config_store
171+
config = get_default_config_store()
172+
```
173+
174+
Testing:
175+
--------
176+
177+
* pybitshares now contains a framework (fixtures) to simplify access to data provided by the blockchain/database
178+
* Major improvements to coverage
179+
180+
Features:
181+
---------
182+
183+
* Add custom operation to bitsharesbase
184+
185+
Fixes:
186+
------
187+
188+
* 357aa63 Adjust "for_sale" when invert()-ing an Order
189+
* 5924ac1 Allow to read more trading data #111
190+
* 26a72fc Commenting #132
191+
* f1b27d1 Set default expiration to 30 seconds #132
192+
* bd69b2c Fix bitshares->blockchain attrribute #132
193+
* a19b9ed Fix #136
194+
* f616874 Revert "fix Vesting"
195+
* b430d3b Set default order expiration to 1yr
196+
* a949570 fix Vesting
197+
* f70f20f Ensure we don't through in case 'secs=None'
198+
* 0dabd9a Use PublicKey's internal sorting algorithm
199+
* 8b7b134 Fix incompatibility with new graphene framework
200+
* 9ce8068 Fix init of FilledOrder from history op
201+
* 51c2277 Fix unittests for pygraphene@develop
202+
* 803f828 further improvements
203+
* 305efe2 Raise Exception in case the key has been included already
204+
* 5b2736a fix store to deal with proper sqlite file etc
205+
* 7e5ff23 unit tests now with fixtures

CONTRIBUTING.md

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ understand is that:
4646

4747
**pull requests need to be made against the `develop` branch**!
4848

49+
### Conventionall Commits
50+
51+
We strictly use [connventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)!
52+
4953
### Contributor License Agreement
5054

5155
Upon submission of a pull request, you will be asked to sign the
@@ -163,19 +167,6 @@ Any maintainer is allowed to merge a PR if all of these conditions are met.
163167

164168
### 9. Shipping a release (maintainers only)
165169

166-
Maintainers need to do the following to push out a release:
167-
168-
git checkout develop
169-
git fetch origin
170-
git rebase origin/develop
171-
# get latest tag
172-
git tag -l
173-
# git flow
174-
git flow release start x.y.z
175-
# bump version in setup.py
176-
git add setup.py; git commit -m "version bump"
177-
git flow release finish
178-
179-
Bundling and pushing the release:
180-
181-
make release
170+
Create a new pull request with `release/<YYYYmmdd>`. Push the branch.
171+
When merged into master, release tagging and publishing will be triggered
172+
throught github actions.

MANIFEST.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
include *.md
2-
include requirements*.txt
2+
include requirements.txt
3+
include requirements-test.txt

0 commit comments

Comments
 (0)