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

fix(contracts-rfq): limit the amount of solhint warnings [SLT-245] #3182

Merged
merged 3 commits into from
Sep 25, 2024

Conversation

ChiTimesChi
Copy link
Collaborator

@ChiTimesChi ChiTimesChi commented Sep 25, 2024

Description
A clear and concise description of the features you're adding in this pull request.

Additional context
Add any other context about the problem you're solving.

Metadata

  • Fixes #[Link to Issue]

Summary by CodeRabbit

  • New Features
    • Introduced a warning limit for the solhint scripts, enhancing error management.
    • Added a new interface for error handling in the Fast Bridge V2 contract, improving clarity and efficiency in error reporting.
  • Bug Fixes
    • Resolved the issue of unlimited warnings during script execution by setting a cap at three warnings.

Copy link
Contributor

coderabbitai bot commented Sep 25, 2024

Walkthrough

The changes made in this pull request involve updates to the solhint scripts within the package.json file, modifications to the FastBridgeV2 contract to implement a new error handling interface, and the introduction of a new interface defining error types. Additionally, several import statements related to error handling were removed across various test files, indicating a consolidation of error management within the contract.

Changes

File Path Change Summary
packages/contracts-rfq/package.json Updated solhint script to include --max-warnings 3 and retained --fix and --noPrompt.
Updated solhint:check script to include --max-warnings 3.
packages/contracts-rfq/contracts/FastBridgeV2.sol Modified FastBridgeV2 to implement IFastBridgeV2Errors, adding error handling functionalities and removing Errors.sol import.
packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol Introduced IFastBridgeV2Errors interface with 12 error declarations for various conditions.
packages/contracts-rfq/test/FastBridgeV2.Dst.t.sol Removed unused error imports from Errors.sol.
packages/contracts-rfq/test/FastBridgeV2.Parity.t.sol Updated FastBridgeV2ParityTest to inherit from IFastBridgeV2Errors.
packages/contracts-rfq/test/FastBridgeV2.Src.t.sol Removed multiple error imports from Errors.sol.
packages/contracts-rfq/test/FastBridgeV2.t.sol Added import for IFastBridgeV2Errors and updated contract inheritance.

Possibly related PRs

Suggested labels

M-contracts, 2-reviewers, size/m, needs-go-generate-services/rfq, M-deps

Suggested reviewers

  • bigboydiamonds
  • trajan0x
  • abtestingalpha

Poem

In the code where warnings play,
A limit set to save the day.
Three's the count, no more to see,
Fixing scripts, oh joy for me!
Hopping through the lines so bright,
A cleaner code, a pure delight! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
packages/contracts-rfq/package.json (1)

27-28: Approve the addition of max warnings limit to Solhint scripts

The changes to the solhint and solhint:check scripts align well with the PR objective of limiting the amount of Solhint warnings. By adding the --max-warnings 3 flag, you're ensuring that the build will fail if there are more than 3 warnings, which should help maintain code quality and encourage developers to address linting issues promptly.

A few points to consider:

  1. The limit of 3 warnings seems reasonable, but ensure this number aligns with your team's quality standards.
  2. Be aware that this change might initially cause CI/CD pipelines to fail more often until existing warnings are addressed.
  3. Consider adding a comment in the package.json file explaining the rationale behind the chosen warning limit for future reference.

To further improve your linting setup, consider the following:

  1. Implement a pre-commit hook using tools like Husky to run solhint before each commit, catching issues earlier in the development process.
  2. Gradually reduce the --max-warnings number over time as your team addresses existing warnings, aiming for zero warnings in the long term.
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 67a04cd and 0e1bfa2.

📒 Files selected for processing (1)
  • packages/contracts-rfq/package.json (1 hunks)

Copy link

codecov bot commented Sep 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 38.44864%. Comparing base (9418b40) to head (4796b36).
Report is 10 commits behind head on master.

