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

fe-release 12/8 #3445

Merged
merged 17 commits into from
Dec 9, 2024
Merged

fe-release 12/8 #3445

merged 17 commits into from
Dec 9, 2024

Conversation

Defi-Moses
Copy link
Collaborator

@Defi-Moses Defi-Moses commented Dec 8, 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]

82438c0: docs preview link
82438c0: synapse-interface preview link

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced documentation for the $SYN token, including governance details and liquidity venues.
    • Added a new ToastContent component for enhanced user notifications.
    • Updated the CustomToaster component for improved type safety and organization.
  • Bug Fixes

    • Minor corrections in various documentation files for clarity and accuracy.
  • Localization Updates

    • Comprehensive updates to localization files for Arabic, English, Spanish, French, Japanese, Turkish, and Chinese, enhancing user experience with new and refined translations.
  • Chores

    • Version bumps for multiple packages to maintain consistency and compatibility.

parodime and others added 16 commits December 2, 2024 12:21
* gitattribute foundry

* vendored->generated

---------

Co-authored-by: Trajan0x <[email protected]>
* chore: move mocks to their respecitve directory

* chore: update imports

* chore: also move UniversalToken tests

* build: include harnesses and mocks in the flatten command
feat(synapse-interface): Link to docs
Copy link
Contributor

coderabbitai bot commented Dec 8, 2024

Warning

There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure.

🔧 eslint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

packages/synapse-interface/components/layouts/LandingPageWrapper/index.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

Error: Failed to load parser '@babel/eslint-parser' declared in 'packages/synapse-interface/.eslintrc.js': Cannot find module '@babel/core/package.json'
Require stack:

  • /node_modules/@babel/eslint-parser/lib/parse.cjs
  • /node_modules/@babel/eslint-parser/lib/index.cjs
  • /node_modules/@eslint/eslintrc/dist/eslintrc.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
    at Function.resolve (node:internal/modules/helpers:145:19)
    at Object. (/node_modules/@babel/eslint-parser/lib/parse.cjs:14:19)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
    at Module.load (node:internal/modules/cjs/loader:1317:32)
    at Module._load (node:internal/modules/cjs/loader:1127:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1339:12)

Walkthrough

The pull request includes updates to various files primarily focused on refining file type handling in the .gitattributes file, version bumps in multiple changelogs and package.json files, and the introduction of documentation for the $SYN token. Additionally, it involves restructuring of import paths in several Solidity test files and localization updates across multiple languages to enhance user interface clarity and usability.

Changes

File Change Summary
.gitattributes Updated Go files to binary, modified .contractinfo.json attributes, added entries for generated JSON files, confirmed SVG as binary, and marked Solidity files.
docs/bridge/CHANGELOG.md Added version 0.5.13 for @synapsecns/bridge-docs, noting it as a version bump only.
docs/bridge/docs/01-About/04-SYN.md Introduced new documentation for the $SYN token, detailing governance and liquidity venues.
docs/bridge/docs/03-RFQ/index.md Updated title and corrected minor text in the "Claiming" section.
docs/bridge/docs/05-Contracts/09-SYN.md Added documentation for $SYN token deployment addresses across blockchain networks.
docs/bridge/package.json Updated version from 0.5.10 to 0.5.13.
packages/contracts-rfq/.solhintignore Moved FastBridgeMock.sol from test to test/mocks.
packages/contracts-rfq/CHANGELOG.md Added version 0.14.7 noted as a version bump only.
packages/contracts-rfq/package.json Updated version from 0.14.6 to 0.14.7 and modified build script paths.
packages/contracts-rfq/test/FastBridge.t.sol Updated import path for MockERC20.
packages/contracts-rfq/test/FastBridgeV2.t.sol Updated import path for MockERC20.
packages/contracts-rfq/test/harnesses/UniversalTokenLibHarness.sol Updated import path for UniversalTokenLib.
packages/contracts-rfq/test/integration/MulticallTarget.t.sol Updated import path for MockERC20.
packages/contracts-rfq/test/integration/TokenZapV1.t.sol Updated import path for MockERC20.
packages/contracts-rfq/test/libs/UniversalTokenLib.t.sol Modified multiple import paths for organization.
packages/contracts-rfq/test/mocks/FastBridgeMock.sol Updated import paths for Admin, FastBridge, and IFastBridge.
packages/contracts-rfq/test/zaps/TokenZapV1.GasBench.t.sol Updated import path for MockERC20.
packages/contracts-rfq/test/zaps/TokenZapV1.t.sol Updated import path for MockERC20.
packages/synapse-interface/CHANGELOG.md Added version 0.40.23 noted as a version bump only.
packages/synapse-interface/components/layouts/LandingPageWrapper/index.tsx Updated navigation properties for $SYN.
packages/synapse-interface/components/toast/ToastContent.tsx Added new ToastContent component.
packages/synapse-interface/components/toast/index.tsx Changed CustomToaster to a constant variable and added @ts-nocheck.
packages/synapse-interface/constants/routes.ts Removed INTERCHAIN_LINK and added SYN_TOKEN_LINK, modifying the NAVIGATION object.
packages/synapse-interface/constants/urls/index.tsx Added SYN_TOKEN_LINK constant.
packages/synapse-interface/messages/ar.json Updated Arabic localization with new and modified strings.
packages/synapse-interface/messages/en-US.json Modified English localization strings for punctuation consistency and added $SYN.
packages/synapse-interface/messages/es.json Updated Spanish localization with new and modified strings.
packages/synapse-interface/messages/fr.json Updated French localization with new and modified strings.
packages/synapse-interface/messages/jp.json Updated Japanese localization with new and modified strings.
packages/synapse-interface/messages/tr.json Updated Turkish localization with new and modified strings.
packages/synapse-interface/messages/zh-CN.json Updated Chinese localization with new and modified strings.
packages/synapse-interface/package.json Updated version from 0.40.22 to 0.40.23.
packages/synapse-interface/pages/_app.tsx Added WagmiProvider and GoogleAnalytics components.

