Skip to content

Conversation

@sosaucily
Copy link
Contributor

…before for this function; can move sig uniqueness checks to local function

…before for this function; can move sig uniqueness checks to local function
@sosaucily sosaucily requested a review from scolear May 29, 2025 08:55
@scolear scolear requested a review from Copilot May 29, 2025 09:08
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds additional tests to prevent replay attacks by ensuring that each btcTxId is only processed once and moves signature uniqueness checks into a local function.

  • Introduces new test suites to check for nonce manipulation and replay attack scenarios.
  • Updates the multisig validation logic in the Solidity contract by incorporating new processed transaction mappings and refining error handling.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
test/DLCManager.test.js Added tests for nonce-manipulation and replay attack prevention; adjusted test parameters.
contracts/DLCManager.sol Modified multisig validation logic, added new transaction status mappings, and updated error messages.
Comments suppressed due to low confidence (1)

contracts/DLCManager.sol:288

  • [nitpick] Consider renaming the first parameter in the TransactionAlreadyProcessed error to better reflect that it is a prefixed message hash rather than a transaction ID.
revert TransactionAlreadyProcessed(prefixedMessageHash, functionString);

expect(event.args.btcTxId).to.equal(btcTxId);
});

it('Revert on attemped replay attacks when attacker trying to reuse sigs on same function and same btcTxId', async () => {
Copy link

Copilot AI May 29, 2025

Choose a reason for hiding this comment

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

There is a typo in the test description ('attemped' should be 'attempted').

Suggested change
it('Revert on attemped replay attacks when attacker trying to reuse sigs on same function and same btcTxId', async () => {
it('Revert on attempted replay attacks when attacker trying to reuse sigs on same function and same btcTxId', async () => {

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

sounds good thanks CP!

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.

3 participants