-
Notifications
You must be signed in to change notification settings - Fork 0
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
Handle migrated celo transactions #150
Conversation
Since we will be supporting decoding and encoding all old celo tx types in op-geth we may as well use the same naming.
This means most of the existing codebase should work now
This adds the structure and rlp encode/decode functionality but no signing or json marshaling logic because for syncing it may not be required.
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.
Great PR, with nice incremental commits which made reviewing a breeze.
Looks great, mostly some nits about copyright headers and adding docstrings in a few places 🎉
GasPrice *big.Int // wei per gas | ||
Gas uint64 // gas limit | ||
|
||
// Celo-specific fields |
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.
Any specific reason why you put this between the ethereum fields?
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.
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.
I didn't 🤓
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.
Oh, and please create a follow-up issue to add some tests. |
Added issue here - #151 |
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types. That covers: Type 0 - The legacy transaction has been updated and now has the celo specific fields added Type 124 - The v1 of the dynamic fee tx. Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the TxData interface. Additionally I reversed the EthCompatible boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E. EthCompatible == false) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is called CeloLegacy and if unset the tx will be encoded as an eth compatible transaction.
Introduces support for encoding/decoding legacy celo transaction types.
That covers:
Additionally the transaction code has been updated to be less invasive to the op-geth repo by moving celo code into celo specific files and by removing celo specific methods added to the
TxData
interface.Additionally I reversed the
EthCompatible
boolean field since it's used to determine how to encode a legacy tx, and if unset (I.E.EthCompatible == false
) then the legacy tx would be encoded as a celo legacy tx, which of course broke a lot of tests. So now the field is calledCeloLegacy
and if unset the tx will be encoded as an eth compatible transaction.