Possibly related PRs

Suggested labels

size/m

Suggested reviewers

  • abtestingalpha
  • trajan0x

🐇 In a world of code where changes abound,
The $SYN token's journey is now renowned.
With paths restructured and docs made clear,
Our rabbit friends hop with joyful cheer!
So let’s toast to updates, both big and small,
For in this code garden, there's room for us all! 🥕


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

cloudflare-workers-and-pages bot commented Dec 8, 2024

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: bf6b5bf
Status: ✅  Deploy successful!
Preview URL: https://6e45b5fe.sanguine-fe.pages.dev
Branch Preview URL: https://master.sanguine-fe.pages.dev

View logs

Copy link

codecov bot commented Dec 8, 2024

Bundle Report

Changes will decrease total bundle size by 3.12MB (-8.74%) ⬇️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sdk-router-@synapsecns/sdk-router-esm* 255.26kB 609 bytes (0.24%) ⬆️
sdk-router-@synapsecns/sdk-router-cjs* 117.55kB 312 bytes (0.27%) ⬆️
explorer-ui-server-cjs* 724.31kB 141.75kB (-16.37%) ⬇️
explorer-ui-client-array-push* 2.17MB 146.63kB (-6.34%) ⬇️
synapse-interface-client-array-push* 7.41MB 132.51kB (1.82%) ⬆️
synapse-interface-server-cjs* 1.66MB 160.57kB (10.74%) ⬆️
widget-cjs-esm* 271.27kB 2.03kB (-0.74%) ⬇️
docs-bridge-client-array-push 7.48MB 424.82kB (-5.38%) ⬇️
docs-bridge-server-cjs 11.83MB 3.04MB (-20.46%) ⬇️
synapse-constants-esm-cjs* 174.63kB 174.63kB (100%) ⬆️
synapse-constants-cjs-esm* 174.18kB 174.18kB (100%) ⬆️

ℹ️ *Bundle size includes cached data from a previous commit

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: 4

🧹 Outside diff range and nitpick comments (7)
packages/synapse-interface/pages/_app.tsx (1)

Line range hint 64-64: Move Google Analytics ID to environment variables

The Google Analytics ID is currently hardcoded. This should be moved to environment variables for better security and environment-specific configuration.

Consider this change:

- <GoogleAnalytics gaId={'G-BBC13LQXBD'} />
+ <GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GA_ID} />

Don't forget to:

  1. Add this variable to your environment configuration
  2. Update deployment documentation
  3. Add the variable to CI/CD configuration
packages/contracts-rfq/package.json (1)

Line range hint 18-18: Empty build script should be addressed.

The build script is currently set to " " which might cause issues with dependent workflows or CI/CD pipelines.

Please either:

  1. Remove the empty build script if it's not needed
  2. Implement the required build steps
  3. Add a comment explaining why it's intentionally empty
