-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EIP-1559 support #230
base: master
Are you sure you want to change the base?
EIP-1559 support #230
Conversation
…test Web3 and Ganache
assert isinstance(gas_price, int) or gas_price is None | ||
assert isinstance(max_fee, int) or max_fee is None | ||
assert isinstance(tip, int) or tip is None | ||
assert gas_price or (max_fee and tip) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a good idea to check exclusive or between types of transactions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea with this line is that the user doesn't need to speciffy a type 0 gas_price
if they populate type 2 fields. On the right of the or
we're confirming that if they do specify type 2 fields, they must specify both. This isn't required for EIP-1559, but it is (erroneously) required for web3, which raises an error if both aren't specified.
Any plans to include this in master? Why is blocking it? |
This would be a breaking change for keepers which depend on this library. I'm unsure which Core Unit is responsible for maintaining these libraries and the keepers which depend on them. Recommend joining one of Maker's weekly calls to raise the issue. |
@EdNoepel given the amount of time that has passed and the changes to Ethereum we have seen during said time (mainly, post-merge), is this PR still relevant? If so, please let me know and I'll discuss this with the team at TechOps CU and come up with a way to schedule the breaking change while properly communicating with affected CUs and Community. |
Changes from EIP-1559 remain relevant post-merge. These gas parameters remain useful in times of network congestion. |
Ed Noepel seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Changes
dict
toAttributeDict
.GasPrice
has been renamedGasStrategy
to better represent it's purpose and disambiguate the oldgasPrice
parameter used for type 0 "legacy" transactions. This is a breaking change toTransact
consumers, because transaction arguments have changed. Gas strategies should now implementget_gas_fees
to supply type 2 transaction parameters.GeometricGasPrice
has been updated to do so. Users may returnNone
to force type 0 transactions, and vice-versa. Whenget_gas_price
andget_gas_fees
are both implemented,Transact
will default to type 2 transactions on nodes (chains) where it is supported.get_pending_transactions
function andPendingTransact
class have been moved out of the base library, as post- EIP-1559 nodes no longer hold transactions with underpriced gas in their local mempools. These facilities are available inmanual_test_mempool.py
for experimentation purposes.Explicitly out of scope for this PR
parity_nextNonce
calls, pending the demise of OpenEthereum.