From ec41162e8ed3a59ce319f0df27e3cc4769382591 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Thu, 22 Feb 2024 15:47:15 -0700 Subject: [PATCH 01/20] Moves to supporting Python >3.12 --- .circleci/config.yml | 60 ++++------ Makefile | 4 +- README.md | 135 ++++++++++++----------- requirements.txt | 110 +++++++++++++++++- requirements_test.txt | 44 ++------ setup.py | 2 +- staking_deposit/cli/generate_keys.py | 4 +- staking_deposit/intl/ar/deposit.json | 2 +- staking_deposit/intl/el/deposit.json | 2 +- staking_deposit/intl/en/deposit.json | 2 +- staking_deposit/intl/fr/deposit.json | 2 +- staking_deposit/intl/id/deposit.json | 2 +- staking_deposit/intl/it/deposit.json | 2 +- staking_deposit/intl/ja/deposit.json | 2 +- staking_deposit/intl/ko/deposit.json | 2 +- staking_deposit/intl/pt-BR/deposit.json | 2 +- staking_deposit/intl/ro/deposit.json | 2 +- staking_deposit/intl/tr/deposit.json | 2 +- staking_deposit/intl/zh-CN/deposit.json | 2 +- staking_deposit/key_handling/keystore.py | 70 ++++++------ staking_deposit/utils/click.py | 2 +- tox.ini | 27 ++--- 22 files changed, 273 insertions(+), 209 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4804859e..4eb110d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,4 @@ -version: 2.1 +version: 2.2 tox_common: &tox_common working_directory: ~/repo @@ -25,7 +25,7 @@ jobs: # Job(s) with Linux OS venv_build: docker: - - image: cimg/python:3.10 + - image: cimg/python:3.12 working_directory: ~/repo steps: - checkout @@ -40,7 +40,7 @@ jobs: - ./venv venv_pytest: docker: - - image: cimg/python:3.10 + - image: cimg/python:3.12 working_directory: ~/repo steps: - checkout @@ -56,7 +56,7 @@ jobs: path: test-reports/ venv_lint: docker: - - image: cimg/python:3.10 + - image: cimg/python:3.12 working_directory: ~/repo steps: - checkout @@ -65,32 +65,20 @@ jobs: - run: name: Run linter with venv command: make venv_lint - tox-py310-core: + tox-py312-core: <<: *tox_common docker: - - image: cimg/python:3.10 + - image: cimg/python:3.12 environment: - TOXENV: py310-core - tox-py38-core: + TOXENV: py312-core + tox-py312-script: <<: *tox_common docker: - - image: cimg/python:3.8 + - image: cimg/python:3.12 environment: - TOXENV: py38-core - tox-py310-script: - <<: *tox_common - docker: - - image: cimg/python:3.10 - environment: - TOXENV: py310-script - tox-py38-script: - <<: *tox_common - docker: - - image: cimg/python:3.8 - environment: - TOXENV: py38-script + TOXENV: py312-script # Job(s) with Windows OS - win-py310-script: + win-py312-script: executor: name: win/default shell: powershell.exe @@ -98,7 +86,7 @@ jobs: - checkout - run: name: "Install Python" - command: choco install python --version=3.10.3 + command: choco install python --version=3.12.2 - run: name: Install testing requirements on Windows command: python -m pip install -r requirements_test.txt @@ -117,8 +105,8 @@ jobs: - run: name: Install building requirements on Linux command: | - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.10.2; - pyenv global 3.10.2; + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; + pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec @@ -127,7 +115,7 @@ jobs: export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; mkdir ${BUILD_FILE_NAME}; - pyenv global 3.10.2; + pyenv global 3.12.2; pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Test executable binaries @@ -165,8 +153,8 @@ jobs: - run: name: Install building requirements on Linux ARM64 command: | - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.10.2; - pyenv global 3.10.2; + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; + pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec @@ -175,7 +163,7 @@ jobs: export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64; mkdir ${BUILD_FILE_NAME}; - pyenv global 3.10.2; + pyenv global 3.12.2; pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Test executable binaries @@ -210,7 +198,7 @@ jobs: - checkout - run: name: "Install Python" - command: choco install python --version=3.10.3 + command: choco install python --version=3.12.3 - run: name: Install building requirements on Windows command: pip install -r ./build_configs/windows/requirements.txt @@ -299,7 +287,7 @@ jobs: path: /tmp/artifacts workflows: - version: 2.1 + version: 2.2 all_test: jobs: - venv_build @@ -309,11 +297,9 @@ workflows: - venv_lint: requires: - venv_build - - tox-py310-core - - tox-py38-core - - tox-py310-script - - tox-py38-script - - win-py310-script + - tox-py312-core + - tox-py312-script + - win-py312-script build_linux: jobs: - build-linux-amd64 diff --git a/Makefile b/Makefile index aa118b17..2d18e9b7 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VENV_NAME?=venv VENV_ACTIVATE=. $(VENV_NAME)/bin/activate -PYTHON=${VENV_NAME}/bin/python3.8 +PYTHON=${VENV_NAME}/bin/python3.12 DOCKER_IMAGE="ethereum/staking-deposit-cli:latest" help: @@ -24,9 +24,9 @@ clean: $(VENV_NAME)/bin/activate: requirements.txt @test -d $(VENV_NAME) || python3 -m venv --clear $(VENV_NAME) - ${VENV_NAME}/bin/python setup.py install ${VENV_NAME}/bin/python -m pip install -r requirements.txt ${VENV_NAME}/bin/python -m pip install -r requirements_test.txt + ${VENV_NAME}/bin/python setup.py install @touch $(VENV_NAME)/bin/activate venv_build: $(VENV_NAME)/bin/activate diff --git a/README.md b/README.md index d9373cae..37f1a23b 100644 --- a/README.md +++ b/README.md @@ -5,68 +5,69 @@ -- [Introduction](#introduction) -- [Tutorial for users](#tutorial-for-users) - - [Build requirements](#build-requirements) - - [For Linux or MacOS users](#for-linux-or-macos-users) - - [File Permissions](#file-permissions) - - [Option 1. Download binary executable file](#option-1-download-binary-executable-file) - - [Step 1. Installation](#step-1-installation) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json) - - [`language` Argument](#language-argument) - - [`--non_interactive` flag](#--non_interactive-flag) - - [Commands](#commands) - - [`new-mnemonic` Arguments](#new-mnemonic-arguments) - - [`existing-mnemonic` Arguments](#existing-mnemonic-arguments) - - [Successful message](#successful-message) - - [`generate-bls-to-execution-change` Arguments](#generate-bls-to-execution-change-arguments) - - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python) - - [Step 0. Python version checking](#step-0-python-version-checking) - - [Step 1. Installation](#step-1-installation-1) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-1) - - [Language Argument](#language-argument) - - [Commands](#commands-1) - - [Arguments](#arguments) - - [Successful message](#successful-message-1) - - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv) - - [Step 0. Python version checking](#step-0-python-version-checking-1) - - [Step 1. Installation](#step-1-installation-2) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-2) - - [Language Argument](#language-argument-1) - - [Commands](#commands-2) - - [Arguments](#arguments-1) - - [Option 4. Use Docker image](#option-4-use-docker-image) - - [Step 1. Build the docker image](#step-1-build-the-docker-image) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-3) - - [Arguments](#arguments-2) - - [Successful message](#successful-message-2) - - [For Windows users](#for-windows-users) - - [Option 1. Download binary executable file](#option-1-download-binary-executable-file-1) - - [Step 1. Installation](#step-1-installation-3) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-4) - - [Language Argument](#language-argument-2) - - [Commands](#commands-3) - - [Arguments](#arguments-3) - - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python-1) - - [Step 0. Python version checking](#step-0-python-version-checking-2) - - [Step 1. Installation](#step-1-installation-4) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-5) - - [Language Argument](#language-argument-3) - - [Commands](#commands-4) - - [Arguments](#arguments-4) - - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv-1) - - [Step 0. Python version checking](#step-0-python-version-checking-3) - - [Step 1. Installation](#step-1-installation-5) - - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-6) - - [Language Argument](#language-argument-4) - - [Commands](#commands-5) - - [Arguments](#arguments-5) -- [Development](#development) - - [Install basic requirements](#install-basic-requirements) - - [Install testing requirements](#install-testing-requirements) - - [Run tests](#run-tests) - - [Building Binaries](#building-binaries) - - [Mac M1 Binaries](#mac-m1-binaries) +- [staking-deposit-cli](#staking-deposit-cli) + - [Introduction](#introduction) + - [Tutorial for users](#tutorial-for-users) + - [Build requirements](#build-requirements) + - [For Linux or MacOS users](#for-linux-or-macos-users) + - [File Permissions](#file-permissions) + - [Option 1. Download binary executable file](#option-1-download-binary-executable-file) + - [Step 1. Installation](#step-1-installation) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json) + - [`language` Argument](#language-argument) + - [`--non_interactive` flag](#--non_interactive-flag) + - [Commands](#commands) + - [`new-mnemonic` Arguments](#new-mnemonic-arguments) + - [`existing-mnemonic` Arguments](#existing-mnemonic-arguments) + - [Successful message](#successful-message) + - [`generate-bls-to-execution-change` Arguments](#generate-bls-to-execution-change-arguments) + - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python) + - [Step 0. Python version checking](#step-0-python-version-checking) + - [Step 1. Installation](#step-1-installation-1) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-1) + - [Language Argument](#language-argument-1) + - [Commands](#commands-1) + - [Arguments](#arguments) + - [Successful message](#successful-message-1) + - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv) + - [Step 0. Python version checking](#step-0-python-version-checking-1) + - [Step 1. Installation](#step-1-installation-2) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-2) + - [Language Argument](#language-argument-2) + - [Commands](#commands-2) + - [Arguments](#arguments-1) + - [Option 4. Use Docker image](#option-4-use-docker-image) + - [Step 1. Build the docker image](#step-1-build-the-docker-image) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-3) + - [Arguments](#arguments-2) + - [Successful message](#successful-message-2) + - [For Windows users](#for-windows-users) + - [Option 1. Download binary executable file](#option-1-download-binary-executable-file-1) + - [Step 1. Installation](#step-1-installation-3) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-4) + - [Language Argument](#language-argument-3) + - [Commands](#commands-3) + - [Arguments](#arguments-3) + - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python-1) + - [Step 0. Python version checking](#step-0-python-version-checking-2) + - [Step 1. Installation](#step-1-installation-4) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-5) + - [Language Argument](#language-argument-4) + - [Commands](#commands-4) + - [Arguments](#arguments-4) + - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv-1) + - [Step 0. Python version checking](#step-0-python-version-checking-3) + - [Step 1. Installation](#step-1-installation-5) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-6) + - [Language Argument](#language-argument-5) + - [Commands](#commands-5) + - [Arguments](#arguments-5) + - [Development](#development) + - [Install basic requirements](#install-basic-requirements) + - [Install testing requirements](#install-testing-requirements) + - [Run tests](#run-tests) + - [Building Binaries](#building-binaries) + - [Mac M1 Binaries](#mac-m1-binaries) @@ -85,7 +86,7 @@ You can find the audit report by Trail of Bits [here](https://github.com/trailof ### Build requirements -- [Python **3.8+**](https://www.python.org/about/gettingstarted/) +- [Python **3.12+**](https://www.python.org/about/gettingstarted/) - [pip3](https://pip.pypa.io/en/stable/installing/) ### For Linux or MacOS users @@ -198,7 +199,7 @@ You can use `bls-to-execution-change --help` to see all arguments. Note that if ##### Step 0. Python version checking -Ensure you are using Python version >= Python3.8: +Ensure you are using Python version >= Python3.12: ```sh python3 -V @@ -263,7 +264,7 @@ See [here](#successful-message) ##### Step 0. Python version checking -Ensure you are using Python version >= Python3.8: +Ensure you are using Python version >= Python3.12: ```sh python3 -V @@ -412,7 +413,7 @@ See [here](#generate-bls-to-execution-change-arguments) for `generate-bls-to-exe ##### Step 0. Python version checking -Ensure you are using Python version >= Python3.8 (Assume that you've installed Python 3 as the main Python): +Ensure you are using Python version >= Python12 (Assume that you've installed Python 3 as the main Python): ```sh python -V @@ -475,7 +476,7 @@ See [here](#generate-bls-to-execution-change-arguments) for `generate-bls-to-exe ##### Step 0. Python version checking -Ensure you are using Python version >= Python3.8 (Assume that you've installed Python 3 as the main Python): +Ensure you are using Python version >= Python3.12 (Assume that you've installed Python 3 as the main Python): ```cmd python -V diff --git a/requirements.txt b/requirements.txt index a936538e..f786622a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -56,8 +56,111 @@ pyrsistent==0.16.1 \ eth-hash==0.3.2 \ --hash=sha256:3f40cecd5ead88184aa9550afc19d057f103728108c5102f592f8415949b5a76 \ --hash=sha256:de7385148a8e0237ba1240cddbc06d53f56731140f8593bdb8429306f6b42271 -cytoolz==0.11.2 \ - --hash=sha256:ea23663153806edddce7e4153d1d407d62357c05120a4e8485bddf1bd5ab22b4 +cytoolz==0.12.3 \ + --hash=sha256:01cfb8518828c1189200c02a5010ea404407fb18fd5589e29c126e84bbeadd36 \ + --hash=sha256:04afa90d9d9d18394c40d9bed48c51433d08b57c042e0e50c8c0f9799735dcbd \ + --hash=sha256:08a438701c6141dd34eaf92e9e9a1f66e23a22f7840ef8a371eba274477de85d \ + --hash=sha256:0a79d72b08048a0980a59457c239555f111ac0c8bdc140c91a025f124104dbb4 \ + --hash=sha256:0ba1cbc4d9cd7571c917f88f4a069568e5121646eb5d82b2393b2cf84712cf2a \ + --hash=sha256:0cf1e1e96dd86829a0539baf514a9c8473a58fbb415f92401a68e8e52a34ecd5 \ + --hash=sha256:0d8edfbc694af6c9bda4db56643fb8ed3d14e47bec358c2f1417de9a12d6d1fb \ + --hash=sha256:0e9199c9e3fbf380a92b8042c677eb9e7ed4bccb126de5e9c0d26f5888d96788 \ + --hash=sha256:0fbad1fb9bb47e827d00e01992a099b0ba79facf5e5aa453be066033232ac4b5 \ + --hash=sha256:131ff4820e5d64a25d7ad3c3556f2d8aa65c66b3f021b03f8a8e98e4180dd808 \ + --hash=sha256:1651a9bd591a8326329ce1d6336f3129161a36d7061a4d5ea9e5377e033364cf \ + --hash=sha256:18cd61e078bd6bffe088e40f1ed02001387c29174750abce79499d26fa57f5eb \ + --hash=sha256:1c18e351956f70db9e2d04ff02f28e9a41839250d3f936a4c8a1eabd1c3094d2 \ + --hash=sha256:1dd70141b32b717696a72b8876e86bc9c6f8eff995c1808e299db3541213ff82 \ + --hash=sha256:1f501ae1353071fa5d6677437bbeb1aeb5622067dce0977cedc2c5ec5843b202 \ + --hash=sha256:20d36430d8ac809186736fda735ee7d595b6242bdb35f69b598ef809ebfa5605 \ + --hash=sha256:27513a5d5b6624372d63313574381d3217a66e7a2626b056c695179623a5cb1a \ + --hash=sha256:2905fdccacc64b4beba37f95cab9d792289c80f4d70830b70de2fc66c007ec01 \ + --hash=sha256:2c6dd75dae3d84fa8988861ab8b1189d2488cb8a9b8653828f9cd6126b5e7abd \ + --hash=sha256:33c63186f3bf9d7ef1347bc0537bb9a0b4111a0d7d6e619623cabc18fef0dc3b \ + --hash=sha256:37441bf4a2a4e2e0fe9c3b0ea5e72db352f5cca03903977ffc42f6f6c5467be9 \ + --hash=sha256:3ac4f2fb38bbc67ff1875b7d2f0f162a247f43bd28eb7c9d15e6175a982e558d \ + --hash=sha256:4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282 \ + --hash=sha256:456395d7aec01db32bf9e6db191d667347c78d8d48e77234521fa1078f60dabb \ + --hash=sha256:46f505d4c6eb79585c8ad0b9dc140ef30a138c880e4e3b40230d642690e36366 \ + --hash=sha256:47feb089506fc66e1593cd9ade3945693a9d089a445fbe9a11385cab200b9f22 \ + --hash=sha256:4fba0616fcd487e34b8beec1ad9911d192c62e758baa12fcb44448b9b6feae22 \ + --hash=sha256:534fa66db8564d9b13872d81d54b6b09ae592c585eb826aac235bd6f1830f8ad \ + --hash=sha256:55f9bd1ae6c2a27eda5abe2a0b65a83029d2385c5a1da7b8ef47af5905d7e905 \ + --hash=sha256:56f899758146a52e2f8cfb3fb6f4ca19c1e5814178c3d584de35f9e4d7166d91 \ + --hash=sha256:581f1ce479769fe7eeb9ae6d87eadb230df8c7c5fff32138162cdd99d7fb8fc3 \ + --hash=sha256:582c22f97a380211fb36a7b65b1beeb84ea11d82015fa84b054be78580390082 \ + --hash=sha256:59276021619b432a5c21c01cda8320b9cc7dbc40351ffc478b440bfccd5bbdd3 \ + --hash=sha256:59b19223e7f7bd7a73ec3aa6fdfb73b579ff09c2bc0b7d26857eec2d01a58c76 \ + --hash=sha256:6986632d8a969ea1e720990c818dace1a24c11015fd7c59b9fea0b65ef71f726 \ + --hash=sha256:6c2875bcd1397d0627a09a4f9172fa513185ad302c63758efc15b8eb33cc2a98 \ + --hash=sha256:6d3bfe45173cc8e6c76206be3a916d8bfd2214fb2965563e288088012f1dabfc \ + --hash=sha256:6f6e8207d732651e0204779e1ba5a4925c93081834570411f959b80681f8d333 \ + --hash=sha256:71b6eb97f6695f7ba8ce69c49b707a351c5f46fd97f5aeb5f6f2fb0d6e72b887 \ + --hash=sha256:727b01a2004ddb513496507a695e19b5c0cfebcdfcc68349d3efd92a1c297bf4 \ + --hash=sha256:765b8381d4003ceb1a07896a854eee2c31ebc950a4ae17d1e7a17c2a8feb2a68 \ + --hash=sha256:780c06110f383344d537f48d9010d79fa4f75070d214fc47f389357dd4f010b6 \ + --hash=sha256:7ad1331cb68afeec58469c31d944a2100cee14eac221553f0d5218ace1a0b25d \ + --hash=sha256:7d267ffc9a36c0a9a58c7e0adc9fa82620f22e4a72533e15dd1361f57fc9accf \ + --hash=sha256:800f0526adf9e53d3c6acda748f4def1f048adaa780752f154da5cf22aa488a2 \ + --hash=sha256:8119bf5961091cfe644784d0bae214e273b3b3a479f93ee3baab97bbd995ccfe \ + --hash=sha256:8587c3c3dbe78af90c5025288766ac10dc2240c1e76eb0a93a4e244c265ccefd \ + --hash=sha256:86923d823bd19ce35805953b018d436f6b862edd6a7c8b747a13d52b39ed5716 \ + --hash=sha256:8893223b87c2782bd59f9c4bd5c7bf733edd8728b523c93efb91d7468b486528 \ + --hash=sha256:8e21932d6d260996f7109f2a40b2586070cb0a0cf1d65781e156326d5ebcc329 \ + --hash=sha256:921e6d2440ac758c4945c587b1d1d9b781b72737ac0c0ca5d5e02ca1db8bded2 \ + --hash=sha256:92b6f43f086e5a965d33d62a145ae121b4ccb6e0789ac0acc895ce084fec8c65 \ + --hash=sha256:92c53d508fb8a4463acc85b322fa24734efdc66933a5c8661bdc862103a3373d \ + --hash=sha256:95e878868a172a41fbf6c505a4b967309e6870e22adc7b1c3b19653d062711fa \ + --hash=sha256:96a5a0292575c3697121f97cc605baf2fd125120c7dcdf39edd1a135798482ca \ + --hash=sha256:96c715404a3825e37fe3966fe84c5f8a1f036e7640b2a02dbed96cac0c933451 \ + --hash=sha256:99462abd8323c52204a2a0ce62454ce8fa0f4e94b9af397945c12830de73f27e \ + --hash=sha256:9bac0adffc1b6b6a4c5f1fd1dd2161afb720bcc771a91016dc6bdba59af0a5d3 \ + --hash=sha256:9e04d22049233394e0b08193aca9737200b4a2afa28659d957327aa780ddddf2 \ + --hash=sha256:9e45803d9e75ef90a2f859ef8f7f77614730f4a8ce1b9244375734567299d239 \ + --hash=sha256:9eef0d23035fa4dcfa21e570961e86c375153a7ee605cdd11a8b088c24f707f6 \ + --hash=sha256:a1445c91009eb775d479e88954c51d0b4cf9a1e8ce3c503c2672d17252882647 \ + --hash=sha256:a3e61acfd029bfb81c2c596249b508dfd2b4f72e31b7b53b62e5fb0507dd7293 \ + --hash=sha256:a447247ed312dd64e3a8d9483841ecc5338ee26d6e6fbd29cd373ed030db0240 \ + --hash=sha256:a7fde09384d23048a7b4ac889063761e44b89a0b64015393e2d1d21d5c1f534a \ + --hash=sha256:a83f4532707963ae1a5108e51fdfe1278cc8724e3301fee48b9e73e1316de64f \ + --hash=sha256:b4a52dd2a36b0a91f7aa50ca6c8509057acc481a24255f6cb07b15d339a34e0f \ + --hash=sha256:b76f2f50a789c44d6fd7f773ec43d2a8686781cd52236da03f7f7d7998989bee \ + --hash=sha256:ba3f843aa89f35467b38c398ae5b980a824fdbdb94065adc6ec7c47a0a22f4c7 \ + --hash=sha256:ba9002d2f043943744a9dc8e50a47362bcb6e6f360dc0a1abcb19642584d87bb \ + --hash=sha256:bbe58e26c84b163beba0fbeacf6b065feabc8f75c6d3fe305550d33f24a2d346 \ + --hash=sha256:be6feb903d2a08a4ba2e70e950e862fd3be9be9a588b7c38cee4728150a52918 \ + --hash=sha256:bfa3f8e01bc423a933f2e1c510cbb0632c6787865b5242857cc955cae220d1bf \ + --hash=sha256:c51b66ada9bfdb88cf711bf350fcc46f82b83a4683cf2413e633c31a64df6201 \ + --hash=sha256:c64f8e60c1dd69e4d5e615481f2d57937746f4a6be2d0f86e9e7e3b9e2243b5e \ + --hash=sha256:c6b6f11b0d7ed91be53166aeef2a23a799e636625675bb30818f47f41ad31821 \ + --hash=sha256:c835eab01466cb67d0ce6290601ebef2d82d8d0d0a285ed0d6e46989e4a7a71a \ + --hash=sha256:ca6a9a9300d5bda417d9090107c6d2b007683efc59d63cc09aca0e7930a08a85 \ + --hash=sha256:caf07a97b5220e6334dd32c8b6d8b2bd255ca694eca5dfe914bb5b880ee66cdb \ + --hash=sha256:cd88028bb897fba99ddd84f253ca6bef73ecb7bdf3f3cf25bc493f8f97d3c7c5 \ + --hash=sha256:cee3de65584e915053412cd178729ff510ad5f8f585c21c5890e91028283518f \ + --hash=sha256:d028044524ee2e815f36210a793c414551b689d4f4eda28f8bbb0883ad78bf5f \ + --hash=sha256:d0976a3fcb81d065473173e9005848218ce03ddb2ec7d40dd6a8d2dba7f1c3ae \ + --hash=sha256:d294e5e81ff094fe920fd545052ff30838ea49f9e91227a55ecd9f3ca19774a0 \ + --hash=sha256:d2d271393c378282727f1231d40391ae93b93ddc0997448acc21dd0cb6a1e56d \ + --hash=sha256:d9a38332cfad2a91e89405b7c18b3f00e2edc951c225accbc217597d3e4e9fde \ + --hash=sha256:da125221b1fa25c690fcd030a54344cecec80074df018d906fc6a99f46c1e3a6 \ + --hash=sha256:dc1ca9c610425f9854323669a671fc163300b873731584e258975adf50931164 \ + --hash=sha256:dd728f4e6051af6af234651df49319da1d813f47894d4c3c8ab7455e01703a37 \ + --hash=sha256:de74ef266e2679c3bf8b5fc20cee4fc0271ba13ae0d9097b1491c7a9bcadb389 \ + --hash=sha256:e44f4c25e1e7cf6149b499c74945a14649c8866d36371a2c2d2164e4649e7755 \ + --hash=sha256:e4d2961644153c5ae186db964aa9f6109da81b12df0f1d3494b4e5cf2c332ee2 \ + --hash=sha256:e70d9c615e5c9dc10d279d1e32e846085fe1fd6f08d623ddd059a92861f4e3dd \ + --hash=sha256:ec9be3e4b6f86ea8b294d34c990c99d2ba6c526ef1e8f46f1d52c263d4f32cd7 \ + --hash=sha256:ed0cfb9326747759e2ad81cb6e45f20086a273b67ac3a4c00b19efcbab007c60 \ + --hash=sha256:ee98968d6a66ee83a8ceabf31182189ab5d8598998c8ce69b6d5843daeb2db60 \ + --hash=sha256:f04037302049cb30033f7fa4e1d0e44afe35ed6bfcf9b380fc11f2a27d3ed697 \ + --hash=sha256:f1ebe23028eac51251f22ba01dba6587d30aa9c320372ca0c14eeab67118ec3f \ + --hash=sha256:f37b60e66378e7a116931d7220f5352186abfcc950d64856038aa2c01944929c \ + --hash=sha256:f702e295dddef5f8af4a456db93f114539b8dc2a7a9bc4de7c7e41d169aa6ec3 \ + --hash=sha256:fdddb9d988405f24035234f1e8d1653ab2e48cc2404226d21b49a129aefd1d25 \ + --hash=sha256:fe1e1779a39dbe83f13886d2b4b02f8c4b10755e3c8d9a89b630395f49f4f406 \ + --hash=sha256:fe8c6267caa7ec67bcc37e360f0d8a26bc3bdce510b15b97f2f2e0143bdd3673 \ + --hash=sha256:fea649f979def23150680de1bd1d09682da3b54932800a0f90f29fc2a6c98ba8 toolz==0.11.2 \ --hash=sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33 \ --hash=sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f @@ -67,3 +170,6 @@ six==1.16.0 \ cached-property==1.5.2 \ --hash=sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130 \ --hash=sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0 +setuptools==69.1.0 \ + --hash=sha256:850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401 \ + --hash=sha256:c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6 diff --git a/requirements_test.txt b/requirements_test.txt index 0a4f031f..326e475e 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -8,9 +8,9 @@ pytest==7.1.0 \ pytest-asyncio==0.18.2 \ --hash=sha256:20db0bdd3d7581b2e11f5858a5d9541f2db9cd8c5853786f94ad273d466c8c6d \ --hash=sha256:fc8e4190f33fee7797cc7f1829f46a82c213f088af5d1bb5d4e454fe87e6cdc2 -flake8==4.0.1 \ - --hash=sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d \ - --hash=sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d +flake8==7.0.0 \ + --hash=sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132 \ + --hash=sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3 mypy==0.941 \ --hash=sha256:080097eee5393fd740f32c63f9343580aaa0fb1cda0128fd859dfcf081321c3d \ --hash=sha256:0d3bcbe146247997e03bf030122000998b076b3ac6925b0b6563f46d1ce39b50 \ @@ -52,38 +52,18 @@ attrs==21.4.0 \ entrypoints==0.4 \ --hash=sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4 \ --hash=sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f -pycodestyle==2.8.0 \ - --hash=sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20 \ - --hash=sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f -pyflakes==2.4.0 \ - --hash=sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c \ - --hash=sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e -mccabe==0.6.1 \ - --hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 \ - --hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f +pycodestyle==2.11.1 \ + --hash=sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f \ + --hash=sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67 +pyflakes==3.2.0 \ + --hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \ + --hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a +mccabe==0.7.0 \ + --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ + --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e typing-extensions==4.1.1 \ --hash=sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42 \ --hash=sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2 -typed-ast==1.5.2 \ - --hash=sha256:18fe320f354d6f9ad3147859b6e16649a0781425268c4dde596093177660e71a \ - --hash=sha256:bc2542e83ac8399752bc16e0b35e038bdb659ba237f4222616b4e83fb9654985 \ - --hash=sha256:74cac86cc586db8dfda0ce65d8bcd2bf17b58668dfcc3652762f3ef0e6677e76 \ - --hash=sha256:676d051b1da67a852c0447621fdd11c4e104827417bf216092ec3e286f7da596 \ - --hash=sha256:183b183b7771a508395d2cbffd6db67d6ad52958a5fdc99f450d954003900266 \ - --hash=sha256:df05aa5b241e2e8045f5f4367a9f6187b09c4cdf8578bb219861c4e27c443db5 \ - --hash=sha256:42c47c3b43fe3a39ddf8de1d40dbbfca60ac8530a36c9b198ea5b9efac75c09e \ - --hash=sha256:f290617f74a610849bd8f5514e34ae3d09eafd521dceaa6cf68b3f4414266d4e \ - --hash=sha256:1098df9a0592dd4c8c0ccfc2e98931278a6c6c53cb3a3e2cf7e9ee3b06153344 \ - --hash=sha256:33b4a19ddc9fc551ebabca9765d54d04600c4a50eda13893dadf67ed81d9a098 \ - --hash=sha256:da0a98d458010bf4fe535f2d1e367a2e2060e105978873c04c04212fb20543f7 \ - --hash=sha256:c29dd9a3a9d259c9fa19d19738d021632d673f6ed9b35a739f48e5f807f264fb \ - --hash=sha256:58ae097a325e9bb7a684572d20eb3e1809802c5c9ec7108e85da1eb6c1a3331b \ - --hash=sha256:bbebc31bf11762b63bf61aaae232becb41c5bf6b3461b80a4df7e791fabb3aca \ - --hash=sha256:90904d889ab8e81a956f2c0935a523cc4e077c7847a836abee832f868d5c26a4 \ - --hash=sha256:8c08d6625bb258179b6e512f55ad20f9dfef019bbfbe3095247401e053a3ea30 \ - --hash=sha256:c7407cfcad702f0b6c0e0f3e7ab876cd1d2c13b14ce770e412c0c4b9728a0f88 \ - --hash=sha256:f30ddd110634c2d7534b2d4e0e22967e88366b0d356b24de87419cc4410c41b7 \ - --hash=sha256:26a432dc219c6b6f38be20a958cbe1abffcc5492821d7e27f08606ef99e0dffd packaging==21.3 \ --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 diff --git a/setup.py b/setup.py index 4003f37e..cc18f91b 100644 --- a/setup.py +++ b/setup.py @@ -9,5 +9,5 @@ version='2.7.0', py_modules=["staking_deposit"], packages=find_packages(exclude=('tests', 'docs')), - python_requires=">=3.8,<4", + python_requires=">=3.12,<4", ) diff --git a/staking_deposit/cli/generate_keys.py b/staking_deposit/cli/generate_keys.py index 9163d55c..5f57a873 100644 --- a/staking_deposit/cli/generate_keys.py +++ b/staking_deposit/cli/generate_keys.py @@ -83,8 +83,8 @@ def generate_keys_arguments_decorator(function: Callable[..., Any]) -> Callable[ jit_option( callback=captive_prompt_callback( validate_password_strength, - lambda:load_text(['keystore_password', 'prompt'], func='generate_keys_arguments_decorator'), - lambda:load_text(['keystore_password', 'confirm'], func='generate_keys_arguments_decorator'), + lambda: load_text(['keystore_password', 'prompt'], func='generate_keys_arguments_decorator'), + lambda: load_text(['keystore_password', 'confirm'], func='generate_keys_arguments_decorator'), lambda: load_text(['keystore_password', 'mismatch'], func='generate_keys_arguments_decorator'), True, ), diff --git a/staking_deposit/intl/ar/deposit.json b/staking_deposit/intl/ar/deposit.json index 45136718..d6ad5939 100644 --- a/staking_deposit/intl/ar/deposit.json +++ b/staking_deposit/intl/ar/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "إصدار بايثون الخاص بك غير كافٍ، يرجى تثبيت الإصدار 3.8 أو الأحدث." + "err_python_version": "إصدار بايثون الخاص بك غير كافٍ، يرجى تثبيت الإصدار 3.12 أو الأحدث." } } \ No newline at end of file diff --git a/staking_deposit/intl/el/deposit.json b/staking_deposit/intl/el/deposit.json index 42858841..b0d3e979 100644 --- a/staking_deposit/intl/el/deposit.json +++ b/staking_deposit/intl/el/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Η έκδοση python σας δεν είναι επαρκής, εγκαταστήστε την έκδοση 3.8 ή μεγαλύτερη." + "err_python_version": "Η έκδοση python σας δεν είναι επαρκής, εγκαταστήστε την έκδοση 3.12 ή μεγαλύτερη." } } \ No newline at end of file diff --git a/staking_deposit/intl/en/deposit.json b/staking_deposit/intl/en/deposit.json index 5af17d1a..5e5a2bc2 100644 --- a/staking_deposit/intl/en/deposit.json +++ b/staking_deposit/intl/en/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Your python version is insufficient, please install version 3.8 or greater." + "err_python_version": "Your python version is insufficient, please install version 3.12 or greater." } } \ No newline at end of file diff --git a/staking_deposit/intl/fr/deposit.json b/staking_deposit/intl/fr/deposit.json index 914f4082..20182954 100644 --- a/staking_deposit/intl/fr/deposit.json +++ b/staking_deposit/intl/fr/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Votre version de Python est insuffisante. Veuillez installer la version 3.8 ou supérieure." + "err_python_version": "Votre version de Python est insuffisante. Veuillez installer la version 3.12 ou supérieure." } } \ No newline at end of file diff --git a/staking_deposit/intl/id/deposit.json b/staking_deposit/intl/id/deposit.json index b1dc399a..96cd3a0e 100644 --- a/staking_deposit/intl/id/deposit.json +++ b/staking_deposit/intl/id/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Versi python Anda tidak cukup, harap instal versi 3.8 atau yang lebih baru." + "err_python_version": "Versi python Anda tidak cukup, harap instal versi 3.12 atau yang lebih baru." } } \ No newline at end of file diff --git a/staking_deposit/intl/it/deposit.json b/staking_deposit/intl/it/deposit.json index 05ee0761..d36be85f 100644 --- a/staking_deposit/intl/it/deposit.json +++ b/staking_deposit/intl/it/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "La tua versione di python non è sufficiente, installa la versione 3.8 o superiore." + "err_python_version": "La tua versione di python non è sufficiente, installa la versione 3.12 o superiore." } } \ No newline at end of file diff --git a/staking_deposit/intl/ja/deposit.json b/staking_deposit/intl/ja/deposit.json index bdbced67..034fbc75 100644 --- a/staking_deposit/intl/ja/deposit.json +++ b/staking_deposit/intl/ja/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Python のバージョンが最新ではありません。バージョン 3.8 以降をインストールしてください。" + "err_python_version": "Python のバージョンが最新ではありません。バージョン 3.12 以降をインストールしてください。" } } \ No newline at end of file diff --git a/staking_deposit/intl/ko/deposit.json b/staking_deposit/intl/ko/deposit.json index 39ebf7a1..4c744473 100644 --- a/staking_deposit/intl/ko/deposit.json +++ b/staking_deposit/intl/ko/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Python 버전이 너무 낮습니다. 3.8 이상 버전을 설치하세요." + "err_python_version": "Python 버전이 너무 낮습니다. 3.12 이상 버전을 설치하세요." } } \ No newline at end of file diff --git a/staking_deposit/intl/pt-BR/deposit.json b/staking_deposit/intl/pt-BR/deposit.json index bf5bbbdc..e122c73c 100644 --- a/staking_deposit/intl/pt-BR/deposit.json +++ b/staking_deposit/intl/pt-BR/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Sua versão do python é insuficiente, por favor instale a versão 3.8 ou superior." + "err_python_version": "Sua versão do python é insuficiente, por favor instale a versão 3.12 ou superior." } } \ No newline at end of file diff --git a/staking_deposit/intl/ro/deposit.json b/staking_deposit/intl/ro/deposit.json index c592697b..be8d8e71 100644 --- a/staking_deposit/intl/ro/deposit.json +++ b/staking_deposit/intl/ro/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Versiunea de python este prea veche, te rugăm să instalezi versiunea 3.8 sau una mai recentă." + "err_python_version": "Versiunea de python este prea veche, te rugăm să instalezi versiunea 3.12 sau una mai recentă." } } \ No newline at end of file diff --git a/staking_deposit/intl/tr/deposit.json b/staking_deposit/intl/tr/deposit.json index b53983c9..6059ca19 100644 --- a/staking_deposit/intl/tr/deposit.json +++ b/staking_deposit/intl/tr/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "Python sürümünüz yetersiz, lütfen 3.8 sürümü veya daha yenisini yükleyin." + "err_python_version": "Python sürümünüz yetersiz, lütfen 3.12 sürümü veya daha yenisini yükleyin." } } diff --git a/staking_deposit/intl/zh-CN/deposit.json b/staking_deposit/intl/zh-CN/deposit.json index ae98045d..e820fa1b 100644 --- a/staking_deposit/intl/zh-CN/deposit.json +++ b/staking_deposit/intl/zh-CN/deposit.json @@ -1,5 +1,5 @@ { "check_python_version": { - "err_python_version": "您的 python 版本不足,请安装 3.8 或以上版本。" + "err_python_version": "您的 python 版本不足,请安装 3.12 或以上版本。" } } \ No newline at end of file diff --git a/staking_deposit/key_handling/keystore.py b/staking_deposit/key_handling/keystore.py index 75bcddba..195ef159 100644 --- a/staking_deposit/key_handling/keystore.py +++ b/staking_deposit/key_handling/keystore.py @@ -61,9 +61,9 @@ class KeystoreModule(BytesDataclass): @dataclass class KeystoreCrypto(BytesDataclass): - kdf: KeystoreModule = KeystoreModule() - checksum: KeystoreModule = KeystoreModule() - cipher: KeystoreModule = KeystoreModule() + kdf: KeystoreModule = dataclass_field(default_factory=KeystoreModule) + checksum: KeystoreModule = dataclass_field(default_factory=KeystoreModule) + cipher: KeystoreModule = dataclass_field(default_factory=KeystoreModule) @classmethod def from_json(cls, json_dict: Dict[Any, Any]) -> 'KeystoreCrypto': @@ -81,7 +81,7 @@ class Keystore(BytesDataclass): Ref: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2335.md """ - crypto: KeystoreCrypto = KeystoreCrypto() + crypto: KeystoreCrypto = dataclass_field(default_factory=KeystoreCrypto) description: str = '' pubkey: str = '' path: str = '' @@ -164,40 +164,44 @@ def decrypt(self, password: str) -> bytes: @dataclass class Pbkdf2Keystore(Keystore): - crypto: KeystoreCrypto = KeystoreCrypto( - kdf=KeystoreModule( - function='pbkdf2', - params={ - 'c': 2**18, - 'dklen': 32, - "prf": 'hmac-sha256' - }, - ), - checksum=KeystoreModule( - function='sha256', - ), - cipher=KeystoreModule( - function='aes-128-ctr', + crypto: KeystoreCrypto = dataclass_field( + default_factory=lambda: KeystoreCrypto( + kdf=KeystoreModule( + function='pbkdf2', + params={ + 'c': 2**18, + 'dklen': 32, + "prf": 'hmac-sha256' + }, + ), + checksum=KeystoreModule( + function='sha256', + ), + cipher=KeystoreModule( + function='aes-128-ctr', + ) ) ) @dataclass class ScryptKeystore(Keystore): - crypto: KeystoreCrypto = KeystoreCrypto( - kdf=KeystoreModule( - function='scrypt', - params={ - 'dklen': 32, - 'n': 2**18, - 'r': 8, - 'p': 1, - }, - ), - checksum=KeystoreModule( - function='sha256', - ), - cipher=KeystoreModule( - function='aes-128-ctr', + crypto: KeystoreCrypto = dataclass_field( + default_factory=lambda: KeystoreCrypto( + kdf=KeystoreModule( + function='scrypt', + params={ + 'dklen': 32, + 'n': 2**18, + 'r': 8, + 'p': 1, + }, + ), + checksum=KeystoreModule( + function='sha256', + ), + cipher=KeystoreModule( + function='aes-128-ctr', + ) ) ) diff --git a/staking_deposit/utils/click.py b/staking_deposit/utils/click.py index ceb36d64..1d92f967 100644 --- a/staking_deposit/utils/click.py +++ b/staking_deposit/utils/click.py @@ -16,7 +16,7 @@ def _value_of(f: Union[Callable[[], Any], Any]) -> Any: ''' If the input, f, is a function, return f(), else return f. ''' - return(f() if callable(f) else f) + return (f() if callable(f) else f) class JITOption(click.Option): diff --git a/tox.ini b/tox.ini index 843680d1..d7342dfb 100644 --- a/tox.ini +++ b/tox.ini @@ -1,15 +1,14 @@ [tox] envlist= - py{310,38}-core - py{310,38}-lint - py{310,38}-script + py312-core + py312-lint + py312-script [testenv] passenv= PYTEST_ADDOPTS basepython= - py310: python3.10 - py38: python3.8 + py312: python3.12 [common-install] deps= @@ -34,26 +33,14 @@ commands= python {toxinidir}/test_deposit_script.py python {toxinidir}/test_btec_script.py -[testenv:py310-core] +[testenv:py312-core] deps={[common-core]deps} commands={[common-core]commands} -[testenv:py38-core] -deps={[common-core]deps} -commands={[common-core]commands} - -[testenv:py310-lint] +[testenv:py312-lint] deps={[common-lint]deps} commands={[common-lint]commands} -[testenv:py38-lint] -deps={[common-lint]deps} -commands={[common-lint]commands} - -[testenv:py310-script] -deps={[common-script]deps} -commands={[common-script]commands} - -[testenv:py38-script] +[testenv:py312-script] deps={[common-script]deps} commands={[common-script]commands} From cd3fd09f1f444c35cf045e6df7cf2b0ef95e9299 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Thu, 22 Feb 2024 16:11:36 -0700 Subject: [PATCH 02/20] Update ci OS versions --- .circleci/config.yml | 12 ++++++------ Dockerfile | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4eb110d1..182c8151 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,4 @@ -version: 2.2 +version: 2.3 tox_common: &tox_common working_directory: ~/repo @@ -19,7 +19,7 @@ tox_common: &tox_common key: tox-deps4-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }} orbs: - win: circleci/windows@2.2.0 # The Windows orb give you everything you need to start using the Windows executor. + win: circleci/windows@5.0 # The Windows orb give you everything you need to start using the Windows executor. jobs: # Job(s) with Linux OS @@ -98,7 +98,7 @@ jobs: command: python ./test_btec_script.py build-linux-amd64: machine: - image: ubuntu-2004:202201-02 + image: ubuntu-2204:2024.01.1 working_directory: ~/repo steps: - checkout @@ -145,7 +145,7 @@ jobs: path: /tmp/artifacts build-linux-arm64: machine: - image: ubuntu-2004:202201-02 + image: ubuntu-2204:2024.01.1 resource_class: arm.medium working_directory: ~/repo steps: @@ -242,7 +242,7 @@ jobs: path: /tmp/artifacts build-macos: macos: - xcode: 13.4.1 + xcode: 15.1.0 working_directory: ~/repo steps: - run: xcodebuild -version @@ -287,7 +287,7 @@ jobs: path: /tmp/artifacts workflows: - version: 2.2 + version: 2.3 all_test: jobs: - venv_build diff --git a/Dockerfile b/Dockerfile index 265ebf55..cc036adb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:alpine3.14 +FROM python:alpine3.19 WORKDIR /app From 7a830a49d89c87133581ad624339b49464b0678f Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 10:48:42 -0700 Subject: [PATCH 03/20] undo mistaken .circleci version bump --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 182c8151..fe5dadde 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,4 @@ -version: 2.3 +version: 2.1 tox_common: &tox_common working_directory: ~/repo @@ -287,7 +287,7 @@ jobs: path: /tmp/artifacts workflows: - version: 2.3 + version: 2.1 all_test: jobs: - venv_build From 5ec115e714bb44bac2b720a5cee45068de2f8599 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 11:33:13 -0700 Subject: [PATCH 04/20] Update build packages & move common requirements into its own requirements.txt --- build_configs/common/requirements.txt | 94 ++++++++++++++++++ build_configs/linux/requirements.txt | 92 +---------------- build_configs/macos/requirements.txt | 92 +---------------- build_configs/windows/requirements.txt | 132 +++++-------------------- 4 files changed, 121 insertions(+), 289 deletions(-) create mode 100644 build_configs/common/requirements.txt diff --git a/build_configs/common/requirements.txt b/build_configs/common/requirements.txt new file mode 100644 index 00000000..3258c5f4 --- /dev/null +++ b/build_configs/common/requirements.txt @@ -0,0 +1,94 @@ +# Install the requirements for the program +-r ../../requirements.txt + +# Build tools for binary distribution +pyinstaller==6.4.0 \ + --hash=sha256:11e6da6a6e441379352ee460a8880f2633dac91dac0f5a9eeff5d449d459b046 \ + --hash=sha256:1bf608ed947b58614711275a7ff169289b32560dc97ec748ebd5fa8bdec80649 \ + --hash=sha256:28b98fa3c74602bdc4c5a7698e907f31e714cc40a13f6358082bcbc74ddab35c \ + --hash=sha256:3127724d1841f785a9916d7b4cfd9595f359925e9ce7d137a16db8c29ca8453b \ + --hash=sha256:3ae62cf8858ec4dc54df6fa03d29bc78297e3c87caf532887eae8c3893be0789 \ + --hash=sha256:78fb66ca753ef8becdf059eaa1e764d384cacb8c2ec76800126f8c9ef6d19a50 \ + --hash=sha256:a2e63fa71784f290bbf79b31b60a27c45b17a18b8c7f910757f9474e0c12c95d \ + --hash=sha256:a37f83850cb150ad1e00fe92acecc4d39b8e10162a1850a5836a05fcb2daa870 \ + --hash=sha256:c7bc0fbea8a9010484cfa7d3856416003af73271f03ca3da4bc0eaf14680ad17 \ + --hash=sha256:e07cff584600647af7dc279dd04c60cd1b4b1b41947b0753f8fcf1969300a583 \ + --hash=sha256:e3e1e6922a4260dcacf6f5655b0ca857451e05ac502d01642935d0f2873ad3c7 \ + --hash=sha256:ec8a08c983e3febb0247893cd9bd59f55b6767a1f649cb41a0a129b8f04ff2cb +cffi==1.16.0 \ + --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \ + --hash=sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a \ + --hash=sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417 \ + --hash=sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab \ + --hash=sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520 \ + --hash=sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36 \ + --hash=sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743 \ + --hash=sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8 \ + --hash=sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed \ + --hash=sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684 \ + --hash=sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56 \ + --hash=sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324 \ + --hash=sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d \ + --hash=sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235 \ + --hash=sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e \ + --hash=sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088 \ + --hash=sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000 \ + --hash=sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7 \ + --hash=sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e \ + --hash=sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673 \ + --hash=sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c \ + --hash=sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe \ + --hash=sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2 \ + --hash=sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098 \ + --hash=sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8 \ + --hash=sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a \ + --hash=sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0 \ + --hash=sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b \ + --hash=sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896 \ + --hash=sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e \ + --hash=sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9 \ + --hash=sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2 \ + --hash=sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b \ + --hash=sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6 \ + --hash=sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404 \ + --hash=sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f \ + --hash=sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 \ + --hash=sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4 \ + --hash=sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc \ + --hash=sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936 \ + --hash=sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba \ + --hash=sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872 \ + --hash=sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb \ + --hash=sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614 \ + --hash=sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1 \ + --hash=sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d \ + --hash=sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969 \ + --hash=sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b \ + --hash=sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4 \ + --hash=sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627 \ + --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \ + --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357 +pycparser==2.21 \ + --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ + --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 +altgraph==0.17.4 \ + --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ + --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff +macholib==1.16.3 \ + --hash=sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30 \ + --hash=sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c +pyinstaller-hooks-contrib==2024.1 \ + --hash=sha256:131494f9cfce190aaa66ed82e82c78b2723d1720ce64d012fbaf938f4ab01d35 \ + --hash=sha256:51a51ea9e1ae6bd5ffa7ec45eba7579624bf4f2472ff56dba0edc186f6ed46a6 +importlib-metadata==7.0.1 \ + --hash=sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e \ + --hash=sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc +zipp==3.17.0 \ + --hash=sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31 \ + --hash=sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0 +typing-extensions==4.9.0 \ + --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ + --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd +packaging==23.2 \ + --hash=sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5 \ + --hash=sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7 diff --git a/build_configs/linux/requirements.txt b/build_configs/linux/requirements.txt index 04bcfe8b..8836e7c5 100644 --- a/build_configs/linux/requirements.txt +++ b/build_configs/linux/requirements.txt @@ -1,91 +1 @@ -# Install the requirements for the program --r ../../requirements.txt - -# Build tools for binary distribution -pyinstaller==4.10 \ - --hash=sha256:05c21117b84199272ebd355b556af4714f6e79245e1c435d6f16653786d7d17e \ - --hash=sha256:0dcaf6557cdb2da763c46e06e95a94a7634ab03fb09d91bc77988b01ee05c907 \ - --hash=sha256:15557cd1a79d182967f0a5040750e6902e13ebd6cab41e3ed84d7b28a306357b \ - --hash=sha256:581620bdcd32f01e89b13231256b807bb090e7eadf40c81c864ec402afa4758a \ - --hash=sha256:70c71e827f4b34602cbc7a0947a067b662c1cbdc4db51832e13b97cca3c54dd7 \ - --hash=sha256:714c4dcc319a41416744d1e30c6317405dfaed80d2adc45f8bfa70dc7367e664 \ - --hash=sha256:7749c868d2e2dc84df7d6f65437226183c8a366f3a99bb2737785625c3a3cca1 \ - --hash=sha256:7d94518ba1f8e9a8577345312276891ad7d6cd9785e453e9951b35647e2c7078 \ - --hash=sha256:cfed0b3a43e73550a43a094610328109564710b9514afa093ef7199d072cae87 \ - --hash=sha256:d4f79c0a774451f12baca4e476376418f011fa3039dde8fd172ea2aa8ff67bad \ - --hash=sha256:f2166ff2cd95eefb0d377ae8d1071f186fa25edd410ede65b376162d5ec41909 -setuptools==65.5.1 \ - --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ - --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f -cffi==1.15.0 \ - --hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \ - --hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \ - --hash=sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636 \ - --hash=sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20 \ - --hash=sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728 \ - --hash=sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27 \ - --hash=sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66 \ - --hash=sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443 \ - --hash=sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0 \ - --hash=sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7 \ - --hash=sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39 \ - --hash=sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605 \ - --hash=sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a \ - --hash=sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37 \ - --hash=sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029 \ - --hash=sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139 \ - --hash=sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc \ - --hash=sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df \ - --hash=sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14 \ - --hash=sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880 \ - --hash=sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2 \ - --hash=sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a \ - --hash=sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e \ - --hash=sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474 \ - --hash=sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024 \ - --hash=sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8 \ - --hash=sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0 \ - --hash=sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e \ - --hash=sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a \ - --hash=sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e \ - --hash=sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032 \ - --hash=sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6 \ - --hash=sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e \ - --hash=sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b \ - --hash=sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e \ - --hash=sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 \ - --hash=sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962 \ - --hash=sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c \ - --hash=sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4 \ - --hash=sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55 \ - --hash=sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962 \ - --hash=sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023 \ - --hash=sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c \ - --hash=sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6 \ - --hash=sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8 \ - --hash=sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382 \ - --hash=sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7 \ - --hash=sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc \ - --hash=sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 \ - --hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796 -pycparser==2.21 \ - --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ - --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 -altgraph==0.17.2 \ - --hash=sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857 \ - --hash=sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158 -macholib==1.15.2 \ - --hash=sha256:1542c41da3600509f91c165cb897e7e54c0e74008bd8da5da7ebbee519d593d2 \ - --hash=sha256:885613dd02d3e26dbd2b541eb4cc4ce611b841f827c0958ab98656e478b9e6f6 -pyinstaller-hooks-contrib==2022.2 \ - --hash=sha256:7605e440ccb55904cb2a87d72e83642ef176fb7030c77e52ac4d9679bb3d1537 \ - --hash=sha256:ab1d14fe053016fff7b0c6aea51d980bac6d02114b04063b46ef7dac70c70e1e -importlib-metadata==4.11.3 \ - --hash=sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6 \ - --hash=sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539 -zipp==3.7.0 \ - --hash=sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d \ - --hash=sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375 -typing-extensions==4.1.1 \ - --hash=sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42 \ - --hash=sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2 +-r ../common/requirements.txt \ No newline at end of file diff --git a/build_configs/macos/requirements.txt b/build_configs/macos/requirements.txt index 04bcfe8b..a2e9c418 100644 --- a/build_configs/macos/requirements.txt +++ b/build_configs/macos/requirements.txt @@ -1,91 +1 @@ -# Install the requirements for the program --r ../../requirements.txt - -# Build tools for binary distribution -pyinstaller==4.10 \ - --hash=sha256:05c21117b84199272ebd355b556af4714f6e79245e1c435d6f16653786d7d17e \ - --hash=sha256:0dcaf6557cdb2da763c46e06e95a94a7634ab03fb09d91bc77988b01ee05c907 \ - --hash=sha256:15557cd1a79d182967f0a5040750e6902e13ebd6cab41e3ed84d7b28a306357b \ - --hash=sha256:581620bdcd32f01e89b13231256b807bb090e7eadf40c81c864ec402afa4758a \ - --hash=sha256:70c71e827f4b34602cbc7a0947a067b662c1cbdc4db51832e13b97cca3c54dd7 \ - --hash=sha256:714c4dcc319a41416744d1e30c6317405dfaed80d2adc45f8bfa70dc7367e664 \ - --hash=sha256:7749c868d2e2dc84df7d6f65437226183c8a366f3a99bb2737785625c3a3cca1 \ - --hash=sha256:7d94518ba1f8e9a8577345312276891ad7d6cd9785e453e9951b35647e2c7078 \ - --hash=sha256:cfed0b3a43e73550a43a094610328109564710b9514afa093ef7199d072cae87 \ - --hash=sha256:d4f79c0a774451f12baca4e476376418f011fa3039dde8fd172ea2aa8ff67bad \ - --hash=sha256:f2166ff2cd95eefb0d377ae8d1071f186fa25edd410ede65b376162d5ec41909 -setuptools==65.5.1 \ - --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ - --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f -cffi==1.15.0 \ - --hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \ - --hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \ - --hash=sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636 \ - --hash=sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20 \ - --hash=sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728 \ - --hash=sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27 \ - --hash=sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66 \ - --hash=sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443 \ - --hash=sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0 \ - --hash=sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7 \ - --hash=sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39 \ - --hash=sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605 \ - --hash=sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a \ - --hash=sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37 \ - --hash=sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029 \ - --hash=sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139 \ - --hash=sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc \ - --hash=sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df \ - --hash=sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14 \ - --hash=sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880 \ - --hash=sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2 \ - --hash=sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a \ - --hash=sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e \ - --hash=sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474 \ - --hash=sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024 \ - --hash=sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8 \ - --hash=sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0 \ - --hash=sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e \ - --hash=sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a \ - --hash=sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e \ - --hash=sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032 \ - --hash=sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6 \ - --hash=sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e \ - --hash=sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b \ - --hash=sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e \ - --hash=sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 \ - --hash=sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962 \ - --hash=sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c \ - --hash=sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4 \ - --hash=sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55 \ - --hash=sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962 \ - --hash=sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023 \ - --hash=sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c \ - --hash=sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6 \ - --hash=sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8 \ - --hash=sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382 \ - --hash=sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7 \ - --hash=sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc \ - --hash=sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 \ - --hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796 -pycparser==2.21 \ - --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ - --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 -altgraph==0.17.2 \ - --hash=sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857 \ - --hash=sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158 -macholib==1.15.2 \ - --hash=sha256:1542c41da3600509f91c165cb897e7e54c0e74008bd8da5da7ebbee519d593d2 \ - --hash=sha256:885613dd02d3e26dbd2b541eb4cc4ce611b841f827c0958ab98656e478b9e6f6 -pyinstaller-hooks-contrib==2022.2 \ - --hash=sha256:7605e440ccb55904cb2a87d72e83642ef176fb7030c77e52ac4d9679bb3d1537 \ - --hash=sha256:ab1d14fe053016fff7b0c6aea51d980bac6d02114b04063b46ef7dac70c70e1e -importlib-metadata==4.11.3 \ - --hash=sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6 \ - --hash=sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539 -zipp==3.7.0 \ - --hash=sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d \ - --hash=sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375 -typing-extensions==4.1.1 \ - --hash=sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42 \ - --hash=sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2 +-r ../common/requirements.txt diff --git a/build_configs/windows/requirements.txt b/build_configs/windows/requirements.txt index 587de321..14a25c59 100644 --- a/build_configs/windows/requirements.txt +++ b/build_configs/windows/requirements.txt @@ -1,109 +1,27 @@ -# Install the requirements for the program --r ../../requirements.txt +-r ../common/requirements.txt # Build tools for binary distribution -pyinstaller==4.10 \ - --hash=sha256:05c21117b84199272ebd355b556af4714f6e79245e1c435d6f16653786d7d17e \ - --hash=sha256:0dcaf6557cdb2da763c46e06e95a94a7634ab03fb09d91bc77988b01ee05c907 \ - --hash=sha256:15557cd1a79d182967f0a5040750e6902e13ebd6cab41e3ed84d7b28a306357b \ - --hash=sha256:581620bdcd32f01e89b13231256b807bb090e7eadf40c81c864ec402afa4758a \ - --hash=sha256:70c71e827f4b34602cbc7a0947a067b662c1cbdc4db51832e13b97cca3c54dd7 \ - --hash=sha256:714c4dcc319a41416744d1e30c6317405dfaed80d2adc45f8bfa70dc7367e664 \ - --hash=sha256:7749c868d2e2dc84df7d6f65437226183c8a366f3a99bb2737785625c3a3cca1 \ - --hash=sha256:7d94518ba1f8e9a8577345312276891ad7d6cd9785e453e9951b35647e2c7078 \ - --hash=sha256:cfed0b3a43e73550a43a094610328109564710b9514afa093ef7199d072cae87 \ - --hash=sha256:d4f79c0a774451f12baca4e476376418f011fa3039dde8fd172ea2aa8ff67bad \ - --hash=sha256:f2166ff2cd95eefb0d377ae8d1071f186fa25edd410ede65b376162d5ec41909 -setuptools==65.5.1 \ - --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ - --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f -cffi==1.15.0 \ - --hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \ - --hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \ - --hash=sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636 \ - --hash=sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20 \ - --hash=sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728 \ - --hash=sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27 \ - --hash=sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66 \ - --hash=sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443 \ - --hash=sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0 \ - --hash=sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7 \ - --hash=sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39 \ - --hash=sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605 \ - --hash=sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a \ - --hash=sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37 \ - --hash=sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029 \ - --hash=sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139 \ - --hash=sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc \ - --hash=sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df \ - --hash=sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14 \ - --hash=sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880 \ - --hash=sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2 \ - --hash=sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a \ - --hash=sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e \ - --hash=sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474 \ - --hash=sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024 \ - --hash=sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8 \ - --hash=sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0 \ - --hash=sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e \ - --hash=sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a \ - --hash=sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e \ - --hash=sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032 \ - --hash=sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6 \ - --hash=sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e \ - --hash=sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b \ - --hash=sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e \ - --hash=sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 \ - --hash=sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962 \ - --hash=sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c \ - --hash=sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4 \ - --hash=sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55 \ - --hash=sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962 \ - --hash=sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023 \ - --hash=sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c \ - --hash=sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6 \ - --hash=sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8 \ - --hash=sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382 \ - --hash=sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7 \ - --hash=sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc \ - --hash=sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 \ - --hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796 -pycparser==2.21 \ - --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ - --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 -altgraph==0.17.2 \ - --hash=sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857 \ - --hash=sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158 -macholib==1.15.2 \ - --hash=sha256:1542c41da3600509f91c165cb897e7e54c0e74008bd8da5da7ebbee519d593d2 \ - --hash=sha256:885613dd02d3e26dbd2b541eb4cc4ce611b841f827c0958ab98656e478b9e6f6 -pefile==2021.9.3 \ - --hash=sha256:344a49e40a94e10849f0fe34dddc80f773a12b40675bf2f7be4b8be578bdd94a -future==0.18.2 \ - --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d -pywin32==303 \ - --hash=sha256:51cb52c5ec6709f96c3f26e7795b0bf169ee0d8395b2c1d7eb2c029a5008ed51 \ - --hash=sha256:5f9ec054f5a46a0f4dfd72af2ce1372f3d5a6e4052af20b858aa7df2df7d355b \ - --hash=sha256:6fed4af057039f309263fd3285d7b8042d41507343cd5fa781d98fcc5b90e8bb \ - --hash=sha256:793bf74fce164bcffd9d57bb13c2c15d56e43c9542a7b9687b4fccf8f8a41aba \ - --hash=sha256:79cbb862c11b9af19bcb682891c1b91942ec2ff7de8151e2aea2e175899cda34 \ - --hash=sha256:7d3271c98434617a11921c5ccf74615794d97b079e22ed7773790822735cc352 \ - --hash=sha256:b1675d82bcf6dbc96363fca747bac8bff6f6e4a447a4287ac652aa4b9adc796e \ - --hash=sha256:c268040769b48a13367221fced6d4232ed52f044ffafeda247bd9d2c6bdc29ca \ - --hash=sha256:d9b5d87ca944eb3aa4cd45516203ead4b37ab06b8b777c54aedc35975dec0dee \ - --hash=sha256:fcf44032f5b14fcda86028cdf49b6ebdaea091230eb0a757282aa656e4732439 -pywin32-ctypes==0.2.0 \ - --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98 \ - --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 -pyinstaller-hooks-contrib==2022.2 \ - --hash=sha256:7605e440ccb55904cb2a87d72e83642ef176fb7030c77e52ac4d9679bb3d1537 \ - --hash=sha256:ab1d14fe053016fff7b0c6aea51d980bac6d02114b04063b46ef7dac70c70e1e -importlib-metadata==4.11.3 \ - --hash=sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6 \ - --hash=sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539 -zipp==3.7.0 \ - --hash=sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d \ - --hash=sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375 -typing-extensions==4.1.1 \ - --hash=sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42 \ - --hash=sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2 +pefile==2023.2.7 \ + --hash=sha256:82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc \ + --hash=sha256:da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6 +future==1.0.0 \ + --hash=sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216 \ + --hash=sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05 +pywin32==306 \ + --hash=sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d \ + --hash=sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65 \ + --hash=sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e \ + --hash=sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b \ + --hash=sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4 \ + --hash=sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040 \ + --hash=sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a \ + --hash=sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36 \ + --hash=sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8 \ + --hash=sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e \ + --hash=sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802 \ + --hash=sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a \ + --hash=sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407 \ + --hash=sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0 +pywin32-ctypes==0.2.2 \ + --hash=sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60 \ + --hash=sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7 From 0afa84a9840240fc61852db58a598a2ae25b18ca Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 11:51:54 -0700 Subject: [PATCH 05/20] Update packacge mangers to install new python version --- .circleci/config.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fe5dadde..4f03ee08 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -86,7 +86,7 @@ jobs: - checkout - run: name: "Install Python" - command: choco install python --version=3.12.2 + command: choco install python --version=3.12.2 -y - run: name: Install testing requirements on Windows command: python -m pip install -r requirements_test.txt @@ -105,6 +105,7 @@ jobs: - run: name: Install building requirements on Linux command: | + pyenv update env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; @@ -153,6 +154,7 @@ jobs: - run: name: Install building requirements on Linux ARM64 command: | + pyenv update env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; @@ -198,7 +200,7 @@ jobs: - checkout - run: name: "Install Python" - command: choco install python --version=3.12.3 + command: choco install python --version=3.12.2 -y - run: name: Install building requirements on Windows command: pip install -r ./build_configs/windows/requirements.txt From 03319b932511a7433175cb40e724ce22dba63a85 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 12:11:23 -0700 Subject: [PATCH 06/20] Update pyenv versions manually --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4f03ee08..048fa09f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -105,7 +105,7 @@ jobs: - run: name: Install building requirements on Linux command: | - pyenv update + cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; @@ -154,7 +154,7 @@ jobs: - run: name: Install building requirements on Linux ARM64 command: | - pyenv update + cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; From b89a63662302de6c5dfba622f8cfcd950d2b0e89 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 13:38:25 -0700 Subject: [PATCH 07/20] add .pyenv to gitsafe directories for update --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 048fa09f..4abceedb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -105,6 +105,7 @@ jobs: - run: name: Install building requirements on Linux command: | + git config --global --add safe.directory /opt/circleci/.pyenv; cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; @@ -154,6 +155,7 @@ jobs: - run: name: Install building requirements on Linux ARM64 command: | + git config --global --add safe.directory /opt/circleci/.pyenv; cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; pyenv global 3.12.2; From 46904fc093ee59a106b3dec11617208b1cb6c8e1 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 13:44:33 -0700 Subject: [PATCH 08/20] downgrade python version due to ubuntu 2204 only supporting 3.12.1 --- .circleci/config.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4abceedb..5565f375 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -105,9 +105,7 @@ jobs: - run: name: Install building requirements on Linux command: | - git config --global --add safe.directory /opt/circleci/.pyenv; - cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; - run: @@ -155,9 +153,7 @@ jobs: - run: name: Install building requirements on Linux ARM64 command: | - git config --global --add safe.directory /opt/circleci/.pyenv; - cd /opt/circleci/.pyenv/plugins/python-build/../.. && git pull && cd ~/repo; - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.2; + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; pyenv global 3.12.2; pip install -r ./build_configs/linux/requirements.txt; - run: From 8516de42a1eadac7be8ac418efc60c242729886e Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Fri, 23 Feb 2024 13:58:24 -0700 Subject: [PATCH 09/20] finnfish downgrading python version due to ubuntu 2204 only supporting 3.12.1 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5565f375..676631ba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -115,7 +115,7 @@ jobs: export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; mkdir ${BUILD_FILE_NAME}; - pyenv global 3.12.2; + pyenv global 3.12.1; pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Test executable binaries @@ -163,7 +163,7 @@ jobs: export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=staking_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64; mkdir ${BUILD_FILE_NAME}; - pyenv global 3.12.2; + pyenv global 3.12.1; pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Test executable binaries From e3848c1f41f7f36a71f785c86060f83ad737aee0 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 26 Feb 2024 10:20:53 -0700 Subject: [PATCH 10/20] Use installed version of python --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 676631ba..d5b5ae7e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -154,7 +154,7 @@ jobs: name: Install building requirements on Linux ARM64 command: | env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; - pyenv global 3.12.2; + pyenv global 3.12.1; pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec From a12763c6509bf70fb2bdfaf801a09a8e0bc9286f Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 26 Feb 2024 10:28:06 -0700 Subject: [PATCH 11/20] Use installed version of python part 2 (the forgotten) --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d5b5ae7e..80b1cc2c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -106,7 +106,7 @@ jobs: name: Install building requirements on Linux command: | env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; - pyenv global 3.12.2; + pyenv global 3.12.1; pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec From 2f769085a877e811196a8750c2cf6333dc16d9cc Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Tue, 7 May 2024 15:50:53 -0600 Subject: [PATCH 12/20] Minor updates for xcode & ubuntu versions --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 80b1cc2c..5dd51442 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -98,7 +98,7 @@ jobs: command: python ./test_btec_script.py build-linux-amd64: machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:2024.04.4 working_directory: ~/repo steps: - checkout @@ -145,7 +145,7 @@ jobs: path: /tmp/artifacts build-linux-arm64: machine: - image: ubuntu-2204:2024.01.1 + image: ubuntu-2204:2024.04.4 resource_class: arm.medium working_directory: ~/repo steps: @@ -242,7 +242,7 @@ jobs: path: /tmp/artifacts build-macos: macos: - xcode: 15.1.0 + xcode: 15.3.0 working_directory: ~/repo steps: - run: xcodebuild -version From 1dea225484a2cce5af3412f6799145245765e572 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 13 May 2024 12:58:15 +0300 Subject: [PATCH 13/20] Manually install gcc for macos builds --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5dd51442..4c99f10b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -250,7 +250,9 @@ jobs: - checkout - run: name: Install building requirements on MacOS - command: pip3 install -r ./build_configs/macos/requirements.txt + command: | + brew install gcc; + pip3 install -r ./build_configs/macos/requirements.txt; - run: name: Build with build.spec command: | From 4b1e4df3cd266739feb3438eee9077bbe99edb4a Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 13 May 2024 17:02:12 +0300 Subject: [PATCH 14/20] Revert "Manually install gcc for macos builds" This reverts commit 1dea225484a2cce5af3412f6799145245765e572. --- .circleci/config.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4c99f10b..5dd51442 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -250,9 +250,7 @@ jobs: - checkout - run: name: Install building requirements on MacOS - command: | - brew install gcc; - pip3 install -r ./build_configs/macos/requirements.txt; + command: pip3 install -r ./build_configs/macos/requirements.txt - run: name: Build with build.spec command: | From 608129346b41de169fa8c72bf362f44efc83f1e4 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 13 May 2024 17:04:21 +0300 Subject: [PATCH 15/20] Update lru-dict for macos build --- requirements.txt | 84 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index f786622a..764527bf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -49,8 +49,88 @@ eth-utils==1.10.0 \ mypy-extensions==0.4.3 \ --hash=sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d \ --hash=sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 -lru-dict==1.1.7 \ - --hash=sha256:45b81f67d75341d4433abade799a47e9c42a9e22a118531dcb5e549864032d7c +lru-dict==1.3.0 \ + --hash=sha256:0213ab4e3d9a8d386c18e485ad7b14b615cb6f05df6ef44fb2a0746c6ea9278b \ + --hash=sha256:04cda617f4e4c27009005d0a8185ef02829b14b776d2791f5c994cc9d668bc24 \ + --hash=sha256:0ad6361e4dd63b47b2fc8eab344198f37387e1da3dcfacfee19bafac3ec9f1eb \ + --hash=sha256:0e1845024c31e6ff246c9eb5e6f6f1a8bb564c06f8a7d6d031220044c081090b \ + --hash=sha256:0e88dba16695f17f41701269fa046197a3fd7b34a8dba744c8749303ddaa18df \ + --hash=sha256:0fce5f95489ca1fc158cc9fe0f4866db9cec82c2be0470926a9080570392beaf \ + --hash=sha256:1470f5828c7410e16c24b5150eb649647986e78924816e6fb0264049dea14a2b \ + --hash=sha256:170b66d29945391460351588a7bd8210a95407ae82efe0b855e945398a1d24ea \ + --hash=sha256:1958cb70b9542773d6241974646e5410e41ef32e5c9e437d44040d59bd80daf2 \ + --hash=sha256:1ecb7ae557239c64077e9b26a142eb88e63cddb104111a5122de7bebbbd00098 \ + --hash=sha256:20c595764695d20bdc3ab9b582e0cc99814da183544afb83783a36d6741a0dac \ + --hash=sha256:2682bfca24656fb7a643621520d57b7fe684ed5fa7be008704c1235d38e16a32 \ + --hash=sha256:2789296819525a1f3204072dfcf3df6db8bcf69a8fc740ffd3de43a684ea7002 \ + --hash=sha256:28aa1ea42a7e48174bf513dc2416fea7511a547961e678dc6f5670ca987c18cb \ + --hash=sha256:2a47740652b25900ac5ce52667b2eade28d8b5fdca0ccd3323459df710e8210a \ + --hash=sha256:350e2233cfee9f326a0d7a08e309372d87186565e43a691b120006285a0ac549 \ + --hash=sha256:3b4f121afe10f5a82b8e317626eb1e1c325b3f104af56c9756064cd833b1950b \ + --hash=sha256:3c497fb60279f1e1d7dfbe150b1b069eaa43f7e172dab03f206282f4994676c5 \ + --hash=sha256:3ca5474b1649555d014be1104e5558a92497509021a5ba5ea6e9b492303eb66b \ + --hash=sha256:3cb1de0ce4137b060abaafed8474cc0ebd12cedd88aaa7f7b3ebb1ddfba86ae0 \ + --hash=sha256:4073333894db9840f066226d50e6f914a2240711c87d60885d8c940b69a6673f \ + --hash=sha256:40a8daddc29c7edb09dfe44292cf111f1e93a8344349778721d430d336b50505 \ + --hash=sha256:4eafb188a84483b3231259bf19030859f070321b00326dcb8e8c6cbf7db4b12f \ + --hash=sha256:5247d1f011f92666010942434020ddc5a60951fefd5d12a594f0e5d9f43e3b3b \ + --hash=sha256:54fd1966d6bd1fcde781596cb86068214edeebff1db13a2cea11079e3fd07b6b \ + --hash=sha256:5ad659cbc349d0c9ba8e536b5f40f96a70c360f43323c29f4257f340d891531c \ + --hash=sha256:6123aefe97762ad74215d05320a7f389f196f0594c8813534284d4eafeca1a96 \ + --hash=sha256:64545fca797fe2c68c5168efb5f976c6e1459e058cab02445207a079180a3557 \ + --hash=sha256:6a03170e4152836987a88dcebde61aaeb73ab7099a00bb86509d45b3fe424230 \ + --hash=sha256:6af36166d22dba851e06a13e35bbf33845d3dd88872e6aebbc8e3e7db70f4682 \ + --hash=sha256:6bba2863060caeaedd8386b0c8ee9a7ce4d57a7cb80ceeddf440b4eff2d013ba \ + --hash=sha256:6cb0be5e79c3f34d69b90d8559f0221e374b974b809a22377122c4b1a610ff67 \ + --hash=sha256:6ffaf595e625b388babc8e7d79b40f26c7485f61f16efe76764e32dce9ea17fc \ + --hash=sha256:73593791047e36b37fdc0b67b76aeed439fcea80959c7d46201240f9ec3b2563 \ + --hash=sha256:774ca88501a9effe8797c3db5a6685cf20978c9cb0fe836b6813cfe1ca60d8c9 \ + --hash=sha256:784ca9d3b0730b3ec199c0a58f66264c63dd5d438119c739c349a6a9be8e5f6e \ + --hash=sha256:7969cb034b3ccc707aff877c73c225c32d7e2a7981baa8f92f5dd4d468fe8c33 \ + --hash=sha256:7ffbce5c2e80f57937679553c8f27e61ec327c962bf7ea0b15f1d74277fd5363 \ + --hash=sha256:82eb230d48eaebd6977a92ddaa6d788f14cf4f4bcf5bbffa4ddfd60d051aa9d4 \ + --hash=sha256:8551ccab1349d4bebedab333dfc8693c74ff728f4b565fe15a6bf7d296bd7ea9 \ + --hash=sha256:8d9509d817a47597988615c1a322580c10100acad10c98dfcf3abb41e0e5877f \ + --hash=sha256:8ee38d420c77eed548df47b7d74b5169a98e71c9e975596e31ab808e76d11f09 \ + --hash=sha256:9537e1cee6fa582cb68f2fb9ce82d51faf2ccc0a638b275d033fdcb1478eb80b \ + --hash=sha256:96fc87ddf569181827458ec5ad8fa446c4690cffacda66667de780f9fcefd44d \ + --hash=sha256:9710737584650a4251b9a566cbb1a86f83437adb209c9ba43a4e756d12faf0d7 \ + --hash=sha256:9bd13af06dab7c6ee92284fd02ed9a5613a07d5c1b41948dc8886e7207f86dfd \ + --hash=sha256:9f725f2a0bdf1c18735372d5807af4ea3b77888208590394d4660e3d07971f21 \ + --hash=sha256:a193a14c66cfc0c259d05dddc5e566a4b09e8f1765e941503d065008feebea9d \ + --hash=sha256:a1efc59bfba6aac33684d87b9e02813b0e2445b2f1c444dae2a0b396ad0ed60c \ + --hash=sha256:a3c9f746a9917e784fffcedeac4c8c47a3dbd90cbe13b69e9140182ad97ce4b7 \ + --hash=sha256:a690c23fc353681ed8042d9fe8f48f0fb79a57b9a45daea2f0be1eef8a1a4aa4 \ + --hash=sha256:a9fb71ba262c6058a0017ce83d343370d0a0dbe2ae62c2eef38241ec13219330 \ + --hash=sha256:abd0c284b26b5c4ee806ca4f33ab5e16b4bf4d5ec9e093e75a6f6287acdde78e \ + --hash=sha256:acd04b7e7b0c0c192d738df9c317093335e7282c64c9d1bb6b7ebb54674b4e24 \ + --hash=sha256:b2bf2e24cf5f19c3ff69bf639306e83dced273e6fa775b04e190d7f5cd16f794 \ + --hash=sha256:b50fbd69cd3287196796ab4d50e4cc741eb5b5a01f89d8e930df08da3010c385 \ + --hash=sha256:b84c321ae34f2f40aae80e18b6fa08b31c90095792ab64bb99d2e385143effaa \ + --hash=sha256:ba490b8972531d153ac0d4e421f60d793d71a2f4adbe2f7740b3c55dce0a12f1 \ + --hash=sha256:bc1cd3ed2cee78a47f11f3b70be053903bda197a873fd146e25c60c8e5a32cd6 \ + --hash=sha256:c0131351b8a7226c69f1eba5814cbc9d1d8daaf0fdec1ae3f30508e3de5262d4 \ + --hash=sha256:c265f16c936a8ff3bb4b8a4bda0be94c15ec28b63e99fdb1439c1ffe4cd437db \ + --hash=sha256:c279068f68af3b46a5d649855e1fb87f5705fe1f744a529d82b2885c0e1fc69d \ + --hash=sha256:c637ab54b8cd9802fe19b260261e38820d748adf7606e34045d3c799b6dde813 \ + --hash=sha256:c95f8751e2abd6f778da0399c8e0239321d560dbc58cb063827123137d213242 \ + --hash=sha256:ca3703ff03b03a1848c563bc2663d0ad813c1cd42c4d9cf75b623716d4415d9a \ + --hash=sha256:ca9ab676609cce85dd65d91c275e47da676d13d77faa72de286fbea30fbaa596 \ + --hash=sha256:cd869cadba9a63e1e7fe2dced4a5747d735135b86016b0a63e8c9e324ab629ac \ + --hash=sha256:cf9da32ef2582434842ab6ba6e67290debfae72771255a8e8ab16f3e006de0aa \ + --hash=sha256:cfaf75ac574447afcf8ad998789071af11d2bcf6f947643231f692948839bd98 \ + --hash=sha256:d9b30a8f50c3fa72a494eca6be5810a1b5c89e4f0fda89374f0d1c5ad8d37d51 \ + --hash=sha256:dcec98e2c7da7631f0811730303abc4bdfe70d013f7a11e174a2ccd5612a7c59 \ + --hash=sha256:df2e119c6ae412d2fd641a55f8a1e2e51f45a3de3449c18b1b86c319ab79e0c4 \ + --hash=sha256:e13b2f58f647178470adaa14603bb64cc02eeed32601772ccea30e198252883c \ + --hash=sha256:e5c20f236f27551e3f0adbf1a987673fb1e9c38d6d284502cd38f5a3845ef681 \ + --hash=sha256:e90059f7701bef3c4da073d6e0434a9c7dc551d5adce30e6b99ef86b186f4b4a \ + --hash=sha256:ebb03a9bd50c2ed86d4f72a54e0aae156d35a14075485b2127c4b01a3f4a63fa \ + --hash=sha256:eed24272b4121b7c22f234daed99899817d81d671b3ed030c876ac88bc9dc890 \ + --hash=sha256:efd3f4e0385d18f20f7ea6b08af2574c1bfaa5cb590102ef1bee781bdfba84bc \ + --hash=sha256:f27c078b5d75989952acbf9b77e14c3dadc468a4aafe85174d548afbc5efc38b \ + --hash=sha256:f5b88a7c39e307739a3701194993455968fcffe437d1facab93546b1b8a334c1 \ + --hash=sha256:f8f7824db5a64581180ab9d09842e6dd9fcdc46aac9cb592a0807cd37ea55680 pyrsistent==0.16.1 \ --hash=sha256:aa2ae1c2e496f4d6777f869ea5de7166a8ccb9c2e06ebcf6c7ff1b670c98c5ef eth-hash==0.3.2 \ From 2fff58eab62c6c28d1328e63644b3fa7d4cb0c55 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 13 May 2024 17:17:45 +0300 Subject: [PATCH 16/20] stop manual python install on windows --- .circleci/config.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5dd51442..65ef69b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -84,9 +84,6 @@ jobs: shell: powershell.exe steps: - checkout - - run: - name: "Install Python" - command: choco install python --version=3.12.2 -y - run: name: Install testing requirements on Windows command: python -m pip install -r requirements_test.txt @@ -196,9 +193,6 @@ jobs: shell: powershell.exe steps: - checkout - - run: - name: "Install Python" - command: choco install python --version=3.12.2 -y - run: name: Install building requirements on Windows command: pip install -r ./build_configs/windows/requirements.txt From 03635fea026f6883f0a210ce90befdaaa6b31197 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 25 Nov 2024 17:13:09 -0700 Subject: [PATCH 17/20] Bumps cli-version 2.7 -> 2.8 --- setup.py | 2 +- staking_deposit/settings.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index cc18f91b..c427a1b9 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="staking_deposit", - version='2.7.0', + version='2.8.0', py_modules=["staking_deposit"], packages=find_packages(exclude=('tests', 'docs')), python_requires=">=3.12,<4", diff --git a/staking_deposit/settings.py b/staking_deposit/settings.py index e989d89b..8470696e 100644 --- a/staking_deposit/settings.py +++ b/staking_deposit/settings.py @@ -1,7 +1,7 @@ from typing import Dict, NamedTuple from eth_utils import decode_hex -DEPOSIT_CLI_VERSION = '2.7.0' +DEPOSIT_CLI_VERSION = '2.8.0' class BaseChainSetting(NamedTuple): From e8735e73ad87520f20a14f73c4ac7394b86dca31 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 25 Nov 2024 17:50:20 -0700 Subject: [PATCH 18/20] removes support for depricated testnets --- README.md | 4 ++-- .../cli/generate_bls_to_execution_change.py | 4 +--- staking_deposit/cli/generate_keys.py | 4 +--- staking_deposit/settings.py | 14 -------------- 4 files changed, 4 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 37f1a23b..0d448ac8 100644 --- a/README.md +++ b/README.md @@ -349,10 +349,10 @@ You can also run the tool with optional arguments: docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys ethereum/staking-deposit-cli new-mnemonic --num_validators= --mnemonic_language=english --folder= ``` -Example for 1 validator on the [Prater testnet](https://prater.launchpad.ethereum.org/) using english: +Example for 1 validator on the [Holesky testnet](https://holesky.launchpad.ethereum.org/) using english: ```sh -docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys ethereum/staking-deposit-cli new-mnemonic --num_validators=1 --mnemonic_language=english --chain=prater +docker run -it --rm -v $(pwd)/validator_keys:/app/validator_keys ethereum/staking-deposit-cli new-mnemonic --num_validators=1 --mnemonic_language=english --chain=holesky ``` ###### Arguments diff --git a/staking_deposit/cli/generate_bls_to_execution_change.py b/staking_deposit/cli/generate_bls_to_execution_change.py index 0b3b0f49..b37d35a3 100644 --- a/staking_deposit/cli/generate_bls_to_execution_change.py +++ b/staking_deposit/cli/generate_bls_to_execution_change.py @@ -36,7 +36,6 @@ from staking_deposit.settings import ( ALL_CHAINS, MAINNET, - PRATER, get_chain_setting, get_devnet_chain_setting, ) @@ -74,8 +73,7 @@ def get_password(text: str) -> str: param_decls='--chain', prompt=choice_prompt_func( lambda: load_text(['arg_chain', 'prompt'], func=FUNC_NAME), - # Since `prater` is alias of `goerli`, do not show `prater` in the prompt message. - list(key for key in ALL_CHAINS.keys() if key != PRATER) + list(ALL_CHAINS.keys()) ), ) @load_mnemonic_arguments_decorator diff --git a/staking_deposit/cli/generate_keys.py b/staking_deposit/cli/generate_keys.py index 5f57a873..a3cf8418 100644 --- a/staking_deposit/cli/generate_keys.py +++ b/staking_deposit/cli/generate_keys.py @@ -33,7 +33,6 @@ from staking_deposit.settings import ( ALL_CHAINS, MAINNET, - PRATER, get_chain_setting, ) @@ -76,8 +75,7 @@ def generate_keys_arguments_decorator(function: Callable[..., Any]) -> Callable[ param_decls='--chain', prompt=choice_prompt_func( lambda: load_text(['chain', 'prompt'], func='generate_keys_arguments_decorator'), - # Since `prater` is alias of `goerli`, do not show `prater` in the prompt message. - list(key for key in ALL_CHAINS.keys() if key != PRATER) + list(ALL_CHAINS.keys()) ), ), jit_option( diff --git a/staking_deposit/settings.py b/staking_deposit/settings.py index e989d89b..ba291f52 100644 --- a/staking_deposit/settings.py +++ b/staking_deposit/settings.py @@ -11,28 +11,17 @@ class BaseChainSetting(NamedTuple): MAINNET = 'mainnet' -GOERLI = 'goerli' -PRATER = 'prater' SEPOLIA = 'sepolia' -ZHEJIANG = 'zhejiang' HOLESKY = 'holesky' # Mainnet setting MainnetSetting = BaseChainSetting( NETWORK_NAME=MAINNET, GENESIS_FORK_VERSION=bytes.fromhex('00000000'), GENESIS_VALIDATORS_ROOT=bytes.fromhex('4b363db94e286120d76eb905340fdd4e54bfe9f06bf33ff6cf5ad27f511bfe95')) -# Goerli setting -GoerliSetting = BaseChainSetting( - NETWORK_NAME=GOERLI, GENESIS_FORK_VERSION=bytes.fromhex('00001020'), - GENESIS_VALIDATORS_ROOT=bytes.fromhex('043db0d9a83813551ee2f33450d23797757d430911a9320530ad8a0eabc43efb')) # Sepolia setting SepoliaSetting = BaseChainSetting( NETWORK_NAME=SEPOLIA, GENESIS_FORK_VERSION=bytes.fromhex('90000069'), GENESIS_VALIDATORS_ROOT=bytes.fromhex('d8ea171f3c94aea21ebc42a1ed61052acf3f9209c00e4efbaaddac09ed9b8078')) -# Zhejiang setting -ZhejiangSetting = BaseChainSetting( - NETWORK_NAME=ZHEJIANG, GENESIS_FORK_VERSION=bytes.fromhex('00000069'), - GENESIS_VALIDATORS_ROOT=bytes.fromhex('53a92d8f2bb1d85f62d16a156e6ebcd1bcaba652d0900b2c2f387826f3481f6f')) # Holesky setting HoleskySetting = BaseChainSetting( NETWORK_NAME=HOLESKY, GENESIS_FORK_VERSION=bytes.fromhex('01017000'), @@ -41,10 +30,7 @@ class BaseChainSetting(NamedTuple): ALL_CHAINS: Dict[str, BaseChainSetting] = { MAINNET: MainnetSetting, - GOERLI: GoerliSetting, - PRATER: GoerliSetting, # Prater is the old name of the Prater/Goerli testnet SEPOLIA: SepoliaSetting, - ZHEJIANG: ZhejiangSetting, HOLESKY: HoleskySetting, } From 26146a7ea278ed4b440c7dfe0296a40ac171557c Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Mon, 25 Nov 2024 17:57:18 -0700 Subject: [PATCH 19/20] adds support for mekong testnet --- staking_deposit/settings.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/staking_deposit/settings.py b/staking_deposit/settings.py index ba291f52..6da44acf 100644 --- a/staking_deposit/settings.py +++ b/staking_deposit/settings.py @@ -13,6 +13,7 @@ class BaseChainSetting(NamedTuple): MAINNET = 'mainnet' SEPOLIA = 'sepolia' HOLESKY = 'holesky' +MEKONG = 'mekong' # Mainnet setting MainnetSetting = BaseChainSetting( @@ -26,12 +27,17 @@ class BaseChainSetting(NamedTuple): HoleskySetting = BaseChainSetting( NETWORK_NAME=HOLESKY, GENESIS_FORK_VERSION=bytes.fromhex('01017000'), GENESIS_VALIDATORS_ROOT=bytes.fromhex('9143aa7c615a7f7115e2b6aac319c03529df8242ae705fba9df39b79c59fa8b1')) +# Mekong setting +MekongSetting = BaseChainSetting( + NETWORK_NAME=MEKONG, GENESIS_FORK_VERSION=bytes.fromhex('10637624'), + GENESIS_VALIDATORS_ROOT=bytes.fromhex('9838240bca889c52818d7502179b393a828f61f15119d9027827c36caeb67db7')) ALL_CHAINS: Dict[str, BaseChainSetting] = { MAINNET: MainnetSetting, SEPOLIA: SepoliaSetting, HOLESKY: HoleskySetting, + MEKONG: MekongSetting, } From 18418e69d7c20a953dfa6f5439fee218530e06b2 Mon Sep 17 00:00:00 2001 From: Carl Beekhuizen Date: Tue, 26 Nov 2024 07:00:19 -0700 Subject: [PATCH 20/20] Update default args to keystores --- staking_deposit/key_handling/keystore.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/staking_deposit/key_handling/keystore.py b/staking_deposit/key_handling/keystore.py index 195ef159..9b8449bf 100644 --- a/staking_deposit/key_handling/keystore.py +++ b/staking_deposit/key_handling/keystore.py @@ -8,7 +8,7 @@ import os from py_ecc.bls import G2ProofOfPossession as bls from secrets import randbits -from typing import Any, Dict, Union +from typing import Any, Dict, Optional, Union from unicodedata import normalize from uuid import uuid4 @@ -127,18 +127,20 @@ def _process_password(password: str) -> bytes: @classmethod def encrypt(cls, *, secret: bytes, password: str, path: str='', - kdf_salt: bytes=randbits(256).to_bytes(32, 'big'), - aes_iv: bytes=randbits(128).to_bytes(16, 'big')) -> 'Keystore': + kdf_salt: Optional[bytes]=None, + aes_iv: Optional[bytes]=None) -> 'Keystore': """ Encrypt a secret (BLS SK) as an EIP 2335 Keystore. """ keystore = cls() keystore.uuid = str(uuid4()) + kdf_salt = kdf_salt if kdf_salt is not None else randbits(256).to_bytes(32, 'big') keystore.crypto.kdf.params['salt'] = kdf_salt decryption_key = keystore.kdf( password=cls._process_password(password), **keystore.crypto.kdf.params ) + aes_iv = aes_iv if aes_iv is not None else randbits(128).to_bytes(16, 'big') keystore.crypto.cipher.params['iv'] = aes_iv cipher = AES_128_CTR(key=decryption_key[:16], **keystore.crypto.cipher.params) keystore.crypto.cipher.message = cipher.encrypt(secret)