packages/synapse-interface/components/toast/index.tsx (1)

Line range hint 6-32: Consider making toast duration configurable

The hard-coded 10-second duration (duration: 10000) might not be suitable for all notifications. Error messages might need to stay longer, while success messages could be shorter.

Consider making the duration configurable based on the toast type:

-        duration: 10000,
+        duration: (t) => {
+          switch(t.type) {
+            case 'error': return 15000;
+            case 'success': return 5000;
+            default: return 10000;
+          }
+        },
packages/synapse-interface/components/toast/ToastContent.tsx (2)

Line range hint 8-8: Add TypeScript interface for component props

The component props should be properly typed for better maintainability and type safety.

Add a proper interface:

interface ToastContentProps {
  toastData: {
    id: string;
    type?: 'success' | 'error' | 'loading';
  };
  icon?: React.ReactNode;
  message: React.ReactNode;
}

Line range hint 22-54: Enhance accessibility of toast notifications

The toast notifications should be accessible to screen readers and keyboard users.

Add appropriate ARIA attributes and roles:

     <div
       className={`
         flex rounded items-center
         min-w-[300px]
         px-2 pt-1 pb-2
         bg-bgBase
         text-white
         border ${borderColor}
-      `}
+      `}
+      role="alert"
+      aria-live="polite"
     >

Also, consider adding a proper aria-label to the dismiss button:

           <button
             className={`
               rounded-full
               h-6 w-6
               mt-1.5
               focus:outline-none active:outline-none
               hover:bg-gray-900
               text-gray-400 hover:text-gray-300
             `}
             onClick={() => toast.dismiss(toastData.id)}
+            aria-label="Dismiss notification"
           >
packages/synapse-interface/messages/ar.json (1)

Line range hint 1-500: Consider RTL-specific UI adjustments for Arabic translations.

While the translations are accurate, consider:

  • Ensuring UI elements like arrows (▼) and ellipsis (…) are properly mirrored for RTL
  • Verifying that placeholder positions work correctly in RTL context
  • Testing that numerical values display correctly in RTL layout
docs/bridge/docs/01-About/04-SYN.md (1)

11-21: Add blank lines around the table for better readability.

According to markdown best practices, tables should be surrounded by blank lines.

Apply this diff:

 Liquidity for the [$SYN](https://coinmarketcap.com/currencies/synapse-2/) token can be found here:

+
| Venue                | Link                                                                                                                                                                       |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Coinbase             | `https://www.coinbase.com/price/synapse` [↗](https://www.coinbase.com/price/synapse)                                                                                       |
| Sushi                | `https://www.sushi.com/ethereum/pool/v2/0x4a86c01d67965f8cb3d0aaa2c655705e64097c31` [↗](https://www.sushi.com/ethereum/pool/v2/0x4a86c01d67965f8cb3d0aaa2c655705e64097c31) |
| Revolut              | `https://www.revolut.com/crypto/price/syn` [↗](https://www.revolut.com/crypto/price/syn)                                                                                   |
| Binance (Spot)       | `https://www.binance.com/en/trade/SYN_USDT?type=spot` [↗](https://www.binance.com/en/trade/SYN_USDT?type=spot)                                                             |
| Binance (Perpetuals) | `https://www.binance.com/en/futures/SYNUSDT` [↗](https://www.binance.com/en/futures/SYNUSDT)                                                                               |
| Bybit (SYN/USDT)     | `https://www.bybit.com/trade/usdt/SYNUSDT` [↗](https://www.bybit.com/trade/usdt/SYNUSDT)                                                                                   |
| HTX                  | `https://www.htx.com/price/syn/` [↗](https://www.htx.com/price/syn/)                                                                                                       |
| Kraken               | `https://www.kraken.com/prices/synapse` [↗](https://www.kraken.com/prices/synapse)                                                                                         |
| KuCoin               | `https://www.kucoin.com/price/SYN` [↗](https://www.kucoin.com/price/SYN)                                                                                                   |
+
🧰 Tools
🪛 Markdownlint (0.35.0)

21-21: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between acdd8d9 and bf6b5bf.

📒 Files selected for processing (33)
  • .gitattributes (1 hunks)
  • docs/bridge/CHANGELOG.md (1 hunks)
  • docs/bridge/docs/01-About/04-SYN.md (1 hunks)
  • docs/bridge/docs/03-RFQ/index.md (1 hunks)
  • docs/bridge/docs/05-Contracts/09-SYN.md (1 hunks)
  • docs/bridge/package.json (1 hunks)
  • packages/contracts-rfq/.solhintignore (1 hunks)
  • packages/contracts-rfq/CHANGELOG.md (1 hunks)
  • packages/contracts-rfq/package.json (2 hunks)
  • packages/contracts-rfq/test/FastBridge.t.sol (1 hunks)
  • packages/contracts-rfq/test/FastBridgeV2.t.sol (1 hunks)
  • packages/contracts-rfq/test/harnesses/UniversalTokenLibHarness.sol (1 hunks)
  • packages/contracts-rfq/test/integration/MulticallTarget.t.sol (1 hunks)
  • packages/contracts-rfq/test/integration/TokenZapV1.t.sol (1 hunks)
  • packages/contracts-rfq/test/libs/UniversalTokenLib.t.sol (1 hunks)
  • packages/contracts-rfq/test/mocks/FastBridgeMock.sol (1 hunks)
  • packages/contracts-rfq/test/zaps/TokenZapV1.GasBench.t.sol (1 hunks)
  • packages/contracts-rfq/test/zaps/TokenZapV1.t.sol (1 hunks)
  • packages/synapse-interface/CHANGELOG.md (1 hunks)
  • packages/synapse-interface/components/layouts/LandingPageWrapper/index.tsx (1 hunks)
  • packages/synapse-interface/components/toast/ToastContent.tsx (1 hunks)
  • packages/synapse-interface/components/toast/index.tsx (2 hunks)
  • packages/synapse-interface/constants/routes.ts (2 hunks)
  • packages/synapse-interface/constants/urls/index.tsx (1 hunks)
  • packages/synapse-interface/messages/ar.json (1 hunks)
  • packages/synapse-interface/messages/en-US.json (1 hunks)
  • packages/synapse-interface/messages/es.json (1 hunks)
  • packages/synapse-interface/messages/fr.json (1 hunks)
  • packages/synapse-interface/messages/jp.json (1 hunks)
  • packages/synapse-interface/messages/tr.json (1 hunks)
  • packages/synapse-interface/messages/zh-CN.json (1 hunks)
  • packages/synapse-interface/package.json (1 hunks)
  • packages/synapse-interface/pages/_app.tsx (1 hunks)
✅ Files skipped from review due to trivial changes (18)
  • packages/contracts-rfq/test/harnesses/UniversalTokenLibHarness.sol
  • docs/bridge/docs/05-Contracts/09-SYN.md
  • packages/contracts-rfq/test/zaps/TokenZapV1.GasBench.t.sol
  • packages/contracts-rfq/.solhintignore
  • packages/synapse-interface/package.json
  • packages/contracts-rfq/test/FastBridgeV2.t.sol
  • packages/contracts-rfq/CHANGELOG.md
  • docs/bridge/CHANGELOG.md
  • packages/contracts-rfq/test/zaps/TokenZapV1.t.sol
  • docs/bridge/package.json
  • packages/synapse-interface/messages/en-US.json
  • packages/contracts-rfq/test/integration/TokenZapV1.t.sol
  • packages/contracts-rfq/test/integration/MulticallTarget.t.sol
  • packages/contracts-rfq/test/libs/UniversalTokenLib.t.sol
  • packages/contracts-rfq/test/mocks/FastBridgeMock.sol
  • packages/contracts-rfq/test/FastBridge.t.sol
  • docs/bridge/docs/03-RFQ/index.md
  • packages/synapse-interface/CHANGELOG.md
🧰 Additional context used
🪛 Markdownlint (0.35.0)
docs/bridge/docs/01-About/04-SYN.md

21-21: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

🔇 Additional comments (13)
.gitattributes (2)

19-19: LGTM! Good simplification of the linguist-generated attribute.

The simplified syntax is the preferred modern approach.


27-29: LGTM! Verify deployment files coverage.

The pattern correctly marks Foundry deployment artifacts as generated files.

✅ Verification successful

All deployment JSON files are correctly covered by the pattern

The verification confirms that all deployment JSON files are located under the packages/**/deployments/ directory structure, and there are no deployment-related JSON files outside this pattern. The .gitattributes rule packages/**/deployments/*.json linguist-generated will correctly mark all these files as generated.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the coverage of deployment JSON files pattern

# Check if there are any deployment JSON files that would be covered by this rule
echo "Deployment JSON files that will be marked as generated:"
fd -e json . packages/ | grep "/deployments/"

# Verify there are no deployment files outside the specified pattern
echo -e "\nChecking for any deployment JSON files that might be missed:"
fd -e json . | grep -i "deploy" | grep -v "/deployments/"

Length of output: 2673

packages/synapse-interface/pages/_app.tsx (1)

Line range hint 57-77: LGTM: Provider hierarchy is well-structured

The provider hierarchy is logically organized:

  1. WagmiProvider at the top for Web3 functionality
  2. Query and UI providers (RainbowKit) next
  3. Application-specific providers
  4. Analytics within the authentication context

This structure ensures proper dependency flow and context availability.

packages/contracts-rfq/package.json (1)

4-4: Version bump looks good, please verify changelog.

The version bump from 0.14.6 to 0.14.7 is consistent with semantic versioning for a patch release.

✅ Verification successful

Version bump is correctly documented in the changelog

The changelog entry for version 0.14.7 exists and correctly indicates this is a version bump only release, which is consistent with the changes observed in the package.json file.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify changelog entry exists for version 0.14.7

# Check for changelog file and version entry
fd -t f "CHANGELOG.md" packages/contracts-rfq/ --exec grep -A 5 "## \[0.14.7\]" {}

Length of output: 295

packages/synapse-interface/constants/urls/index.tsx (1)

28-28: LGTM: New documentation URL constant follows conventions

The addition of SYN_TOKEN_LINK is well-structured and consistent with other documentation URLs in the file.

packages/synapse-interface/components/layouts/LandingPageWrapper/index.tsx (1)

214-216: LGTM: Navigation item update is consistent with new documentation link

The changes to the MoreInfoItem component properly integrate the new SYN token documentation link with an appropriate description.

packages/synapse-interface/messages/zh-CN.json (2)

347-347: LGTM: Added Chinese translation for SYN token navigation

The translation for "$SYN" maintains consistency across the interface.


Line range hint 391-396: Verify the accuracy of security warning translations

The translations for critical security warnings about bridge exploits and paused transactions need verification to ensure they accurately convey the severity of the risks.

✅ Verification successful

Security warning translations accurately convey risks across all language files

The verification of security warning translations across all language files (ar, en-US, es, fr, jp, tr, zh-CN) shows that:

  • All translations maintain consistent severity indicators ("Warning!", "Alert")
  • Critical terms about exploits and risks are accurately translated
  • The cautionary messages about bridge exploits (Harmony, Fantom) are properly conveyed
  • Paused transaction warnings for Dogechain are clearly communicated
  • Risk acknowledgment requirements are consistently emphasized
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare security warning translations across different language files
# to ensure consistent messaging about risks

# Check for warning messages across all language files
for lang_file in $(fd -e json . packages/synapse-interface/messages/); do
  echo "=== $lang_file ==="
  jq -r '.Warning | select(. != null)' "$lang_file"
done

Length of output: 7023

packages/synapse-interface/messages/jp.json (1)

Line range hint 1-500: LGTM! Translations are consistent and well-structured.

The Japanese translations:

  • Maintain proper placeholder variables (e.g., {chainName}, {symbol})
  • Preserve the meaning while being culturally appropriate
  • Include all security warnings with proper emphasis
packages/synapse-interface/messages/tr.json (1)

Line range hint 1-500: LGTM! Translations are consistent and well-structured.

The Turkish translations:

  • Maintain proper placeholder variables (e.g., {chainName}, {symbol})
  • Preserve the meaning while being culturally appropriate
  • Include all security warnings with proper emphasis
packages/synapse-interface/messages/es.json (1)

347-347: LGTM! Consistent token branding.

The $SYN token name is correctly kept untranslated, maintaining brand consistency across languages.

packages/synapse-interface/messages/fr.json (1)

347-347: LGTM! Consistent token branding.

The $SYN token name is correctly kept untranslated, maintaining brand consistency across languages.

docs/bridge/docs/01-About/04-SYN.md (1)

13-21: Verify the external URLs for security.

Please verify that all exchange URLs are correct and point to legitimate platforms to prevent potential phishing risks.

Run the following script to verify the URLs:

🧰 Tools
🪛 Markdownlint (0.35.0)

21-21: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

Comment on lines +55 to 57
{/* @ts-ignore */}
<WagmiProvider config={wagmiConfig}>
<QueryClientProvider client={queryClient}>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Remove @ts-ignore and fix type issues properly

The @ts-ignore comment suggests underlying type compatibility issues with the WagmiProvider configuration. This could lead to runtime errors and makes the code less maintainable.

Please investigate and fix the type issues instead of suppressing them. This might involve:

  1. Updating the wagmi configuration types
  2. Ensuring proper type exports from wagmiConfig
  3. Updating the wagmi package if needed

@@ -26,7 +26,7 @@
"lint": "forge fmt && npm run solhint",
"lint:check": "forge fmt --check && npm run solhint:check",
"ci:lint": "npm run lint:check",
"build:go": "./flatten.sh contracts/*.sol test/*.sol",
"build:go": "./flatten.sh contracts/*.sol test/harnesses/*.sol test/mocks/*.sol",
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

Additional test directories need coverage in build:go script

The build:go script pattern test/harnesses/*.sol test/mocks/*.sol only covers files in the harnesses and mocks directories. However, there are Solidity files in additional test directories that need to be included:

  • test/integration/*.sol
  • test/libs/*.sol
  • test/zaps/*.sol
  • test/*.sol (root test directory)

The script should be updated to include all test directories containing .sol files.

🔗 Analysis chain

Verify test file coverage after directory restructure.

The build:go script has been updated to reflect the new test directory structure. Let's ensure all test files are covered by the new paths.


The previous script had a syntax error in the shell condition. This new approach will help us identify all test files and their locations to verify coverage against the build:go script patterns.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify all .sol files in test directories are covered by the build:go script patterns

# Find all .sol files in test directory tree
echo "All .sol files in test directories:"
fd -e sol . packages/contracts-rfq/test/

# Verify no files are missed by the new patterns
echo -e "\nFiles not covered by new patterns:"
fd -e sol . packages/contracts-rfq/test/ --exec sh -c '
  if ! [[ "{}" =~ ^packages/contracts-rfq/test/(harnesses|mocks)/ ]]; then
    echo "{}"
  fi
'

Length of output: 6409


Script:

#!/bin/bash
# Let's try a different approach to check for files not in harnesses or mocks directories
echo "Files in test directory that are not in harnesses or mocks:"
fd -e sol . packages/contracts-rfq/test/ | grep -v "/test/\(harnesses\|mocks\)/"

echo -e "\nDirectories containing .sol files:"
fd -e sol . packages/contracts-rfq/test/ | sed 's!/[^/]*$!!' | sort -u

Length of output: 2721

@@ -1,7 +1,9 @@
// @ts-nocheck
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Remove @ts-nocheck and fix type issues properly

Using @ts-nocheck disables all TypeScript type checking for the file, which reduces code reliability and maintainability. Instead, address type issues explicitly.

Remove this directive and properly type the component props and children.

Comment on lines +56 to 59
SYN: {
path: SYN_TOKEN_LINK,
text: '$SYN',
match: null,
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

The removal of INTERCHAIN_LINK from routes.ts requires additional changes

The INTERCHAIN_LINK constant is still being used in other parts of the codebase:

  • packages/explorer-ui/utils/urls/index.ts defines and uses INTERCHAIN_PATH
  • packages/explorer-ui/components/layouts/MainLayout/index.tsx uses INTERCHAIN_PATH for navigation
  • packages/synapse-interface/constants/urls/index.tsx still defines INTERCHAIN_LINK

Please ensure these references are updated or removed to maintain consistency with the routes.ts changes.

🔗 Analysis chain

Verify the removal of INTERCHAIN_LINK

While adding the SYN token link is good, please ensure that removing INTERCHAIN_LINK doesn't break any existing functionality or user journeys.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for any remaining references to INTERCHAIN_LINK
rg "INTERCHAIN_LINK" --type ts --type tsx

Length of output: 69


Script:

#!/bin/bash
# Search for any remaining references to INTERCHAIN_LINK with ripgrep
# Note: Using just --type=ts since tsx wasn't recognized
rg "INTERCHAIN_LINK" --type=ts

# Also search with ast-grep to catch any potential TypeScript/JavaScript usage
ast-grep --pattern 'INTERCHAIN_LINK'

# Let's also check for any potential route references
rg "interchain" -i --type=ts

Length of output: 1437

@abtestingalpha abtestingalpha merged commit 90de2bd into fe-release Dec 9, 2024
19 checks passed
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.

5 participants