Additional details and impacted files
@@                 Coverage Diff                 @@
##              master       #3182         +/-   ##
===================================================
- Coverage   41.54443%   38.44864%   -3.09580%     
===================================================
  Files            460         424         -36     
  Lines          25770       24456       -1314     
  Branches         357         146        -211     
===================================================
- Hits           10706        9403       -1303     
+ Misses         14326       14315         -11     
  Partials         738         738                 
Flag Coverage Δ
packages 90.96267% <ø> (ø)
solidity 93.51852% <ø> (-4.84750%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

cloudflare-workers-and-pages bot commented Sep 25, 2024

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4796b36
Status: ✅  Deploy successful!
Preview URL: https://ef2f8f86.sanguine-fe.pages.dev
Branch Preview URL: https://ci-solhint-max-warnings.sanguine-fe.pages.dev

View logs

@github-actions github-actions bot added size/s and removed size/xs labels Sep 25, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (4)
packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol (1)

1-2: Consider specifying a more precise Solidity version range.

While using ^0.8.0 is good for adopting a recent Solidity version, it might be beneficial to specify a narrower version range (e.g., ^0.8.17) to ensure consistency across different development and deployment environments. This can help prevent potential issues arising from slight differences between Solidity versions.

packages/contracts-rfq/test/FastBridgeV2.Parity.t.sol (2)

1-9: LGTM! Consider grouping imports.

The new import for IFastBridgeV2Errors aligns well with the changes in contract inheritance. The solhint-disable comment helps reduce linter warnings, which is in line with the PR objectives.

Consider grouping related imports together for better organization. You could move the FastBridgeTest import next to the IFastBridgeV2Errors import:

 // SPDX-License-Identifier: MIT
 pragma solidity 0.8.20;
 
 import {IFastBridgeV2Errors} from "../contracts/interfaces/IFastBridgeV2Errors.sol";
+import {FastBridgeTest} from "./FastBridge.t.sol";
 
-import {FastBridgeTest} from "./FastBridge.t.sol";
 
 // solhint-disable func-name-mixedcase, ordering
 contract FastBridgeV2ParityTest is FastBridgeTest, IFastBridgeV2Errors {

Line range hint 18-40: LGTM! Consider adding more detailed comments.

The modifications to the test functions, including skipping some tests and updating others, reflect changes in the underlying contract's behavior. The removal of role assignment in test_failedClaimNotOldRelayer is consistent with the comment about the claim function no longer being permissioned by role.

Consider adding more detailed comments explaining why these changes were necessary. For example:

     /// @notice Relay function is no longer permissioned, so we skip this test
+    /// @dev This test is no longer relevant due to changes in the FastBridgeV2 contract
     function test_failedRelayNotRelayer() public virtual override {
         vm.skip(true);
     }

     /// @notice Claim function is no longer permissioned by the role (but still by proven address),
     /// so we skip this test
+    /// @dev This test is no longer relevant due to changes in the FastBridgeV2 contract's permission model
     function test_failedClaimNotRelayer() public virtual override {
         vm.skip(true);
     }

     /// @notice Claim function is no longer permissioned by the role (but still by proven address),
     /// so we modify the parent test by removing the role assignment.
+    /// @dev This test has been updated to reflect the new permission model in FastBridgeV2
     function test_failedClaimNotOldRelayer() public virtual override {
         setUpRoles();
         test_successfulBridge();
         (bytes memory request,) = _getBridgeRequestAndId(block.chainid, 0, 0);
         vm.warp(block.timestamp + 31 minutes);
         vm.prank(relayer);
         fastBridge.prove(request, bytes32("0x04"));

         vm.expectRevert(abi.encodeWithSelector(SenderIncorrect.selector));
         vm.prank(anotherRelayer);
         fastBridge.claim(request, relayer);
     }

These additional comments provide more context about why the changes were made, which can be helpful for future maintenance and understanding of the test suite.

packages/contracts-rfq/test/FastBridgeV2.t.sol (1)

Line range hint 1-146: Summary: Changes improve error handling, but broader impact should be verified.

The modifications to this file, including the new import and updated contract signature, are correct and align with the PR objectives. However, to ensure these changes fully achieve the goal of limiting Solhint warnings and improving code quality:

  1. Review the entire test suite to verify that the newly inherited IFastBridgeV2Errors interface is utilized effectively in test cases.
  2. Check if these changes have introduced any new compiler warnings or Solhint issues in related files.
  3. Consider updating the PR description to explicitly mention the rationale behind introducing IFastBridgeV2Errors in the test contract.

To facilitate a comprehensive review, you might want to run Solhint on the entire packages/contracts-rfq directory before and after these changes, comparing the results to ensure a reduction in warnings. This can be done with a script like:

#!/bin/bash
# Description: Run Solhint on the contracts-rfq package and compare results

# Ensure you're in the root directory of the project
cd packages/contracts-rfq

# Run Solhint and save results
npx solhint "**/*.sol" > solhint_results_after.txt

# Compare with previous results (assuming you've saved them before the changes)
diff solhint_results_before.txt solhint_results_after.txt

This will help quantify the impact of these changes on the overall Solhint warnings in the project.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 0e1bfa2 and 4796b36.

📒 Files selected for processing (6)
  • packages/contracts-rfq/contracts/FastBridgeV2.sol (1 hunks)
  • packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol (1 hunks)
  • packages/contracts-rfq/test/FastBridgeV2.Dst.t.sol (0 hunks)
  • packages/contracts-rfq/test/FastBridgeV2.Parity.t.sol (1 hunks)
  • packages/contracts-rfq/test/FastBridgeV2.Src.t.sol (0 hunks)
  • packages/contracts-rfq/test/FastBridgeV2.t.sol (2 hunks)
💤 Files not reviewed due to no reviewable changes (2)
  • packages/contracts-rfq/test/FastBridgeV2.Dst.t.sol
  • packages/contracts-rfq/test/FastBridgeV2.Src.t.sol
🔇 Additional comments not posted (6)
packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol (2)

4-4: Interface declaration looks good.

The interface name IFastBridgeV2Errors follows the standard naming convention and clearly indicates its purpose.


1-19: Overall, the interface is well-structured and serves its purpose effectively.

The IFastBridgeV2Errors interface provides a clear and organized set of custom errors for the FastBridgeV2 contract. It follows good practices in terms of naming conventions and error categorization. To further enhance its utility:

  1. Consider adding parameters to some errors for more detailed reporting.
  2. Specify a narrower Solidity version range for better consistency across environments.

These minor improvements would make the interface even more robust and developer-friendly.

packages/contracts-rfq/test/FastBridgeV2.Parity.t.sol (1)

9-9: LGTM! Verify error handling implementation.

The addition of IFastBridgeV2Errors to the contract's inheritance is consistent with the new import and likely introduces new error handling capabilities.

To ensure proper implementation of the new error interface, please run the following script:

packages/contracts-rfq/test/FastBridgeV2.t.sol (1)

5-5: LGTM: Import statement added correctly.

The import statement for IFastBridgeV2Errors is properly formatted and appears to be necessary for the subsequent changes in the contract. This addition aligns with the PR objective of improving code quality and error handling.

packages/contracts-rfq/contracts/FastBridgeV2.sol (2)

11-11: LGTM: Good addition for standardized error handling.

The import of IFastBridgeV2Errors is a positive change. It suggests a move towards more organized and standardized error handling, which can help in reducing code duplication and improving maintainability. This aligns well with the PR objective of limiting Solhint warnings.


13-13: LGTM: Proper implementation of the new error interface.

The addition of IFastBridgeV2Errors to the contract declaration is consistent with the new import and improves the contract's error handling capabilities. This change aligns well with the PR objective of limiting Solhint warnings.

To ensure full compliance, please run the following script to verify that all required functions from IFastBridgeV2Errors are implemented in FastBridgeV2:

✅ Verification successful

LGTM: Proper implementation of the new error interface.

All required functions from IFastBridgeV2Errors are implemented in FastBridgeV2. Since the interface does not define any functions, there are no additional implementations needed. This change aligns with the PR objective of limiting Solhint warnings.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all functions from IFastBridgeV2Errors are implemented in FastBridgeV2

# Get all function signatures from IFastBridgeV2Errors
interface_functions=$(ast-grep --lang solidity --pattern 'function $NAME($PARAMS) $MODIFIERS;' packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol)

# Check if each function is implemented in FastBridgeV2
echo "Checking implementation of IFastBridgeV2Errors functions in FastBridgeV2:"
echo "$interface_functions" | while read -r func; do
    if ast-grep --lang solidity --pattern "$func { $$$$ }" packages/contracts-rfq/contracts/FastBridgeV2.sol > /dev/null; then
        echo "✓ Implemented: $func"
    else
        echo "✗ Not implemented: $func"
    fi
done

Length of output: 751


Script:

#!/bin/bash
# Description: Verify that all functions from IFastBridgeV2Errors are implemented in FastBridgeV2

# Get all function signatures from IFastBridgeV2Errors.sol
echo "Extracting function signatures from IFastBridgeV2Errors.sol..."
interface_functions=$(rg -o 'function\s+\w+\s*\([^)]*\)\s*[^;{]*;' packages/contracts-rfq/contracts/interfaces/IFastBridgeV2Errors.sol)

echo "Checking implementation of IFastBridgeV2Errors functions in FastBridgeV2.sol:"
echo "$interface_functions" | while read -r func; do
    # Extract function name for searching
    func_name=$(echo "$func" | grep -oP 'function\s+\K\w+')
    # Search for the function implementation in FastBridgeV2.sol
    if rg -q "function\s+$func_name\s*\([^)]*\)\s*\{" packages/contracts-rfq/contracts/FastBridgeV2.sol; then
        echo "✓ Implemented: $func_name"
    else
        echo "✗ Not implemented: $func_name"
    fi
done

Length of output: 671

Comment on lines +5 to +18
error AmountIncorrect();
error ChainIncorrect();
error MsgValueIncorrect();
error SenderIncorrect();
error StatusIncorrect();
error ZeroAddress();

error DeadlineExceeded();
error DeadlineNotExceeded();
error DeadlineTooShort();
error DisputePeriodNotPassed();
error DisputePeriodPassed();

error TransactionRelayed();
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider adding parameters to some errors for more detailed reporting.

The error definitions are clear and well-organized. However, some errors could benefit from additional context. For example:

error AmountIncorrect(uint256 expected, uint256 actual);
error ChainIncorrect(uint256 expected, uint256 actual);
error DeadlineExceeded(uint256 deadline, uint256 currentTime);

This would provide more specific information when these errors occur, aiding in debugging and improving the developer experience.

@@ -11,7 +12,7 @@ import {Test} from "forge-std/Test.sol";
import {stdStorage, StdStorage} from "forge-std/Test.sol";

// solhint-disable no-empty-blocks, ordering
abstract contract FastBridgeV2Test is Test {
abstract contract FastBridgeV2Test is Test, IFastBridgeV2Errors {
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Unused IFastBridgeV2Errors in FastBridgeV2Test

No instances of IFastBridgeV2Errors usage found within FastBridgeV2.t.sol beyond its inclusion in the contract inheritance and import statements.

Consider removing IFastBridgeV2Errors from the inheritance if it is not utilized, or ensure that it is appropriately used to enhance error handling in the test cases.

🔗 Analysis chain

LGTM: Contract signature updated to include IFastBridgeV2Errors.

The FastBridgeV2Test contract now inherits from both Test and IFastBridgeV2Errors, which is consistent with the new import statement. This change should improve error handling and testing capabilities, aligning with the PR's objective of enhancing code quality.

To ensure this change doesn't introduce any unintended side effects, please verify:

  1. All error types defined in IFastBridgeV2Errors are properly used in the test cases.
  2. There are no naming conflicts between Test and IFastBridgeV2Errors.

You can use the following script to check for the usage of error types:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for the usage of error types from IFastBridgeV2Errors in the test file

# Test: Search for error types usage
rg --type solidity -e "revert.*IFastBridgeV2Errors" packages/contracts-rfq/test/FastBridgeV2.t.sol

Length of output: 133


Script:

#!/bin/bash
# Description: Check for the usage of error types from IFastBridgeV2Errors in Solidity test files

# Test: Search for error types usage in .sol files
rg -g "*.sol" -e "revert.*IFastBridgeV2Errors" packages/contracts-rfq/test/FastBridgeV2.t.sol

Length of output: 95


Script:

#!/bin/bash
# Description: Search for any usage of IFastBridgeV2Errors in the Solidity test file

# Test: Find all references to IFastBridgeV2Errors
rg -g "*.sol" "IFastBridgeV2Errors" packages/contracts-rfq/test/FastBridgeV2.t.sol

Length of output: 233

Copy link

codecov bot commented Sep 25, 2024

Bundle Report

Changes will increase total bundle size by 256.3kB (0.72%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sdk-router-@synapsecns/sdk-router-cjs 526.74kB 409.5kB (349.29%) ⬆️
synapse-interface-server-cjs 1.47MB 142.55kB (-8.82%) ⬇️
widget-esm-cjs 273.3kB 10.65kB (-3.75%) ⬇️

@ChiTimesChi ChiTimesChi merged commit c15ec86 into master Sep 25, 2024
53 checks passed
@ChiTimesChi ChiTimesChi deleted the ci/solhint-max-warnings branch September 25, 2024 11:29
abtestingalpha added a commit that referenced this pull request Sep 26, 2024
* update bl

* remove global solidity extension settings

* use monorepo support in global workspace only

* - use Solidity extension for formatting *.sol files
- use `forge fmt` as formatter in Solidity extension

* REST API Improvements [SLT-179] (#3133)

* fix swaptxinfo function

* Updates test coverage command

* migrating to using token addresses instead of symbols

* fix linting errors

* fixing swaptxinfocontroller

* new tests and new functionality

---------

Co-authored-by: abtestingalpha <[email protected]>

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* fix harmony proxy (#3149)


Co-authored-by: Trajan0x <[email protected]>

* merging rfq indexer into monorepo [SLT-164]  [SLT-176] (#3136)

* merging rfq indexer into monorepo

* nuke .env

* fix commands

* fix package name

* test coverage script

* rough pass at docs and some linting and fixes yarn

* Upgrades wagmi & rainbowkit

* indxer

* Adds invisible but used packages

* +recent-invalid-fills [SLT-188]

* Moves wagmi to root

* new endpoints and clean up linting

---------

Co-authored-by: Trajan0x <[email protected]>
Co-authored-by: abtestingalpha <[email protected]>
Co-authored-by: parodime <[email protected]>

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* Adds /destinationTokens route [SLT-204] (#3151)

* Adds /destinationTokens route
* ZeroAddress & NativeGasAddress
* Adds test for native gas tokens
* Checksums incoming token address params

* Publish

 - @synapsecns/[email protected]

* boba pause (#3150)

* boba pause

* only boba to txns

* Publish

 - @synapsecns/[email protected]

* fix(synapse-interface): Reorders validation to check existence first (#3156)

* Reorders validation to check existence first
* Removes duplicates

* Publish

 - @synapsecns/[email protected]

* Fix boba pause (#3158)

* Publish

 - @synapsecns/[email protected]

* update bl

* feat(rest-api): Adds Swagger for api docs [SLT-205] (#3159)

* Adds Swagger for api docs

* Replace prepended verb Get routes with nouns

* Adds dev flag for swagger serverUrl

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* Pulls version from package json (#3160)

* Publish

 - @synapsecns/[email protected]

* Require vs import due to file location (#3161)

* Require vs import due to file location

* Publish

 - @synapsecns/[email protected]

* Prevent caching of api docs (#3162)

* Publish

 - @synapsecns/[email protected]

* feat(contracts-rfq): relay/prove/claim with different address [SLT-130] (#3138)

* init. solidity ^. FbV2 relay/prove/claim overloads

* +IFastBridgeV2, explicit address0 cast, func scope & inheritdoc fixes

* pragma lock, contract relabel

* feat: start scoping V2 tests

* test: override relayer role scenarios, no longer enforced by V2

* test: finish the parity test

* test: the management methods

* test: dst chain scenarios

* test: bridge

* test: prove

* test: claim

* test: dispute

* test: refund

* test: bridge reverts

* remove redundant extend. rearrange inherit list

* revert 0.8.20 in favor of user (non-ws) setting

---------

Co-authored-by: ChiTimesChi <[email protected]>

* Publish

 - [email protected]

* fix(promexporter): make spans better (#3164)

* move the errors

* [goreleaser]

* fix v to w

* changing native token address standard [SLT-210] (#3157)

* changing native token address standard

* fixing tests

* normalizeNativeTokenAddress middleware, additional tests

---------

Co-authored-by: abtestingalpha <[email protected]>

* Publish

 - @synapsecns/[email protected]

* Refactoring rfq-indexer API and adding swagger docs [SLT-228] (#3167)

* refactoring and adding swagger

* remove testing scripts

* fix typos and consistency with 404 errors

* Publish

 - @synapsecns/[email protected]

* fix read mes (#3168)

* Publish

 - @synapsecns/[email protected]
 - [email protected]
 - @synapsecns/[email protected]

* fix(opbot): use submitter get tx status [SLT-158] (#3134)

* use experimental logger to debug

* fix lint

* [goreleaser]

* use submitter instead of client

* [goreleaser]

* [goreleaser]

* fix(synapse-interface): Additional checks on screen [SLT-166] (#3152)

* Additional checks on screen

* Adds checks on chain/token changes

* Publish

 - @synapsecns/[email protected]

* feat(synapse-interface): confirm new price [SLT-150]  (#3084)

* add bridge quote history middleware

* request user confirm changes when quoted price updates

* add conditions for displaying confirm change state

* track initial quote initializing confirm change state

* specify output delta threshold

* callback functions to handle initialize/accept/reset confirm changes flow

* quote countdown timer animation to signal refresh

* implement automatic refresh intervals

* mouse move to refresh automatic intervals

* add i8n translations for button text

---------

Co-authored-by: abtestingalpha <[email protected]>

* Publish

 - @synapsecns/[email protected]

* fix: formatted bridge fee amount (#3165)

* Publish

 - @synapsecns/[email protected]

* fix(contracts-rfq): CI workflows [SLT-245] (#3178)

* fix: license, files

* fix: package name

* build: update solhint to latest

* build: remove prettier dependencies

* fix: solhint workflows

* build: update solhint in other packages as well

* chore: solhint rules, exceptions

* fix: silence linter warnings in tests

* chore: forge fmt

* add variable to test linter CI

* Revert "add variable to test linter CI"

This reverts commit 0629309.

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* feat(api): bridge limits [SLT-165]  (#3179)

* adds `/bridgeLimits` route, controller

* fetch best sdk quote for min/max origin amounts

* add tests

* implement middleware to normalize addresses

* adds swagger doc

* Publish

 - @synapsecns/[email protected]

* fix(contracts-rfq): limit the amount of solhint warnings [SLT-245] (#3182)

* ci: limit the amount of solhint warnings

* refactor: move the errors into the separate interface

* refactor: errors imports in tests

* Publish

 - @synapsecns/[email protected]

* ci: Solidity gas diff [SLT-259] (#3181)

* ci: run tests w/o coverage first for better visibility

* test: malform the test to check the adjusted workflow

* Revert "test: malform the test to check the adjusted workflow"

This reverts commit e7db6e1.

* ci: add gas-diff workflow

* try changing the contract to trigger gas diffs

* retrigger the workflow

* ci: provide the correct report path

* ci: run on pull requests only

* ci: save gas reports in monorepo root

* Revert "ci: run on pull requests only"

This reverts commit 0a01d60.

* Revert "try changing the contract to trigger gas diffs"

This reverts commit 91bc03e.

* refactor: wrap if statement

* refactor: exclude `solidity-devops` package in a more generic way

* ci: run tests w/o coverage for `solidity-devops`, add comments

* add generic comment to trigger `solidity-devops` workflows

* Revert "add generic comment to trigger `solidity-devops` workflows"

This reverts commit cc35a43.

* Publish

 - @synapsecns/[email protected]

* fix(contracts-core): set very high gas limit for intensive tests [SLT-259] (#3186)

* fix: set very high gas limit for intensive tests

* ci: speed up solidity coverage

* Publish

 - @synapsecns/[email protected]

* feat(rest-api): Adds validateRouteExists validation [SLT-260] (#3180)

* Adds validateRouteExists validation

* Remove timeouts for 400s

* Publish

 - @synapsecns/[email protected]

* add duplicate command warning (#3174)

Co-authored-by: Trajan0x <[email protected]>

* reduce solhint warnings on FbV2 (#3189)

* reduce solhint warnings on FbV2

* fix whitespace

* Publish

 - @synapsecns/[email protected]

* ci: solidity gas diff options [SLT-267] (#3193)

* ci: ignore test files in gas diff report

* add some changes to the test files

* ci: define some options for gas-diff

* try changing the contract to trigger gas diffs

* Revert "try changing the contract to trigger gas diffs"

This reverts commit 4504e3c.

* Revert "add some changes to the test files"

This reverts commit 7e7d6cb.

* prove w/ tx id [SLT-181] (#3169)

* prove w/ tx id SLT-181

* +proveOther tests, forge fmt

* fmt

* fmt

* Publish

 - @synapsecns/[email protected]

* fix(sdk-router): disable ARB airdrop tests (#3195)

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* Fixing issue for wallet integration [SLT-270] (#3194)

* slight modification to graphql call

* fixing explorer frontend as well

* Publish

 - @synapsecns/[email protected]
 - @synapsecns/[email protected]

* store relayer on relay [SLT-182] (#3170)

* store relayer on relay [SLT-182]

* +tests, zeroAddr check, fmt

* Publish

 - @synapsecns/[email protected]

* Adjust text to trigger build (#3199)

* Publish

 - @synapsecns/[email protected]

* feat(synapse-interface): refund RFQ transaction [SLT-272] (#3197)

* Txn transaction refund tracking

* Update store to support tracking

* Query FastBridge contract for `bridgeStatuses` to find refund status

* Track bridge transaction `bridgeQuote.routerAddress` in store

* Fetch FastBridge contract address when only provided router address

* add translations

---------

Co-authored-by: aureliusbtc <[email protected]>
Co-authored-by: ChiTimesChi <[email protected]>
Co-authored-by: abtestingalpha <[email protected]>
Co-authored-by: Defi-Moses <[email protected]>
Co-authored-by: trajan0x <[email protected]>
Co-authored-by: Trajan0x <[email protected]>
Co-authored-by: parodime <[email protected]>
Co-authored-by: abtestingalpha <[email protected]>
Co-authored-by: abtestingalpha <[email protected]>
Co-authored-by: parodime <[email protected]>
Co-authored-by: vro <[email protected]>
Co-authored-by: ChiTimesChi <[email protected]>
Co-authored-by: bigboydiamonds <[email protected]>
Co-authored-by: bigboydiamonds <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant