Skip to content
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

Add support for legacy transaction signing #165

Merged
merged 13 commits into from
Jul 8, 2024
Merged

Conversation

piersy
Copy link

@piersy piersy commented Jul 3, 2024

Introduces an overlay celo signer that is able to handle all celo related transaction signing and hand off to an upstream signer for everything non celo.

Also adds signing support for celo legacy transactions, which we need because signers are required to derive transaction senders, so without singers we won't be able to correctly serve historical transactions over the RPC API.

Also adds support for deprecating transactions.

In it's current form the code considers that celo legacy transactions (type 0 with feeCurrency, gatewayFee & gatewayFeeRecipient) and CeloDynamicFeeTx (type 124) will be deprecated by the cel2 fork. This may not be the case but it is very easy to change that.

@piersy piersy marked this pull request as ready for review July 3, 2024 22:27
@piersy piersy requested review from palango, karlb and alecps July 3, 2024 22:27
@piersy piersy changed the title Working but a bit messy Add support for legacy transaction signing Jul 3, 2024
core/types/celo_transaction.go Outdated Show resolved Hide resolved
core/types/celo_transaction.go Show resolved Hide resolved
core/types/transaction_signing.go Show resolved Hide resolved
core/types/celo_transaction_signing.go Outdated Show resolved Hide resolved
core/types/celo_transaction_signing.go Outdated Show resolved Hide resolved
@piersy piersy requested a review from palango July 5, 2024 16:53
Copy link

@palango palango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but some tests would be nice.

@piersy piersy merged commit 98b3ca1 into celo6 Jul 8, 2024
7 checks passed
@piersy piersy deleted the piersy/celo-tx-singing branch July 8, 2024 11:55
karlb pushed a commit that referenced this pull request Jul 10, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Jul 10, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Jul 12, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Aug 20, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Aug 26, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Aug 30, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
karlb pushed a commit that referenced this pull request Oct 11, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
piersy added a commit that referenced this pull request Oct 15, 2024
Adds an overlay signer that handles all celo transaction types before handing off
to an upstream signer for non celo transaction types.

The overlay signer supports easy addition of new forks and transaction deprecation.

Co-authored-by: Paul Lange <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants