-
Notifications
You must be signed in to change notification settings - Fork 212
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* update readme to reflect new testnet * update PKG-INFO version to 1.2.0 * change version to 2.0.0, fix error in setup.py, add release script * remove PoA middleware (prev. used for goerli) * update long_description in setup.py
- Loading branch information
1 parent
7892c87
commit d69f57b
Showing
5 changed files
with
57 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Metadata-Version: 2.1 | ||
Name: flashbots | ||
Version: 1.1.1 | ||
Version: 2.0.0 | ||
Summary: flashbots client | ||
Author: Georgios Konstantopoulos | ||
Author-email: [email protected] | ||
Author-email: <[email protected]> | ||
Requires-Python: >=3.9,<4.0 | ||
Classifier: Programming Language :: Python :: 3 | ||
Classifier: Programming Language :: Python :: 3.9 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#!/bin/bash | ||
|
||
# make sure this is running in a poetry shell | ||
if [ -z "$VIRTUAL_ENV" ]; then | ||
echo "This script should be run from a poetry shell. Run 'poetry shell' and try again." | ||
echo " | ||
Alternatively, if you don't want to use poetry and know that you have python and dependencies configured correctly, | ||
set VIRTUAL_ENV in your shell to override this check." | ||
exit 1 | ||
fi | ||
|
||
# ensure twine and wheel are installed | ||
echo "Checking build requirements..." | ||
pip install twine wheel 1>/dev/null | ||
|
||
# build the package | ||
python setup.py sdist bdist_wheel | ||
if [ $? -ne 0 ]; then | ||
echo "Failed to build package" | ||
exit 1 | ||
fi | ||
echo "*********************************************************************" | ||
echo "Build successful." | ||
|
||
# pick last two files in dist/ in case there are previous builds present | ||
files=(dist/*) | ||
files=("${files[@]: -2}") | ||
echo "Prepared files for upload:" | ||
for file in "${files[@]}"; do | ||
echo -e " - $file" | ||
done | ||
|
||
# parse the version number from the first element of files | ||
libname="flashbots" | ||
version=$(echo "$files" | grep -oP "$libname-\d+\.\d+\.\d+") | ||
version=${version#"$libname-"} | ||
|
||
# draw some lines to alert the user to their one last chance to exit | ||
for i in $(seq 1 69); do | ||
printf '*' | ||
sleep 0.013 | ||
done; echo | ||
|
||
echo "This is the point of no return." | ||
echo -e " package:\t$libname" | ||
echo -e " version:\t$version" | ||
echo "Press Enter to upload the package to PyPI." | ||
read -rs dummy | ||
|
||
# upload the package | ||
twine upload "${files[@]}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,13 +5,13 @@ | |
|
||
package_data = {"": ["*"]} | ||
|
||
install_requires = ["web3>=6,7"] | ||
install_requires = ["web3>=6,<7"] | ||
|
||
setup_kwargs = { | ||
"name": "flashbots", | ||
"version": "2.0.0", | ||
"description": "web3-flashbots.py", | ||
"long_description": 'This library works by injecting flashbots as a new module in the Web3.py instance, which allows submitting "bundles" of transactions directly to miners. This is done by also creating a middleware which captures calls to `eth_sendBundle` and `eth_callBundle`, and sends them to an RPC endpoint which you have specified, which corresponds to `mev-geth`.\n\nTo apply correct headers we use the `flashbot` method which injects the correct header on POST.\n\n## Quickstart\n\n```python\nfrom eth_account.signers.local import LocalAccount\nfrom web3 import Web3, HTTPProvider\nfrom flashbots import flashbot\nfrom eth_account.account import Account\nimport os\n\nETH_ACCOUNT_SIGNATURE: LocalAccount = Account.from_key(os.environ.get("ETH_SIGNATURE_KEY"))\n\n\nw3 = Web3(HTTPProvider("http://localhost:8545"))\nflashbot(w3, ETH_ACCOUNT_SIGNATURE)\n```\n\nNow the `w3.flashbots.sendBundle` method should be available to you. Look in [examples/simple.py](./examples/simple.py) for usage examples.\n\n### Goerli\n\nTo use goerli, add the goerli relay RPC to the `flashbot` function arguments.\n\n```python\nflashbot(w3, ETH_ACCOUNT_SIGNATURE, "https://relay-goerli.flashbots.net")\n```\n\n## Development and testing\n\nInstall [poetry](https://python-poetry.org/)\n\nPoetry will automatically fix your venv and all packages needed.\n\n```sh\npoetry install\n```\n\nTips: PyCharm has a poetry plugin\n\n## Simple Goerli Example\n\nSee [examples/simple.py](./examples/simple.py) for environment variable definitions.\n\n```sh\npoetry shell\nETH_SENDER_KEY=<sender_private_key> \\nPROVIDER_URL=https://eth-goerli.alchemyapi.io/v2/<alchemy_key> \\nETH_SIGNER_KEY=<signer_private_key> \\npython examples/simple.py\n```\n\n## Linting\n\nIt\'s advisable to run black with default rules for linting\n\n```sh\nsudo pip install black # Black should be installed with a global entrypoint\nblack .\n```', | ||
"long_description": 'This library works by injecting flashbots as a new module in the Web3.py instance, which allows submitting "bundles" of transactions directly to miners. This is done by also creating a middleware which captures calls to `eth_sendBundle` and `eth_callBundle`, and sends them to an RPC endpoint which you have specified, which corresponds to `mev-geth`.\n\nTo apply correct headers we use the `flashbot` method which injects the correct header on POST.\n\n## Quickstart\n\n```python\nfrom eth_account.signers.local import LocalAccount\nfrom web3 import Web3, HTTPProvider\nfrom flashbots import flashbot\nfrom eth_account.account import Account\nimport os\n\nETH_ACCOUNT_SIGNATURE: LocalAccount = Account.from_key(os.environ.get("ETH_SIGNATURE_KEY"))\n\n\nw3 = Web3(HTTPProvider("http://localhost:8545"))\nflashbot(w3, ETH_ACCOUNT_SIGNATURE)\n```\n\nNow the `w3.flashbots.sendBundle` method should be available to you. Look in [examples/simple.py](./examples/simple.py) for usage examples.\n\n### Testnet\n\nTo use an ethereum testnet, add the appropriate testnet relay RPC to the `flashbot` function arguments.\n\n```python\nflashbot(w3, ETH_ACCOUNT_SIGNATURE, "https://relay-holesky.flashbots.net")\n```\nCheck [flashbots docs](https://docs.flashbots.net/flashbots-auction/advanced/testnets#bundle-relay-urls) for up-to-date URLs.\n\n## Development and testing\n\nInstall [poetry](https://python-poetry.org/)\n\nPoetry will automatically fix your venv and all packages needed.\n\n```sh\npoetry install\n```\n\nTips: PyCharm has a poetry plugin\n\n## Simple Testnet Example\n\nSee [examples/simple.py](./examples/simple.py) for environment variable definitions.\n\n```sh\npoetry shell\nETH_SENDER_KEY=<sender_private_key> \\nPROVIDER_URL=https://eth-holesky.alchemyapi.io/v2/<alchemy_key> \\nETH_SIGNER_KEY=<signer_private_key> \\npython examples/simple.py\n```\n\n## Linting\n\nIt\'s advisable to run black with default rules for linting\n\n```sh\nsudo pip install black # Black should be installed with a global entrypoint\nblack .\n```', | ||
"long_description_content_type": "text/markdown", | ||
"author": "Georgios Konstantopoulos", | ||
"author_email": "[email protected]", | ||
|