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

Mark rejected peg-ins as processed #2927

Conversation

marcos-iov
Copy link
Contributor

Description

Implementation of RSKIP459

Motivation and Context

Peg-in transactions rejected by the Bridge should be marked as processed, to ensure that the rejected_pegin event is emitted only once per transaction.

How Has This Been Tested?

Unit tests and manual testing

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • Tests for the changes have been added (for bug fixes / features)
  • Requires Activation Code (Hard Fork)
  • Other information:

marcos-iov and others added 30 commits December 12, 2024 12:27
Add key to storage index

Remove declaration of svp fund tx hash since it is not being used yet. Remove _KEY suffix
Remove _KEY suffix. Save proposed federation the same way as pending one
Add proposedFederationIsSet logic

Getting rid of proposedFederationIsSet logic.

Add isProposedFederationSet logic.

Add rskip419 check in saveProposedFederation method

Save null version when proposed federation is null

Remove unnecessary private method

Refactor

Removes null activations from tests
Make variable final

Improve test name

Use all activations instead of lovell

Improve null handling
Add get proposed federation tests

Minor fix after rebase

Improve comment

Minor refactor

Minor refactor

Improve comment

Add test case

Throw exception when there is no storage version for non-null proposed federation

Add test cases

Add log. Add test case and refactor

Remove unused import
…sh methods and tests

Rebases

Reorders and renames tests
Rebases

Appends SVP prefix to FUND_TX_HASH_UNSIGNED and refactors tests
Rebases

Moves repeated arrange code to setup. Using Optional.
Rebases

Removes _ from the key

Using arrowhead631
Rebases

Rebases

Renames saveFundTransactionUnsignedHash to saveSvpFundTransactionUnsignedHash

Renames FundTransactionUnsignedHash instance fields
Remove unnecessary private method

Refactor
Add get proposed federation tests

Minor fix after rebase

Improve comment

Minor refactor

Add test case
…d federation

Add test cases

Add log. Add test case and refactor

Remove unused import
…sh methods and tests

Rebases

Moves repeated arrange code to setup. Using Optional.
Rebases
Adds test to assert empty is returned when hash hasn't been set or saved

Renames svp fields to match the RSKIP419 description. Adds more tests. Using standard.

Renames test
Improve variable name

Add comment

Minor refactors

Improve comments. Minor refactors

Improve comments

Refactor

Add tests for commitFederationAccordingToActivations

Remove unnecessary semicolon

Refactor to improve testing and readability

Add test cases

Remove some tests. Make bridge event logger not a mock. Make some methods private instead of protected. Fix log message

Improve test name

Change test name

Move reused method to utility class. Use real block instead of a mock

Make methods to be private instead of protected
Fix sonar complains

Add missing import

Move method to test class

Remove unused imports
… to bridge storage provider

Remove svp fund tx tests from federation storage provider tests, and adds them to bridge storage provider tests

Get rid of sonar complains

Add get methods to bridge

Put save, set and get tests in same nested class
Add tests. Add missing tests for minimum pegout tx value

Modify test
Refactor and add test case

Add test case

Remove mistaken comment

Add comment

Modify comment
Huge refactor to get rid of duplicated code

Minor refactor

Minor refactors

Renaming, refactors. Add missing test case.

Minor fix

Reorder, refactor

Fix typo, refactor

Rename

Create private method to get rid of duplicated code

Get rid of sonar complains
Rename already declared federator keys field.
Rename variables to match regular expressions
marcos-iov and others added 27 commits December 12, 2024 12:36
…jected pegin should be marked as processed

- Update BridgeSupportRegisterBtcTransactionTest to assert rejected pegin are marked as processed since RSKIP459
- Add tests asserting rejected pegin are marked as processed once RSKIP459 is active
- Make logic handling rejected pegin functional using the Optional API
- Fix formatting
- Enhance switch for processing each PeginProcessAction
@marcos-iov marcos-iov requested a review from a team as a code owner January 10, 2025 19:08
@marcos-iov marcos-iov closed this Jan 13, 2025
@marcos-iov marcos-iov deleted the invalid-pegin-as-processed-integration branch January 13, 2025 16:05
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.

5 participants