feat: restructure and integrate layerswap (#953)

* feat: restructure and integrate layerswap

* fix: remove CEX page from internal nav because it is a duplicate

* fix: update layerswap widget and clean libs

* fix: wagmi connection

* chore: update color and layout

* fix: bump layerswap widget lib to version 0.1.15

* fix: fix widget width

* fix: fix ui issue on mobile

* fix: bump bridge ui version, update release notes and update dockerfile and ci

---------

Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: VGau <victorien.gauch@consensys.net>
This commit is contained in:
viphan007
2025-05-13 16:37:58 +07:00
committed by GitHub
parent b0ea13b957
commit fc5ed79ff4
37 changed files with 569 additions and 208 deletions

115
pnpm-lock.yaml generated
View File

@@ -63,8 +63,8 @@ importers:
specifier: 2.1.9
version: 2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@layerswap/widget':
specifier: ^0.1.14
version: 0.1.14(36cdbs6sbt4hnf6malkxxidv2e)
specifier: 0.1.15
version: 0.1.15(36cdbs6sbt4hnf6malkxxidv2e)
'@lifi/widget':
specifier: 3.18.2
version: 3.18.2(6llx6mg3jnie75ujog4w6rkshe)
@@ -95,18 +95,15 @@ importers:
date-fns:
specifier: 4.1.0
version: 4.1.0
framer-motion:
specifier: 11.11.4
version: 11.11.4(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
loglevel:
specifier: 1.9.2
version: 1.9.2
motion:
specifier: 12.10.1
version: 12.10.1(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: 14.2.25
version: 14.2.25(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.86.0)
next-seo:
specifier: 6.6.0
version: 6.6.0(next@14.2.25(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.86.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
pino-pretty:
specifier: 13.0.0
version: 13.0.0
@@ -116,12 +113,6 @@ importers:
react-dom:
specifier: 18.3.1
version: 18.3.1(react@18.3.1)
react-icons:
specifier: 5.5.0
version: 5.5.0(react@18.3.1)
sass:
specifier: 1.86.0
version: 1.86.0
sharp:
specifier: 0.33.5
version: 0.33.5
@@ -171,6 +162,9 @@ importers:
postcss:
specifier: 8.5.3
version: 8.5.3
sass:
specifier: 1.86.0
version: 1.86.0
contracts:
dependencies:
@@ -294,10 +288,10 @@ importers:
version: 6.13.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
jest:
specifier: 29.7.0
version: 29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5))
version: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5))
ts-jest:
specifier: 29.2.5
version: 29.2.5(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest@29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5)))(typescript@5.4.5)
version: 29.2.5(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5)
typechain:
specifier: 8.3.2
version: 8.3.2(typescript@5.4.5)
@@ -334,16 +328,16 @@ importers:
version: 29.5.13
jest:
specifier: 29.7.0
version: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5))
version: 29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5))
jest-mock-extended:
specifier: 3.0.5
version: 3.0.5(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5)
version: 3.0.5(jest@29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5)))(typescript@5.4.5)
shx:
specifier: 0.3.4
version: 0.3.4
ts-jest:
specifier: 29.2.5
version: 29.2.5(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5)
version: 29.2.5(@babel/core@7.25.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.7))(jest@29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5)))(typescript@5.4.5)
postman:
dependencies:
@@ -2210,8 +2204,8 @@ packages:
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@layerswap/widget@0.1.14':
resolution: {integrity: sha512-+h2rLGhzSzptWb2mNE1J2Iygl3uLnEylH+cwW0CLJx93axlLQtMK2It2pAof5bM6b4Ni5d4r98tYvhN/1mcM4A==}
'@layerswap/widget@0.1.15':
resolution: {integrity: sha512-4AS7XS59AFfdm4QbGxXR3F9WqPE4a5KSxofqiMy8Jo5iJlkQH/4D+FSoPET1OFofy6KSl4naejIA6m0x1r6GWA==}
engines: {node: '>=22'}
peerDependencies:
'@tanstack/react-query': ^5.59.20
@@ -6681,12 +6675,12 @@ packages:
react-dom:
optional: true
framer-motion@11.11.4:
resolution: {integrity: sha512-54UE9loF2ZBgyjdMmxzp9kxm0gvYjFfpd7GiThdCCp5+J0P4Oa7pM0yusd9Y3rm/EUAdD+FfgqRXfbK7k3RFiA==}
framer-motion@12.10.1:
resolution: {integrity: sha512-g+fANUVC17SzQc6eA0CtomBW4n67ckhS2hq5fjkKZneKzv7sbdXK3zzjnnAKB22Ck+Qhh+IlO5RjHNKULsq99Q==}
peerDependencies:
'@emotion/is-prop-valid': '*'
react: ^18.0.0
react-dom: ^18.0.0
react: ^18.0.0 || ^19.0.0
react-dom: ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/is-prop-valid':
optional: true
@@ -8323,9 +8317,29 @@ packages:
mock-fs@4.14.0:
resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==}
motion-dom@12.10.1:
resolution: {integrity: sha512-rY8DNqgKh4LeFSQBkuXpe/7sycYS9RM+4luukjHpHogF1liSvIp0Hedx0q2QsWNz+AHuZ5bZQ9j9QZSUCA8bbw==}
motion-utils@12.9.4:
resolution: {integrity: sha512-BW3I65zeM76CMsfh3kHid9ansEJk9Qvl+K5cu4DVHKGsI52n76OJ4z2CUJUV+Mn3uEP9k1JJA3tClG0ggSrRcg==}
motion@10.16.2:
resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==}
motion@12.10.1:
resolution: {integrity: sha512-WBpo3oiIQRDMQqMRn3DAgBJrjqGMKY+BomsINn67ot8c+691pwHvUUo+kvknck7kNkUPOAq2EHbAEwlx+5Vfow==}
peerDependencies:
'@emotion/is-prop-valid': '*'
react: ^18.0.0 || ^19.0.0
react-dom: ^18.0.0 || ^19.0.0
peerDependenciesMeta:
'@emotion/is-prop-valid':
optional: true
react:
optional: true
react-dom:
optional: true
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -8392,13 +8406,6 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
next-seo@6.6.0:
resolution: {integrity: sha512-0VSted/W6XNtgAtH3D+BZrMLLudqfm0D5DYNJRXHcDgan/1ZF1tDFIsWrmvQlYngALyphPfZ3ZdOqlKpKdvG6w==}
peerDependencies:
next: ^8.1.1-canary.54 || >=9.0.0
react: '>=16.0.0'
react-dom: '>=16.0.0'
next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
@@ -9361,11 +9368,6 @@ packages:
react-native:
optional: true
react-icons@5.5.0:
resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==}
peerDependencies:
react: '*'
react-international-phone@4.2.5:
resolution: {integrity: sha512-jXxeEG5jvwivwSb/ImIIwIH1lSGD6VSy4W2CaInBiXo2PWnDj2BTzC0sAyZzNJarT7NX9kPdUHyGyyfziS5Rpw==}
peerDependencies:
@@ -13973,7 +13975,7 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@layerswap/widget@0.1.14(36cdbs6sbt4hnf6malkxxidv2e)':
'@layerswap/widget@0.1.15(36cdbs6sbt4hnf6malkxxidv2e)':
dependencies:
'@headlessui/react': 2.1.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@metamask/jazzicon': 2.0.0
@@ -19697,7 +19699,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.7(supports-color@8.1.1)
debug: 4.4.0(supports-color@8.1.1)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -20342,8 +20344,10 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
framer-motion@11.11.4(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
framer-motion@12.10.1(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
motion-dom: 12.10.1
motion-utils: 12.9.4
tslib: 2.7.0
optionalDependencies:
'@emotion/is-prop-valid': 1.3.1
@@ -21594,12 +21598,6 @@ snapshots:
slash: 3.0.0
stack-utils: 2.0.6
jest-mock-extended@3.0.5(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5):
dependencies:
jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5))
ts-essentials: 7.0.3(typescript@5.4.5)
typescript: 5.4.5
jest-mock-extended@3.0.5(jest@29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5)))(typescript@5.4.5):
dependencies:
jest: 29.7.0(@types/node@22.7.5)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.7.5)(typescript@5.4.5))
@@ -22513,6 +22511,12 @@ snapshots:
mock-fs@4.14.0: {}
motion-dom@12.10.1:
dependencies:
motion-utils: 12.9.4
motion-utils@12.9.4: {}
motion@10.16.2:
dependencies:
'@motionone/animation': 10.18.0
@@ -22522,6 +22526,15 @@ snapshots:
'@motionone/utils': 10.18.0
'@motionone/vue': 10.16.4
motion@12.10.1(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
framer-motion: 12.10.1(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
tslib: 2.7.0
optionalDependencies:
'@emotion/is-prop-valid': 1.3.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
mri@1.2.0: {}
ms@2.0.0: {}
@@ -22583,12 +22596,6 @@ snapshots:
neo-async@2.6.2: {}
next-seo@6.6.0(next@14.2.25(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.86.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
next: 14.2.25(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.86.0)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
next-tick@1.1.0: {}
next@14.2.25(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.86.0):
@@ -23500,10 +23507,6 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
react-native: 0.74.0(@babel/core@7.25.7)(@babel/preset-env@7.25.7(@babel/core@7.25.7))(@types/react@18.3.11)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)
react-icons@5.5.0(react@18.3.1):
dependencies:
react: 18.3.1
react-international-phone@4.2.5(react@18.3.1):
dependencies:
react: 18.3.1