Skip to content

Commit ce8cbb6

Browse files
authored
Merge pull request #252 from ethereum/dev
Release version v2.1.0
2 parents e2a7c94 + dc6fa0c commit ce8cbb6

30 files changed

+502
-335
lines changed

.circleci/config.yml

+33-27
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,27 @@ jobs:
2525
# Job(s) with Linux OS
2626
venv_build:
2727
docker:
28-
- image: circleci/python:3.8
28+
- image: cimg/python:3.10
2929
working_directory: ~/repo
3030
steps:
3131
- checkout
3232
- restore_cache:
33-
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}
33+
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v2
3434
- run:
3535
name: Install requirements in venv
3636
command: make venv_build_test
3737
- save_cache:
38-
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}
38+
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v2
3939
paths:
4040
- ./venv
4141
venv_pytest:
4242
docker:
43-
- image: circleci/python:3.8
43+
- image: cimg/python:3.10
4444
working_directory: ~/repo
4545
steps:
4646
- checkout
4747
- restore_cache:
48-
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}
48+
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v2
4949
- run:
5050
name: Run tests with venv
5151
command: make venv_test
@@ -56,46 +56,49 @@ jobs:
5656
path: test-reports/
5757
venv_lint:
5858
docker:
59-
- image: circleci/python:3.8
59+
- image: cimg/python:3.10
6060
working_directory: ~/repo
6161
steps:
6262
- checkout
6363
- restore_cache:
64-
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}
64+
key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v2
6565
- run:
6666
name: Run linter with venv
6767
command: make venv_lint
68-
tox-py37-core:
68+
tox-py310-core:
6969
<<: *tox_common
7070
docker:
71-
- image: circleci/python:3.7
71+
- image: cimg/python:3.10
7272
environment:
73-
TOXENV: py37-core
73+
TOXENV: py310-core
7474
tox-py38-core:
7575
<<: *tox_common
7676
docker:
77-
- image: circleci/python:3.8
77+
- image: cimg/python:3.8
7878
environment:
7979
TOXENV: py38-core
80-
tox-py37-script:
80+
tox-py310-script:
8181
<<: *tox_common
8282
docker:
83-
- image: circleci/python:3.7
83+
- image: cimg/python:3.10
8484
environment:
85-
TOXENV: py37-script
85+
TOXENV: py310-script
8686
tox-py38-script:
8787
<<: *tox_common
8888
docker:
89-
- image: circleci/python:3.8
89+
- image: cimg/python:3.8
9090
environment:
9191
TOXENV: py38-script
9292
# Job(s) with Windows OS
93-
win-py37-script:
93+
win-py310-script:
9494
executor:
9595
name: win/default
9696
shell: powershell.exe
9797
steps:
9898
- checkout
99+
- run:
100+
name: "Install Python"
101+
command: choco install python --version=3.10.3
99102
- run:
100103
name: Install testing requirements on Windows
101104
command: python -m pip install -r requirements_test.txt
@@ -104,15 +107,15 @@ jobs:
104107
command: python ./test_deposit_script.py
105108
build-linux-amd64:
106109
machine:
107-
image: ubuntu-1604:202007-01
110+
image: ubuntu-2004:202201-02
108111
working_directory: ~/repo
109112
steps:
110113
- checkout
111114
- run:
112115
name: Install building requirements on Linux
113116
command: |
114-
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.5;
115-
pyenv global 3.7.5;
117+
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.10.2;
118+
pyenv global 3.10.2;
116119
pip install -r ./build_configs/linux/requirements.txt;
117120
- run:
118121
name: Build with build.spec
@@ -121,7 +124,7 @@ jobs:
121124
export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7)
122125
export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64;
123126
mkdir ${BUILD_FILE_NAME};
124-
pyenv global 3.7.5;
127+
pyenv global 3.10.2;
125128
pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec;
126129
- run:
127130
name: Test executable binaries
@@ -149,16 +152,16 @@ jobs:
149152
path: /tmp/artifacts
150153
build-linux-arm64:
151154
machine:
152-
image: ubuntu-2004:202101-01
155+
image: ubuntu-2004:202201-02
153156
resource_class: arm.medium
154157
working_directory: ~/repo
155158
steps:
156159
- checkout
157160
- run:
158161
name: Install building requirements on Linux ARM64
159162
command: |
160-
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.5;
161-
pyenv global 3.7.5;
163+
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.10.2;
164+
pyenv global 3.10.2;
162165
pip install -r ./build_configs/linux/requirements.txt;
163166
- run:
164167
name: Build with build.spec
@@ -167,7 +170,7 @@ jobs:
167170
export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7)
168171
export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64;
169172
mkdir ${BUILD_FILE_NAME};
170-
pyenv global 3.7.5;
173+
pyenv global 3.10.2;
171174
pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec;
172175
- run:
173176
name: Test executable binaries
@@ -198,6 +201,9 @@ jobs:
198201
shell: powershell.exe
199202
steps:
200203
- checkout
204+
- run:
205+
name: "Install Python"
206+
command: choco install python --version=3.10.3
201207
- run:
202208
name: Install building requirements on Windows
203209
command: pip install -r ./build_configs/windows/requirements.txt
@@ -292,11 +298,11 @@ workflows:
292298
- venv_lint:
293299
requires:
294300
- venv_build
295-
- tox-py37-core
301+
- tox-py310-core
296302
- tox-py38-core
297-
- tox-py37-script
303+
- tox-py310-script
298304
- tox-py38-script
299-
- win-py37-script
305+
- win-py310-script
300306
build_linux:
301307
jobs:
302308
- build-linux-amd64

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.7-alpine
1+
FROM python:alpine3.14
22

33
WORKDIR /app
44

README.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
## Introduction
7070

71-
`deposit-cli` is a tool for creating [EIP-2335 format](https://eips.ethereum.org/EIPS/eip-2335) BLS12-381 keystores and a corresponding `deposit_data*.json` file for [Ethereum 2.0 Launchpad](https://github.com/ethereum/staking-launchpad).
71+
`deposit-cli` is a tool for creating [EIP-2335 format](https://eips.ethereum.org/EIPS/eip-2335) BLS12-381 keystores and a corresponding `deposit_data*.json` file for [Ethereum Staking Launchpad](https://github.com/ethereum/staking-launchpad).
7272

7373
- **Warning: Please generate your keystores on your own safe, completely offline device.**
7474
- **Warning: Please backup your mnemonic, keystores, and password securely.**
@@ -81,7 +81,7 @@ You can find the audit report by Trail of Bits [here](https://github.com/trailof
8181

8282
### Build requirements
8383

84-
- [Python **3.7+**](https://www.python.org/about/gettingstarted/)
84+
- [Python **3.8+**](https://www.python.org/about/gettingstarted/)
8585
- [pip3](https://pip.pypa.io/en/stable/installing/)
8686

8787
### For Linux or MacOS users
@@ -170,7 +170,7 @@ Your keys can be found at: <YOUR_FOLDER_PATH>
170170

171171
##### Step 0. Python version checking
172172

173-
Ensure you are using Python version >= Python3.7:
173+
Ensure you are using Python version >= Python3.8:
174174

175175
```sh
176176
python3 -V
@@ -234,7 +234,7 @@ See [here](#successful-message)
234234

235235
##### Step 0. Python version checking
236236

237-
Ensure you are using Python version >= Python3.7:
237+
Ensure you are using Python version >= Python3.8:
238238

239239
```sh
240240
python3 -V
@@ -381,7 +381,7 @@ See [here](#existing-mnemonic-arguments) for `existing-mnemonic` arguments
381381

382382
##### Step 0. Python version checking
383383

384-
Ensure you are using Python version >= Python3.7 (Assume that you've installed Python 3 as the main Python):
384+
Ensure you are using Python version >= Python3.8 (Assume that you've installed Python 3 as the main Python):
385385

386386
```sh
387387
python -V
@@ -443,7 +443,7 @@ See [here](#existing-mnemonic-arguments) for `existing-mnemonic` arguments
443443

444444
##### Step 0. Python version checking
445445

446-
Ensure you are using Python version >= Python3.7 (Assume that you've installed Python 3 as the main Python):
446+
Ensure you are using Python version >= Python3.8 (Assume that you've installed Python 3 as the main Python):
447447

448448
```cmd
449449
python -V
@@ -531,5 +531,5 @@ python3 -m pytest .
531531
👋This is not the section you are looking for.👋
532532
If you are trying to **build the binary** on macos with an M1 Mac and you are using pyenv to manage your python version. You'll probably need to reinstall a given python version using:
533533
```
534-
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.10.2
535-
```
534+
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.10.3
535+
```

build_configs/linux/requirements.txt

+36-37
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
-r ../../requirements.txt
33

44
# Build tools for binary distribution
5-
pyinstaller==4.8 \
6-
--hash=sha256:15d9266d78dc757c103962826e62bce1513825078160be580534ead2ef53087c \
7-
--hash=sha256:44783d58ac4cb0a74a4f2180da4dacbe6a7a013a62b3aa10be6082252e296954 \
8-
--hash=sha256:4c848720a65a5bd41249bc804d1bd3dd089bb56aef7f1c5e11f774f11e649443 \
9-
--hash=sha256:53ed05214dd67624756fe4e82e861857921a79d0392debf8c9f5bb0ba5a479b6 \
10-
--hash=sha256:5c2fd5f18c0397f3d9160446035556afc7f6446fd88048887fdf46eadf85c5ec \
11-
--hash=sha256:6f5cdc39fbdec7b2e0c46cc0f5bd0071bb85e592e324bf4e15375c5ff19e55fc \
12-
--hash=sha256:7ae868bbcc502832a2c802c84a1dbb9f48b44445c50144c29bfcd7b760140e13 \
13-
--hash=sha256:9fbb05f5f67862005234da8c7eac69ef87e086f90e345749260051b031774c52 \
14-
--hash=sha256:b0b3a31aa60292469f9595f298e2c147cba29c30edcd92a38fdce27727809625 \
15-
--hash=sha256:b720853a00bd9547b7d6403d85f23b7f7e451e41bc907673d9fc7f8d9d274594 \
16-
--hash=sha256:f00e1296abac71f3b5bb9fdc2e0d4c079201d62faeeeb894ccadd0616179fee3
17-
setuptools==49.2.0 \
18-
--hash=sha256:272c7f48f5cddc5af5901f4265274c421c7eede5c8bc454ac2903d3f8fc365e9 \
19-
--hash=sha256:afe9e81fee0270d3f60d52608549cc8ec4c46dada8c95640c1a00160f577acf2
5+
pyinstaller==4.10 \
6+
--hash=sha256:05c21117b84199272ebd355b556af4714f6e79245e1c435d6f16653786d7d17e \
7+
--hash=sha256:0dcaf6557cdb2da763c46e06e95a94a7634ab03fb09d91bc77988b01ee05c907 \
8+
--hash=sha256:15557cd1a79d182967f0a5040750e6902e13ebd6cab41e3ed84d7b28a306357b \
9+
--hash=sha256:581620bdcd32f01e89b13231256b807bb090e7eadf40c81c864ec402afa4758a \
10+
--hash=sha256:70c71e827f4b34602cbc7a0947a067b662c1cbdc4db51832e13b97cca3c54dd7 \
11+
--hash=sha256:714c4dcc319a41416744d1e30c6317405dfaed80d2adc45f8bfa70dc7367e664 \
12+
--hash=sha256:7749c868d2e2dc84df7d6f65437226183c8a366f3a99bb2737785625c3a3cca1 \
13+
--hash=sha256:7d94518ba1f8e9a8577345312276891ad7d6cd9785e453e9951b35647e2c7078 \
14+
--hash=sha256:cfed0b3a43e73550a43a094610328109564710b9514afa093ef7199d072cae87 \
15+
--hash=sha256:d4f79c0a774451f12baca4e476376418f011fa3039dde8fd172ea2aa8ff67bad \
16+
--hash=sha256:f2166ff2cd95eefb0d377ae8d1071f186fa25edd410ede65b376162d5ec41909
17+
setuptools==60.9.3 \
18+
--hash=sha256:2347b2b432c891a863acadca2da9ac101eae6169b1d3dfee2ec605ecd50dbfe5 \
19+
--hash=sha256:e4f30b9f84e5ab3decf945113119649fec09c1fc3507c6ebffec75646c56e62b
2020
cffi==1.15.0 \
2121
--hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \
2222
--hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \
@@ -68,25 +68,24 @@ cffi==1.15.0 \
6868
--hash=sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc \
6969
--hash=sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 \
7070
--hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796
71-
pycparser==2.20 \
72-
--hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 \
73-
--hash=sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705
74-
altgraph==0.17 \
75-
--hash=sha256:1f05a47122542f97028caf78775a095fbe6a2699b5089de8477eb583167d69aa \
76-
--hash=sha256:c623e5f3408ca61d4016f23a681b9adb100802ca3e3da5e718915a9e4052cebe
77-
macholib==1.14 \
78-
--hash=sha256:0c436bc847e7b1d9bda0560351bf76d7caf930fb585a828d13608839ef42c432 \
79-
--hash=sha256:c500f02867515e6c60a27875b408920d18332ddf96b4035ef03beddd782d4281
80-
pyinstaller-hooks-contrib==2022.0 \
81-
--hash=sha256:29f0bd8fbb2ff6f2df60a0c147e5b5ad65ae5c1a982d90641a5f712de03fa161 \
82-
--hash=sha256:61b667f51b2525377fae30793f38fd9752a08032c72b209effabf707c840cc38
83-
importlib-metadata==3.10.0 \
84-
--hash=sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a \
85-
--hash=sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe
86-
zipp==3.4.1 \
87-
--hash=sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76 \
88-
--hash=sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098
89-
typing-extensions==3.7.4.3 \
90-
--hash=sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918 \
91-
--hash=sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c \
92-
--hash=sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f
71+
pycparser==2.21 \
72+
--hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \
73+
--hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206
74+
altgraph==0.17.2 \
75+
--hash=sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857 \
76+
--hash=sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158
77+
macholib==1.15.2 \
78+
--hash=sha256:1542c41da3600509f91c165cb897e7e54c0e74008bd8da5da7ebbee519d593d2 \
79+
--hash=sha256:885613dd02d3e26dbd2b541eb4cc4ce611b841f827c0958ab98656e478b9e6f6
80+
pyinstaller-hooks-contrib==2022.2 \
81+
--hash=sha256:7605e440ccb55904cb2a87d72e83642ef176fb7030c77e52ac4d9679bb3d1537 \
82+
--hash=sha256:ab1d14fe053016fff7b0c6aea51d980bac6d02114b04063b46ef7dac70c70e1e
83+
importlib-metadata==4.11.3 \
84+
--hash=sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6 \
85+
--hash=sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539
86+
zipp==3.7.0 \
87+
--hash=sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d \
88+
--hash=sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375
89+
typing-extensions==4.1.1 \
90+
--hash=sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42 \
91+
--hash=sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2

0 commit comments

Comments
 (0)