You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EIP-2718 is introducing a new typed transaction format which is currently worked on along #1048 and which will likely lead to a major breaking release on the transaction library.
For not having to do breaking releases on the other consuming libraries (VM, Block, Blockchain) we need to think early on about how best to integrate a new version into the other libraries.
One first suggestion (idea) is to add a Transaction.fromLegacyTransaction() static constructor to the new Transaction class which consumes a v3 tx and creates a v4 tx from it and then can be used in VM, Block, Blockchain to transform (based on some characteristics of the old class) to continue to operate on the new version.
This needs some dedicated analysis if this is possible without side effects (one condition is that a tx is just consumed by e.g. the VM and not modified, which might be the case regarding that we even switched to an immutable design for the class).
Also some TODO: we likely want to have at least some basic test setup (maybe the API test are enough e.g. for the VM?) where we can run both tx v3 and v4 towards the VM.runTx() method and see that things continue to work. //cc @cgewecke
The text was updated successfully, but these errors were encountered:
EIP-2718
is introducing a new typed transaction format which is currently worked on along #1048 and which will likely lead to a major breaking release on the transaction library.For not having to do breaking releases on the other consuming libraries (
VM
,Block
,Blockchain
) we need to think early on about how best to integrate a new version into the other libraries.One first suggestion (idea) is to add a
Transaction.fromLegacyTransaction()
static constructor to the newTransaction
class which consumes a v3 tx and creates a v4 tx from it and then can be used in VM, Block, Blockchain to transform (based on some characteristics of the old class) to continue to operate on the new version.This needs some dedicated analysis if this is possible without side effects (one condition is that a tx is just consumed by e.g. the
VM
and not modified, which might be the case regarding that we even switched to an immutable design for the class).Also some TODO: we likely want to have at least some basic test setup (maybe the
API
test are enough e.g. for the VM?) where we can run both tx v3 and v4 towards theVM.runTx()
method and see that things continue to work. //cc @cgeweckeThe text was updated successfully, but these errors were encountered: