-
Notifications
You must be signed in to change notification settings - Fork 522
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
Blocking issues in upgrading Polkadot SDK dependencies to stable2412
#1584
Comments
For the first block issue, I think rust-ethereum/evm#305 resolves it. |
But it's blocked on PR now :( |
I was looking at this. TransactionExtension provided by the pallet-ethereum would just need to return the EthereumOrigin and call can be dispatched as usual |
Interesting. However, what I was trying to do was to see if self-contained extrinsics, already included in an existing chain, could be processed using a new extrinsic format with |
We have recently migrated bunch of our Unsigned calls from Bare to general. All that was required was runtime upgrade and no further client changes. Once the new format is implemented and runtime is upgrades, rpc This approach would completely elimate the sel-contained crate and fallback to underlying generic Unchecked extrinsic itself.
If I understand you correctly, you are talking about the transactions that are already in the mempool before runtime was upgraded. These transactions would be included in the block with previous runtime itself. If they were not included, the mempool would revalidate them and discard them due to failed check. I'm happy to provide a draft change if it helps to get some feedback on this |
Version conflicts with
primitive-types
and Dependencies onethereum
/evm
Polkadot SDK now depends on
[email protected]
, but the latest published versions ofethereum
andevm
crates still depend on[email protected]
. This results in incompatibilities for types likeH256
,U256
, and others between Polkadot SDK and Frontier.Currently, the only person with publishing rights for the
ethereum
crate is @sorpaas, but it seems that he is not actively engaged in its maintenance. IMHO, if @sorpaas consents, one of the Frontier maintainers should be added as a co-maintainer for theethereum
/evm
crates. Alternatively, forking those crates could be considered as a viable option.Given the long-term maintenance requirements of tracking changes to Ethereum hard forks, another approach to consider might be supporting
revm
together.Extrinsic V5 and the future of
SelfContainedCall
In Extrinsic V5, verifying signatures has be separated into a
TransactionExtension
(supersedingSignedExtension
), allowing the functionality previously handled bySelfContainedCall
to be implemented as aTransactionExtension
.I investigated supporting backward compatibility regardless of removing wrapping types of
(Checked|Unchecked)Extrinsic
, but I couldn't find a straightforward way to invokecall.apply_self_contained()
instead ofcall.dispatch()
. As a result, separate extrinsic types would still be required.However, for chains launching from scratch without the need to support existing extrinsics, adopting the V5 format from the beginning could allow
TransactionExtension
to handle functionality previously implemented viaSelfContainedCall
. While supportingSelfContainedCall
may still be necessary, it should be considered for deprecation.The text was updated successfully, but these errors were encountered: