From f1af361ae23e6cace743fe5924dd745879ef6491 Mon Sep 17 00:00:00 2001 From: Bartek Date: Tue, 19 Nov 2024 16:49:42 +0100 Subject: [PATCH 1/3] test: fix flaky e2e tests (#2083) Co-authored-by: Fionna Chan <13184582+fionnachan@users.noreply.github.com> --- packages/arb-token-bridge-ui/tests/e2e/cypress.d.ts | 2 ++ .../tests/e2e/specs/batchDeposit.cy.ts | 6 ++---- .../tests/e2e/specs/depositERC20.cy.ts | 6 ++---- .../tests/e2e/specs/depositNativeToken.cy.ts | 6 ++---- packages/arb-token-bridge-ui/tests/support/commands.ts | 10 +++++++++- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/packages/arb-token-bridge-ui/tests/e2e/cypress.d.ts b/packages/arb-token-bridge-ui/tests/e2e/cypress.d.ts index 5b44d31925..267a499bf2 100644 --- a/packages/arb-token-bridge-ui/tests/e2e/cypress.d.ts +++ b/packages/arb-token-bridge-ui/tests/e2e/cypress.d.ts @@ -16,6 +16,7 @@ import { findGasFeeSummary, findGasFeeForChain, findMoveFundsButton, + startTransfer, findSelectTokenButton, openTransactionDetails, closeTransactionDetails, @@ -64,6 +65,7 @@ declare global { findGasFeeForChain: typeof findGasFeeForChain findGasFeeSummary: typeof findGasFeeSummary findMoveFundsButton: typeof findMoveFundsButton + startTransfer: typeof startTransfer findSelectTokenButton: typeof findSelectTokenButton openTransactionDetails: typeof openTransactionDetails closeTransactionDetails: typeof closeTransactionDetails diff --git a/packages/arb-token-bridge-ui/tests/e2e/specs/batchDeposit.cy.ts b/packages/arb-token-bridge-ui/tests/e2e/specs/batchDeposit.cy.ts index 6f002c0385..b8661d2da5 100644 --- a/packages/arb-token-bridge-ui/tests/e2e/specs/batchDeposit.cy.ts +++ b/packages/arb-token-bridge-ui/tests/e2e/specs/batchDeposit.cy.ts @@ -131,8 +131,7 @@ describe('Batch Deposit', () => { } context('should deposit successfully', () => { - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() cy.findTransactionInTransactionHistory({ ...txData, duration: depositTime @@ -237,8 +236,7 @@ describe('Batch Deposit', () => { } context('should deposit successfully', () => { - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() cy.findTransactionInTransactionHistory({ ...txData, duration: depositTime diff --git a/packages/arb-token-bridge-ui/tests/e2e/specs/depositERC20.cy.ts b/packages/arb-token-bridge-ui/tests/e2e/specs/depositERC20.cy.ts index 1cd9ac5c13..27894707c3 100644 --- a/packages/arb-token-bridge-ui/tests/e2e/specs/depositERC20.cy.ts +++ b/packages/arb-token-bridge-ui/tests/e2e/specs/depositERC20.cy.ts @@ -89,8 +89,7 @@ describe('Deposit Token', () => { }) context('should deposit successfully', () => { - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() cy.findTransactionInTransactionHistory({ duration: depositTime, amount: ERC20AmountToSend, @@ -131,8 +130,7 @@ describe('Deposit Token', () => { }) context('should deposit successfully', () => { - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() const txData = { amount: ERC20AmountToSend, symbol: testCase.symbol diff --git a/packages/arb-token-bridge-ui/tests/e2e/specs/depositNativeToken.cy.ts b/packages/arb-token-bridge-ui/tests/e2e/specs/depositNativeToken.cy.ts index cab1fb0e21..7a57a14504 100644 --- a/packages/arb-token-bridge-ui/tests/e2e/specs/depositNativeToken.cy.ts +++ b/packages/arb-token-bridge-ui/tests/e2e/specs/depositNativeToken.cy.ts @@ -31,8 +31,7 @@ describe('Deposit native token', () => { cy.findGasFeeSummary(zeroToLessThanOneEth) cy.findGasFeeForChain(getL1NetworkName(), zeroToLessThanOneEth) cy.findGasFeeForChain(getL2NetworkName(), zeroToLessThanOneNativeToken) - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() cy.findTransactionInTransactionHistory({ duration: depositTime, amount: ETHAmountToDeposit, @@ -54,8 +53,7 @@ describe('Deposit native token', () => { cy.findGasFeeSummary(zeroToLessThanOneEth) cy.findGasFeeForChain(getL1NetworkName(), zeroToLessThanOneEth) cy.findGasFeeForChain(getL2NetworkName(), zeroToLessThanOneNativeToken) - cy.findMoveFundsButton().click() - cy.confirmMetamaskTransaction() + cy.startTransfer() const txData = { amount: ETHAmountToDeposit, diff --git a/packages/arb-token-bridge-ui/tests/support/commands.ts b/packages/arb-token-bridge-ui/tests/support/commands.ts index fef1e5d1f0..7010ca34d3 100644 --- a/packages/arb-token-bridge-ui/tests/support/commands.ts +++ b/packages/arb-token-bridge-ui/tests/support/commands.ts @@ -127,7 +127,7 @@ export const openTransactionsPanel = (tab: 'pending' | 'settled') => { .should('be.visible'), { errorMsg: 'Failed to fetch transactions.', - timeout: 30_000, + timeout: 120_000, interval: 500 } ) @@ -247,6 +247,13 @@ export function findMoveFundsButton(): Cypress.Chainable> { .should('be.visible') } +export function startTransfer() { + cy.wait(5_000) + cy.findMoveFundsButton().click() + cy.wait(15_000) + cy.confirmMetamaskTransaction() +} + export function findSelectTokenButton( text: string ): Cypress.Chainable> { @@ -397,6 +404,7 @@ Cypress.Commands.addAll({ findGasFeeForChain, findGasFeeSummary, findMoveFundsButton, + startTransfer, findSelectTokenButton, closeTransactionHistoryPanel, openTransactionDetails, From 7c9fabf022108370d5a4bc0f0df4d949ec646ef7 Mon Sep 17 00:00:00 2001 From: Dewansh Date: Wed, 20 Nov 2024 15:52:20 +0530 Subject: [PATCH 2/3] feat: make L3X chain withdraw-only (#2091) --- .../TransferPanel/useTransferReadiness.ts | 10 +++++ .../src/util/orbitChainsData.json | 42 ------------------- 2 files changed, 10 insertions(+), 42 deletions(-) diff --git a/packages/arb-token-bridge-ui/src/components/TransferPanel/useTransferReadiness.ts b/packages/arb-token-bridge-ui/src/components/TransferPanel/useTransferReadiness.ts index df4f371fc1..16044f76b6 100644 --- a/packages/arb-token-bridge-ui/src/components/TransferPanel/useTransferReadiness.ts +++ b/packages/arb-token-bridge-ui/src/components/TransferPanel/useTransferReadiness.ts @@ -265,6 +265,16 @@ export function useTransferReadiness(): UseTransferReadinessResult { return notReady() } + // disable deposits to L3X + if (isDepositMode && childChain.id === 12324) { + return notReady({ + errorMessages: { + inputAmount1: + 'Deposits to the L3X chain are currently disabled. Withdrawals remain available. Please complete any pending transactions or reach out to support for further assistance.' + } + }) + } + // teleport transfers using SC wallets not enabled yet if (isSmartContractWallet && isTeleportMode) { return notReady({ diff --git a/packages/arb-token-bridge-ui/src/util/orbitChainsData.json b/packages/arb-token-bridge-ui/src/util/orbitChainsData.json index 887a15772f..2fc3853b9c 100644 --- a/packages/arb-token-bridge-ui/src/util/orbitChainsData.json +++ b/packages/arb-token-bridge-ui/src/util/orbitChainsData.json @@ -964,48 +964,6 @@ } } }, - { - "chainId": 12325, - "confirmPeriodBlocks": 150, - "ethBridge": { - "bridge": "0x98DBc5f9d4BB16A7c8C21e36789E673b6E0FDf37", - "inbox": "0xB0e78299F14b50d151a5eF92b6465bb807B6e56b", - "outbox": "0x243487a26284B17b70E8A183a7a1FeB5A6b00824", - "rollup": "0xce99C9E7566438a8311424aD0287EB0fDEAc55A2", - "sequencerInbox": "0xd598F60Ae694bE2aF9D6933aD9e9f7A431A2005E" - }, - "explorerUrl": "https://explorer-testnet.l3x.com", - "rpcUrl": "https://rpc-testnet.l3x.com", - "isCustom": true, - "isTestnet": true, - "name": "L3X Network Testnet", - "slug": "l3x-network-testnet", - "parentChainId": 421614, - "tokenBridge": { - "parentCustomGateway": "0x00eE97A18A85a58fbfddA2CCa2Bdb3B88d1068b3", - "parentErc20Gateway": "0xD2e9EA14CE4C61630a87bC652f5cD51deA7C66bA", - "parentGatewayRouter": "0x8D684F7fA0aE2a13e0a1FAa60699ee2db46505a8", - "parentMultiCall": "0xce1CAd780c529e66e3aa6D952a1ED9A6447791c1", - "parentProxyAdmin": "0x0000000000000000000000000000000000000000", - "parentWeth": "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", - "parentWethGateway": "0xB001D0E3a43EbB820E82720a2Bd74f4C03a5b424", - "childCustomGateway": "0xcc3fa38D4a18474DF92107d328bF4A6F7C9fA29A", - "childErc20Gateway": "0x7aeD67245Db9b4E6bB26791b48E20aBbA9411EdD", - "childGatewayRouter": "0xF40E36d3043373Ce6F89abe3914d631135342C28", - "childMultiCall": "0xa8D4b59f0FB23CB785d360E73C7364dDB3e34A62", - "childProxyAdmin": "0xC381Ff423f37d42b0b9B84195D9C9C31eDc26e73", - "childWeth": "0x6793D074d3A410C803B8C2086E569883D6e928F1", - "childWethGateway": "0x4F24D0244B29d76ED1FBD3c8a9967b72b78B9DBd" - }, - "bridgeUiConfig": { - "color": "#3ABE7B", - "network": { - "name": "L3X Network Testnet", - "logo": "/images/L3XLogo.png", - "description": "Leverage LRTs to earn yield and trade perpetuals on L3X Layer 3 Network." - } - } - }, { "chainId": 1918988905, "confirmPeriodBlocks": 64, From 1286e2b6e12750def7b8420e8f7626f324009e07 Mon Sep 17 00:00:00 2001 From: spsjvc Date: Wed, 20 Nov 2024 16:15:42 +0100 Subject: [PATCH 3/3] feat: dynamically set meta tags (#1453) Co-authored-by: Fionna <13184582+fionnachan@users.noreply.github.com> --- packages/arb-token-bridge-ui/.gitignore | 3 + packages/arb-token-bridge-ui/package.json | 7 +- .../public/images/PolterTestnetLogo.png | Bin 15086 -> 0 bytes .../public/images/PolterTestnetLogo.webp | Bin 0 -> 582 bytes .../__auto-generated/open-graph/.gitkeep | 0 .../arb-token-bridge-ui/scripts/tsconfig.json | 3 +- .../src/font/Unica77LL-Medium.otf | Bin 0 -> 116748 bytes .../src/font/Unica77LL-Regular.otf | Bin 0 -> 115068 bytes .../src/generateOpenGraphImages.tsx | 344 ++++++++++++++++++ .../arb-token-bridge-ui/src/pages/_app.tsx | 84 ++++- .../src/pages/_document.tsx | 20 - .../src/types/ChainQueryParam.ts | 1 - .../arb-token-bridge-ui/src/util/networks.ts | 2 + .../src/util/orbitChainsData.json | 2 +- .../src/util/wagmi/getWagmiChain.ts | 3 +- .../src/util/wagmi/setup.ts | 13 +- packages/arb-token-bridge-ui/tsconfig.json | 11 +- yarn.lock | 263 ++++++++++++- 18 files changed, 720 insertions(+), 36 deletions(-) delete mode 100644 packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.png create mode 100644 packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.webp create mode 100644 packages/arb-token-bridge-ui/public/images/__auto-generated/open-graph/.gitkeep create mode 100644 packages/arb-token-bridge-ui/src/font/Unica77LL-Medium.otf create mode 100644 packages/arb-token-bridge-ui/src/font/Unica77LL-Regular.otf create mode 100644 packages/arb-token-bridge-ui/src/generateOpenGraphImages.tsx diff --git a/packages/arb-token-bridge-ui/.gitignore b/packages/arb-token-bridge-ui/.gitignore index c11e5a25db..118a252e21 100644 --- a/packages/arb-token-bridge-ui/.gitignore +++ b/packages/arb-token-bridge-ui/.gitignore @@ -40,3 +40,6 @@ yarn-error.log* # Next.js .next next-env.d.ts + +# auto-generated images +public/images/__auto-generated diff --git a/packages/arb-token-bridge-ui/package.json b/packages/arb-token-bridge-ui/package.json index 5794a2eb9e..abe147b101 100644 --- a/packages/arb-token-bridge-ui/package.json +++ b/packages/arb-token-bridge-ui/package.json @@ -40,7 +40,7 @@ "react-toastify": "^9.1.1", "react-use": "^17.2.4", "react-virtualized": "^9.22.3", - "sharp": "^0.32.6", + "sharp": "^0.33.5", "swr": "^2.1.2", "tailwind-merge": "^2.0.0", "use-query-params": "^2.2.1", @@ -49,8 +49,9 @@ "zustand": "^4.3.9" }, "scripts": { + "predev": "yarn generateDenylist && yarn generateOpenGraphImages", "dev": "next dev", - "prebuild": "yarn generateDenylist", + "prebuild": "yarn generateDenylist && yarn generateOpenGraphImages", "postinstall": "patch-package", "build": "next build", "start": "next start", @@ -60,6 +61,7 @@ "lint:fix": "tsc && eslint 'src/**/*.{js,ts,tsx}' --quiet --fix", "prettier:format": "prettier --config-precedence file-override --write \"src/**/*.{tsx,ts,scss,md,json}\"", "generateDenylist": "ts-node --project ./scripts/tsconfig.json ./scripts/generateDenylist.ts", + "generateOpenGraphImages": "ts-node --project ./scripts/tsconfig.json ./src/generateOpenGraphImages.tsx", "generateCoreChainsToMonitor": "ts-node --project ./scripts/tsconfig.json ./scripts/generateCoreChainsToMonitor.ts", "generateOrbitChainsToMonitor": "ts-node --project ./scripts/tsconfig.json ./scripts/generateOrbitChainsToMonitor.ts" }, @@ -110,6 +112,7 @@ "postinstall-postinstall": "^2.1.0", "prettier": "^2.7.1", "prettier-plugin-tailwindcss": "^0.1.11", + "satori": "^0.10.11", "start-server-and-test": "^2.0.0", "tailwindcss": "^3.2.4", "ts-node": "^10.9.1", diff --git a/packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.png b/packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.png deleted file mode 100644 index 70ee5c61fb6933d164c6c5432178686fb49a90c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 zcmeHNNoW*76s<9?7mcE(YD`QJg}8tLMTp=Af?h-r6~P6!g9kxDM8repq=E-g^dKHY zMQ{O8au5|!yeN2b!Gov_BA();dSWzc%=cCI^f)s;J-sI;)WDxVT~)vS>))@I{!@&l zSRHF?W6&+^`W(iVF!t}dp0ST8v+MVbX6!f`w5m3coe*WGKCKf>RrW=OAT2rungf~x zngf~xBbWnO+}nr1B6;6`5tF=_TDEZeya4tW8h;GqTE~BA_lY|G!!!O}Qznv}IXSrS zyRpt&A^GETnsqb-_FEc%$-JxM@8C$S0?nTi?x-Av=1(oUIO>L)KSZpKq*w#FLXt0b z0Q4vrD*V*bFrN&561cw<=kL5&<^k7HJ(&2ZyP*X!J_gKhi4g;M;1zsF>xcT;Ziq^h8N7Gms-Mqfs(_zivyvF>*CDa9+q>Ii*JH~EC; z*$jMKbtvXcd!v2-KrFw2pK>N62F z7c^PAjz|{#**aUeep1jGOAjaoTv=1c{H4xmwLn%vis!Vdyd4hWK1+|=VK8nrAME#3 z{t2}w&U_f@UEuPgV$MbKr=I?$I2xA!$W4tg zbL)n08Ah zl7B0g%6|^Fe?03&kj@Bx3q0|?|FZUIR=)dVbiV<48kE<%eXw~z$1Blz)tW_9NV${? zWl~fj{T-Q97Q#9*NQq>S&%mabU^f8ihnQIqS2rq8Q4eW>6!R1*TvU8U*0|;;%)Nu! zKiFc39{=~qw^f8k?eTMw?DJwh_8OZ?Gq`UK{K2M<7=_rT!m~c#ehBA z(i;8|e|{P^Z_wr(+P0V4s^26VHoMzn|7o4K7*lCyU!(uK?)J6g2fG9AwrYK?VhtAF}0WN0&h diff --git a/packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.webp b/packages/arb-token-bridge-ui/public/images/PolterTestnetLogo.webp new file mode 100644 index 0000000000000000000000000000000000000000..c466d2526edf67b0e3a94545852840176d3e70ef GIT binary patch literal 582 zcmV-M0=fNCNk&FK0ssJ4MM6+kP&il$0000G0000l001ul06|PpNV5O{00DriZU6b_ z{cCHsSMAEQWF+excmisxYqpbj0BdYkvb}fw{yx9&+#+HE_>a4}W_172EH44t(Qp#V9w30?JP+NJz2WJvC|#LA#mrt6p_7i)qg(q+7y^M-Fo zKF(LV8nU0t0B|dvej<4@QRt+GB{2YD4XY%15T!P027t)MeKJ{Xz$Czy(VnE2@xLG! zcl9w17HIzOYjaKgMuY!S09H^qAY=gm0PqU{odGH^05AYPITndRq9Gv{90xEU1BA8! zV_KlU0Q^Af0)pJn@dNTZssn60wTGSgFUSvI9KzdxKTChoe^vM3=>YzT{ddtP*aOf5 z^;gml_XFT(_KWs+*)Rv&TazV?%oIml0092;!9p4|i)6oK372f9Zn<|{yD$|1HMDJ> z<{0p-k*|<9*!iVwH;{nkI2aH6S3)mExm?&mt6h*tGQk(zh|=)L!#Hnj0|*Wl#D-`M zLwBhQZ;ATKh!hQ1^4a*tUqES3J!@FaL;9Nk|FGBp_0b>y>n#Yt&^c{_P}$jPs#Tc~ zu8;1jEpHaTnPR`9P6okR?y&kbKn2~0F-JG^8f$< literal 0 HcmV?d00001 diff --git a/packages/arb-token-bridge-ui/public/images/__auto-generated/open-graph/.gitkeep b/packages/arb-token-bridge-ui/public/images/__auto-generated/open-graph/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/arb-token-bridge-ui/scripts/tsconfig.json b/packages/arb-token-bridge-ui/scripts/tsconfig.json index 2eba876951..18b760b317 100644 --- a/packages/arb-token-bridge-ui/scripts/tsconfig.json +++ b/packages/arb-token-bridge-ui/scripts/tsconfig.json @@ -15,6 +15,7 @@ }, "compilerOptions": { // typescript options here - "moduleResolution": "NodeNext" + "moduleResolution": "NodeNext", + "jsx": "react" } } diff --git a/packages/arb-token-bridge-ui/src/font/Unica77LL-Medium.otf b/packages/arb-token-bridge-ui/src/font/Unica77LL-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..e53df6d0530619f3ba1efbfe6fcd65fda3d054a0 GIT binary patch literal 116748 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%0D~UUu>Z2z}1QCB7~#)_7>H^ zu!;xXv5WbNI3{psRhntdHH-I+stcCbx-eeKG=1=Ept{(h+_!QS@%^Ug{UPrCh^q_h z9L9k8?qMy!NBo0zE^|F&@Do){-CSKnp7Xd@CjCpWA*Rf!>Jd{-)g!+hOfFcyJ#jQ= z&Tl(xhqd9kHF~REa(Qd@ZvWZ#CM^D@tqb2l{?WIq4tk%etvfN-^<;Ghvtz^TWtPDz z4lB=kysAo^vLfgreWpvlgRB32svYSzGF_RqQIC4-2B*7UU2FXwQ zK2V({buWIVks88!nWOOQ2Jcr(U#SYo?;dlDI^UcJENoY;Om+CFEtGeXs>dppMrI20 zYG*Jb>J-}ZXI0hJyVQNDiC^vk;oj9yCn$o_W%FH%R6*F)U}o&~1Ly94W{wYS;k&<|UCzf#Xd zlyeJpZMl2AN4Q6LFQ6XMxOWlQl={@`C=-2z?`x%>2(0QK`PP6L6}!~g(rBR>kiWzDfH^9hbUW@C5Vi>cKyCk$zC>-d6gh^o?@w z^jX($g8TJQ{L7dXE^s65cbIqS@6zX_zq|Gg`aONm_5ZlLtG7w)fOrM?X`pIDon`22 z=(}6JZRTv|Z%tP<0=N)(r(SmympjN$(2lOYy{*OHgF1}DmGmbE(^78&lRK!J`jj*@k{z9oSf9dVov5gwtsc{yL2de88;whk&nLmkJL0r#roy*mqOZ=G2TYO*6^DA7pa@~U@zLj}I zJt_F#e8On-0#(DNsg}Tg2lABT@VMYo=_ArN%DaQ#9gYp^(A5F|mA?CMD{!o+56_2V z&l4ITc)0Za0Qe2sLg<9#t85rm#cfi$ZGtum?$8y1tpL_a--X@?&JWdwYNQ_X`tVO} zR&G|*mqJ6X<@p#^U&>uBzBzhxG0)JWQsHugaM0{VjE0(-$Dvubvl8THaEkan2998D z25TFeQ;*Hfnd%(u>xAQlKVpLr}OV@N84&6aW1sy zfIsAWC(@Anh4}G|?jRQ&RYB@qaG-6=HH2s37yhnNLLaDQgs=X>6}(=?bNU+?qqyuZ%(p7XtL z?z~T6Da|KK@Zz)ETKkq9^97rD@RhayPVt-jQhi~(y+D6QiLC|tKgxG#RBm$xa5$`| ztY@5cF3S#P7vtK)8qea>6Y@bA@d4P_+Hd|Y2DjH%Wv{>~u7{=Z&|M>8GxZ83_D@@w zi(%qpQ-YdK&Q}2=jQW@61lIXP>dOq;VpCsM_}nxIKHpivjk3>Clg3l}Ce6|Zh8PDn z#uB+am`-erJ+hdrF%6`)66NvaUi}YGRw81l)d623cN*k?ZzIF?L9iQa2W>!SD`Zpq z-9TFOC>RSea6ALY@3?%>MO^A~S>Br~G>`}O1=n0x@XB>CFZaPbP#hfxlYmy^3GgAk zzDGF(bdPLrz+W+xTw18|WFKAgng{{Vb% zH*K%6_t|{qYMPBt!^DDi`Ow-?d%Rar*S3z&!kNfTNne^ag;!eFaA`mGV_M%~4&X2O z96fe`>yujN>;*cx9<=!IgKsb6E3<1q5TTECPrv!2KWw0X^67}}F*?E)t7k}B82et+ zX!tl7x4w%j`P!S-|BQROHfga#e0X4-s3VRvanBBmE%N;pw2AzG+1fdTz0v9|vaZC1 zL<97Om#l9`*h8GbJ{COTbO!bFM7qFpM{#I{_^Gk4@M*NTv%^4mY0y;flH-<5V@bcJ`-rmdeeO`s%%?h% zk~XCU2Z%>KUi+nbFQ+wa>$*fd0_FVpkaZ!xB>6C3&VN47Rcfay&Uu{!7aHAjd{}hf z;Nc6f0M3Jp;5B##WD{Nj*^*N8Hp}@-&F2jL*i18ct+25+=<(X%zgoa+fIs8zt(b$} z@*Gr;H=Pro>o?5tRrwu%42lbWuDpijOhYSY?UaYxC|k(Gt(JqQi37KIQhPVymtsI= oJYe1)#gF6p_(ps+J{QmNGZTM|7viZnif7~NW}mZ29`HL@2cf9S9RL6T literal 0 HcmV?d00001 diff --git a/packages/arb-token-bridge-ui/src/generateOpenGraphImages.tsx b/packages/arb-token-bridge-ui/src/generateOpenGraphImages.tsx new file mode 100644 index 0000000000..43e422430f --- /dev/null +++ b/packages/arb-token-bridge-ui/src/generateOpenGraphImages.tsx @@ -0,0 +1,344 @@ +import React from 'react' +import satori, { Font } from 'satori' +import sharp from 'sharp' +import fs from 'fs' +import { ChainId, isNetwork } from './util/networks' +import { getBridgeUiConfigForChain } from './util/bridgeUiConfig' +import { orbitMainnets, orbitTestnets } from './util/orbitChainsList' + +const dimensions = { + width: 1200, + height: 627 +} as const + +async function getFonts(): Promise { + const unica77_regular = fs.readFileSync('./src/font/Unica77LL-Regular.otf') + const unica77_medium = fs.readFileSync('./src/font/Unica77LL-Medium.otf') + + return [ + { + name: 'Unica77', + data: unica77_regular, + weight: 400, + style: 'normal' + }, + { + name: 'Unica77', + data: unica77_medium, + weight: 500, + style: 'normal' + } + ] +} + +type Chain = ChainId | number + +type ChainCombination = [Chain, Chain] + +const chainToLogo: { [key: Chain]: string } = { + [ChainId.Ethereum]: 'https://l2beat.com/icons/ethereum.png', + [ChainId.ArbitrumOne]: 'https://l2beat.com/icons/arbitrum.png', + [ChainId.ArbitrumNova]: 'https://l2beat.com/icons/nova.png', + [ChainId.Sepolia]: 'https://l2beat.com/icons/ethereum.png', + [ChainId.ArbitrumSepolia]: 'https://l2beat.com/icons/arbitrum.png' +} + +const configs: ChainCombination[] = [ + [ChainId.Ethereum, ChainId.ArbitrumOne], + [ChainId.Ethereum, ChainId.ArbitrumNova], + [ChainId.Sepolia, ChainId.ArbitrumSepolia], + ...Object.values(orbitMainnets).map( + chain => [chain.parentChainId, chain.chainId] as ChainCombination + ), + ...Object.values(orbitTestnets).map( + chain => [chain.parentChainId, chain.chainId] as ChainCombination + ) +] + +function ChainWrapper({ + chain, + direction +}: { + chain: Chain + direction: 'From' | 'To' +}) { + const chainConfig = getBridgeUiConfigForChain(chain) + return ( +
+ + {direction}: {chainConfig.network.name} + + {`${chainConfig.network.name} +
+ ) +} + +function ArbitrumLogo({ + style, + width, + height +}: { + style: React.CSSProperties + width: number + height: number +}) { + return ( + Arbitrum Logo + ) +} + +function getCoreChainImage(from: Chain, to: Chain) { + return ( +
+
+ + + BRIDGE + +
+ + arrow + +
+
+ ) +} + +async function getOrbitChainImage(orbitChain: Chain) { + const chainConfig = getBridgeUiConfigForChain(orbitChain) + const isSvg = chainConfig.network.logo.endsWith('.svg') + const logoFileBuffer = fs.readFileSync(`./public${chainConfig.network.logo}`) + + console.log(`Generating image for ${orbitChain}`) + + const imageContent = isSvg + ? await sharp(logoFileBuffer) + .resize({ + width: 120, + height: 120, + fit: 'contain', + background: 'transparent' + }) + .toBuffer() + : await sharp(logoFileBuffer).png().toBuffer() + + return ( +
+
+
+ + logo + + {chainConfig.network.name.toUpperCase()} + + + BRIDGE + +
+
+ ) +} +async function generateSvg(orbitChain: Chain): Promise +async function generateSvg({ + from, + to +}: { + from: Chain + to: Chain +}): Promise +async function generateSvg( + chainsOrOrbitChain: Chain | { from: Chain; to: Chain } +): Promise { + const fonts = await getFonts() + const isOrbitChain = typeof chainsOrOrbitChain === 'number' + + const svg = await satori( + isOrbitChain + ? await getOrbitChainImage(chainsOrOrbitChain) + : getCoreChainImage(chainsOrOrbitChain.from, chainsOrOrbitChain.to), + { + ...dimensions, + fonts + } + ) + + const file = isOrbitChain + ? `${chainsOrOrbitChain}.jpg` + : `${chainsOrOrbitChain.from}-to-${chainsOrOrbitChain.to}.jpg` + const filePath = `./public/images/__auto-generated/open-graph/${file}` + + await sharp(Buffer.from(svg)) + .jpeg({ quality: 90, mozjpeg: true }) + .toFile(filePath) + + console.log(`Generated ${filePath}`) +} + +async function main() { + for (const combination of configs) { + const { isCoreChain: isChildChainCoreChain } = isNetwork(combination[1]) + + if (!isChildChainCoreChain) { + await generateSvg(combination[1]) + } else { + await generateSvg({ from: combination[0], to: combination[1] }) + await generateSvg({ from: combination[1], to: combination[0] }) + } + } +} + +main() diff --git a/packages/arb-token-bridge-ui/src/pages/_app.tsx b/packages/arb-token-bridge-ui/src/pages/_app.tsx index 6fb6a7eca0..6a10075e3e 100644 --- a/packages/arb-token-bridge-ui/src/pages/_app.tsx +++ b/packages/arb-token-bridge-ui/src/pages/_app.tsx @@ -14,11 +14,17 @@ import 'tippy.js/themes/light.css' import '@rainbow-me/rainbowkit/styles.css' import { Layout } from '../components/common/Layout' -import { siteTitle } from './_document' import '../styles/tailwind.css' import '../styles/purple.css' +import { + ChainKeyQueryParam, + getChainForChainKeyQueryParam +} from '../types/ChainQueryParam' import { isUserRejectedError } from '../util/isUserRejectedError' +import { isNetwork } from '../util/networks' + +const siteTitle = 'Bridge to Arbitrum' dayjs.extend(utc) dayjs.extend(relativeTime) @@ -74,10 +80,84 @@ if ( }) } -export default function App({ Component, pageProps }: AppProps) { +function DynamicMetaData({ + sourceChainSlug, + destinationChainSlug +}: { + sourceChainSlug: ChainKeyQueryParam + destinationChainSlug: ChainKeyQueryParam +}) { + const sourceChainInfo = getChainForChainKeyQueryParam(sourceChainSlug) + const destinationChainInfo = + getChainForChainKeyQueryParam(destinationChainSlug) + const { isOrbitChain: isSourceOrbitChain } = isNetwork(sourceChainInfo.id) + const { isOrbitChain: isDestinationOrbitChain } = isNetwork( + destinationChainInfo.id + ) + + const siteDescription = `Bridge from ${sourceChainInfo.name} to ${destinationChainInfo.name} using the Arbitrum Bridge. Built to scale Ethereum, Arbitrum brings you 10x lower costs while inheriting Ethereum’s security model. Arbitrum is a Layer 2 Optimistic Rollup.` + const siteDomain = 'https://bridge.arbitrum.io' + + let metaImagePath = `${sourceChainInfo.id}-to-${destinationChainInfo.id}.jpg` + + if (isSourceOrbitChain) { + metaImagePath = `${sourceChainInfo.id}.jpg` + } + + if (isDestinationOrbitChain) { + metaImagePath = `${destinationChainInfo.id}.jpg` + } + + return ( + <> + + + {/* */} + + + + + + + {/* */} + + + + + + + + ) +} + +export default function App({ Component, pageProps, router }: AppProps) { + const sourceChainSlug = (router.query.sourceChain?.toString() ?? + 'ethereum') as ChainKeyQueryParam + const destinationChainSlug = (router.query.destinationChain?.toString() ?? + 'arbitrum-one') as ChainKeyQueryParam + return ( <> + {siteTitle} diff --git a/packages/arb-token-bridge-ui/src/pages/_document.tsx b/packages/arb-token-bridge-ui/src/pages/_document.tsx index 85136cf939..cae930c3c6 100644 --- a/packages/arb-token-bridge-ui/src/pages/_document.tsx +++ b/packages/arb-token-bridge-ui/src/pages/_document.tsx @@ -1,10 +1,5 @@ import { Html, Head, Main, NextScript } from 'next/document' -export const siteTitle = 'Bridge to Arbitrum' -const siteDomain = 'https://bridge.arbitrum.io' -const siteDescription = - 'Built to scale Ethereum, Arbitrum brings you 10x lower costs while inheriting Ethereum’s security model. Arbitrum is a Layer 2 Optimistic Rollup.' - export default function Document() { return ( @@ -13,21 +8,6 @@ export default function Document() { - - {/* */} - - - - - - - {/* */} - - - - - -
diff --git a/packages/arb-token-bridge-ui/src/types/ChainQueryParam.ts b/packages/arb-token-bridge-ui/src/types/ChainQueryParam.ts index 77abdf0b20..cb41de6fc8 100644 --- a/packages/arb-token-bridge-ui/src/types/ChainQueryParam.ts +++ b/packages/arb-token-bridge-ui/src/types/ChainQueryParam.ts @@ -1,6 +1,5 @@ import { Chain } from 'wagmi' import * as chains from 'wagmi/chains' - import { ChainId, getCustomChainFromLocalStorageById, diff --git a/packages/arb-token-bridge-ui/src/util/networks.ts b/packages/arb-token-bridge-ui/src/util/networks.ts index 3266dad69c..ab8ce17bfb 100644 --- a/packages/arb-token-bridge-ui/src/util/networks.ts +++ b/packages/arb-token-bridge-ui/src/util/networks.ts @@ -193,6 +193,7 @@ export function saveCustomChainToLocalStorage(newCustomChain: ChainWithRpcUrl) { } const newCustomChains = [...getCustomChainsFromLocalStorage(), newCustomChain] + localStorage.setItem( customChainLocalStorageKey, JSON.stringify(newCustomChains) @@ -203,6 +204,7 @@ export function removeCustomChainFromLocalStorage(chainId: number) { const newCustomChains = getCustomChainsFromLocalStorage().filter( chain => chain.chainId !== chainId ) + localStorage.setItem( customChainLocalStorageKey, JSON.stringify(newCustomChains) diff --git a/packages/arb-token-bridge-ui/src/util/orbitChainsData.json b/packages/arb-token-bridge-ui/src/util/orbitChainsData.json index 2fc3853b9c..4a66f86ddb 100644 --- a/packages/arb-token-bridge-ui/src/util/orbitChainsData.json +++ b/packages/arb-token-bridge-ui/src/util/orbitChainsData.json @@ -1093,7 +1093,7 @@ "color": "#03AB2A", "network": { "name": "Polter Testnet", - "logo": "/images/PolterTestnetLogo.png", + "logo": "/images/PolterTestnetLogo.webp", "description": "A gaming testnet for Aavegotchi's Geist Mainnet." }, "nativeTokenData": { diff --git a/packages/arb-token-bridge-ui/src/util/wagmi/getWagmiChain.ts b/packages/arb-token-bridge-ui/src/util/wagmi/getWagmiChain.ts index 66de1b1b0f..ad75742cc3 100644 --- a/packages/arb-token-bridge-ui/src/util/wagmi/getWagmiChain.ts +++ b/packages/arb-token-bridge-ui/src/util/wagmi/getWagmiChain.ts @@ -13,8 +13,7 @@ import { baseSepolia, base } from './wagmiAdditionalNetworks' -import { ChainId } from '../networks' -import { getCustomChainFromLocalStorageById } from '../networks' +import { ChainId, getCustomChainFromLocalStorageById } from '../networks' import { orbitChains } from '../orbitChainsList' export function getWagmiChain(chainId: number): Chain { diff --git a/packages/arb-token-bridge-ui/src/util/wagmi/setup.ts b/packages/arb-token-bridge-ui/src/util/wagmi/setup.ts index fac6d8c971..4b748a2080 100644 --- a/packages/arb-token-bridge-ui/src/util/wagmi/setup.ts +++ b/packages/arb-token-bridge-ui/src/util/wagmi/setup.ts @@ -1,6 +1,7 @@ import { createClient, configureChains } from 'wagmi' import { mainnet, arbitrum } from '@wagmi/core/chains' import { publicProvider } from 'wagmi/providers/public' +import { jsonRpcProvider } from 'wagmi/providers/jsonRpc' import { connectorsForWallets, getDefaultWallets } from '@rainbow-me/rainbowkit' import { trustWallet, okxWallet } from '@rainbow-me/rainbowkit/wallets' @@ -16,7 +17,7 @@ import { baseSepolia } from './wagmiAdditionalNetworks' import { isTestingEnvironment } from '../CommonUtils' -import { getCustomChainsFromLocalStorage, ChainId } from '../networks' +import { getCustomChainsFromLocalStorage, ChainId, rpcURLs } from '../networks' import { getOrbitChains } from '../orbitChainsList' import { getWagmiChain } from './getWagmiChain' import { customInfuraProvider } from '../infura' @@ -131,7 +132,15 @@ export function getProps(targetChainKey: string | null) { // // https://github.com/wagmi-dev/references/blob/main/packages/connectors/src/walletConnect.ts#L114 getChains(sanitizeTargetChainKey(targetChainKey)), - [customInfuraProvider(), publicProvider()] + [ + customInfuraProvider(), + publicProvider(), + jsonRpcProvider({ + rpc: chain => ({ + http: rpcURLs[chain.id]! + }) + }) + ] ) const { wallets } = getDefaultWallets({ diff --git a/packages/arb-token-bridge-ui/tsconfig.json b/packages/arb-token-bridge-ui/tsconfig.json index 6d8f505ddc..89eac35f60 100644 --- a/packages/arb-token-bridge-ui/tsconfig.json +++ b/packages/arb-token-bridge-ui/tsconfig.json @@ -5,7 +5,8 @@ "additional.d.ts", "next.config.js", "next-env.d.ts", - ".next/types/**/*.ts" + ".next/types/**/*.ts", + "build/types/**/*.ts" ], "compilerOptions": { "noEmit": true, @@ -15,7 +16,13 @@ "@/images/*": ["./public/images/*"], "@/icons/*": ["./public/icons/*"], "@/token-bridge-sdk/*": ["./src/token-bridge-sdk/*"] - } + }, + "plugins": [ + { + "name": "next" + } + ], + "strictNullChecks": true }, "exclude": ["node_modules"] } diff --git a/yarn.lock b/yarn.lock index 9139b218dd..c1346b3d9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -628,6 +628,13 @@ chance "^1.1.4" core-js "^3.6.4" +"@emnapi/runtime@^1.2.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== + dependencies: + tslib "^2.4.0" + "@emotion/hash@^0.8.0": version "0.8.0" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" @@ -1239,6 +1246,119 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== +"@img/sharp-darwin-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" + integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.0.4" + +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + +"@img/sharp-libvips-darwin-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" + integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== + +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== + +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== + +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== + +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== + +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== + +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== + +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== + +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" + +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" + +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== + dependencies: + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" @@ -2335,6 +2455,14 @@ dependencies: "@sentry/types" "8.33.1" +"@shuding/opentype.js@1.4.0-beta.0": + version "1.4.0-beta.0" + resolved "https://registry.yarnpkg.com/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz#5d1e7e9e056f546aad41df1c5043f8f85d39e24b" + integrity sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA== + dependencies: + fflate "^0.7.3" + string.prototype.codepointat "^0.2.1" + "@sideway/address@^4.1.3": version "4.1.4" resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" @@ -4783,6 +4911,11 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base64-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + integrity sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw== + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" @@ -5472,7 +5605,7 @@ color-name@1.1.3: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@^1.0.0, color-name@~1.1.4: +color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -5695,6 +5828,16 @@ crypto-js@^4.1.1: resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz" integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== +css-background-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-background-parser/-/css-background-parser-0.1.0.tgz#48a17f7fe6d4d4f1bca3177ddf16c5617950741b" + integrity sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA== + +css-box-shadow@1.0.0-3: + version "1.0.0-3" + resolved "https://registry.yarnpkg.com/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz#9eaeb7140947bf5d649fc49a19e4bbaa5f602713" + integrity sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg== + css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz" @@ -6186,6 +6329,11 @@ detect-libc@^2.0.0, detect-libc@^2.0.2: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== +detect-libc@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" @@ -6445,6 +6593,11 @@ emittery@^0.13.1: resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== +emoji-regex@^10.2.1: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -6742,7 +6895,7 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== @@ -7592,6 +7745,11 @@ fflate@^0.4.8: resolved "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz" integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== +fflate@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.4.tgz#61587e5d958fdabb5a9368a302c25363f4f69f50" + integrity sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw== + figures@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" @@ -8412,6 +8570,11 @@ he@^1.2.0: resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hex-rgb@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/hex-rgb/-/hex-rgb-4.3.0.tgz#af5e974e83bb2fefe44d55182b004ec818c07776" + integrity sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw== + hey-listen@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz" @@ -10043,6 +10206,14 @@ lilconfig@^2.0.5, lilconfig@^2.1.0: resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +linebreak@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/linebreak/-/linebreak-1.1.0.tgz#831cf378d98bced381d8ab118f852bd50d81e46b" + integrity sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ== + dependencies: + base64-js "0.0.8" + unicode-trie "^2.0.0" + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" @@ -11190,6 +11361,11 @@ package-hash@^4.0.0: lodash.flattendeep "^4.4.0" release-zalgo "^1.0.0" +pako@^0.2.5: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== + param-case@^3.0.3, param-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" @@ -11205,6 +11381,14 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-css-color@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/parse-css-color/-/parse-css-color-0.2.1.tgz#b687a583f2e42e66ffdfce80a570706966e807c9" + integrity sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg== + dependencies: + color-name "^1.1.4" + hex-rgb "^4.1.0" + parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -12447,6 +12631,22 @@ safe-stable-stringify@^2.1.0: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +satori@^0.10.11: + version "0.10.11" + resolved "https://registry.yarnpkg.com/satori/-/satori-0.10.11.tgz#4d198beef405668120566d29a554411c534d8a5d" + integrity sha512-yLm1xPRPZUaKcBZJ6nmezoJjHB4MqV8x7Mu0PyZUJodRWRDD27UbeMwzuY9LEGG57WYLO4CQsGPlbHWV1Ex9TQ== + dependencies: + "@shuding/opentype.js" "1.4.0-beta.0" + css-background-parser "^0.1.0" + css-box-shadow "1.0.0-3" + css-to-react-native "^3.0.0" + emoji-regex "^10.2.1" + escape-html "^1.0.3" + linebreak "^1.1.0" + parse-css-color "^0.2.1" + postcss-value-parser "^4.2.0" + yoga-wasm-web "^0.3.3" + saxes@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" @@ -12517,6 +12717,11 @@ semver@^7.0.0, semver@^7.2.1, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semve dependencies: lru-cache "^6.0.0" +semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + send@0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" @@ -12635,7 +12840,7 @@ shallowequal@^1.1.0: resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@0.32.6, sharp@^0.32.6: +sharp@0.32.6: version "0.32.6" resolved "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz" integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== @@ -12649,6 +12854,35 @@ sharp@0.32.6, sharp@^0.32.6: tar-fs "^3.0.4" tunnel-agent "^0.6.0" +sharp@^0.33.5: + version "0.33.5" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" + integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== + dependencies: + color "^4.2.3" + detect-libc "^2.0.3" + semver "^7.6.3" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-darwin-x64" "0.33.5" + "@img/sharp-libvips-darwin-arm64" "1.0.4" + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-libvips-linux-arm64" "1.0.4" + "@img/sharp-libvips-linux-s390x" "1.0.4" + "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -13101,6 +13335,11 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string.prototype.codepointat@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" + integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== + string.prototype.matchall@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" @@ -13575,6 +13814,11 @@ timed-out@^4.0.1: resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== +tiny-inflate@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + tinybench@^2.5.0: version "2.9.0" resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz" @@ -13978,6 +14222,14 @@ unfetch@^4.2.0: resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== +unicode-trie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-2.0.0.tgz#8fd8845696e2e14a8b67d78fa9e0dd2cad62fec8" + integrity sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ== + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + universal-user-agent@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz" @@ -14716,6 +14968,11 @@ yocto-queue@^1.0.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +yoga-wasm-web@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz#eb8e9fcb18e5e651994732f19a220cb885d932ba" + integrity sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA== + zen-observable-ts@^1.2.5: version "1.2.5" resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz"