Skip to content

Commit a6054d1

Browse files
Merge branch 'main' into feat/mimc-connect-codehash-2
2 parents 6b66fe9 + b1352b5 commit a6054d1

File tree

7 files changed

+765
-523
lines changed

7 files changed

+765
-523
lines changed

bridge-ui/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@
2222
"dependencies": {
2323
"@consensys/linea-sdk": "0.3.0",
2424
"@headlessui/react": "2.1.9",
25-
"@tanstack/react-query": "5.59.3",
25+
"@tanstack/react-query": "5.62.16",
2626
"@wagmi/connectors": "5.1.15",
27-
"@wagmi/core": "2.13.8",
28-
"@web3modal/wagmi": "5.1.11",
27+
"@wagmi/core": "2.16.3",
28+
"@reown/appkit": "1.6.3",
29+
"@reown/appkit-adapter-wagmi": "1.6.3",
2930
"clsx": "^2.1.1",
3031
"compare-versions": "6.1.1",
3132
"date-fns": "4.1.0",
@@ -44,8 +45,8 @@
4445
"sharp": "0.33.5",
4546
"swiper": "11.1.14",
4647
"tailwind-merge": "^2.5.3",
47-
"viem": "2.21.19",
48-
"wagmi": "2.12.17",
48+
"viem": "2.22.4",
49+
"wagmi": "2.14.6",
4950
"zustand": "4.5.4"
5051
},
5152
"devDependencies": {

bridge-ui/src/components/ConnectButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useWeb3Modal } from "@web3modal/wagmi/react";
1+
import { useAppKit } from "@reown/appkit/react";
22
import { cn } from "@/utils/cn";
33
import { Button } from "./ui";
44

@@ -7,7 +7,7 @@ type ConnectButtonProps = {
77
};
88

99
export default function ConnectButton({ fullWidth }: ConnectButtonProps) {
10-
const { open } = useWeb3Modal();
10+
const { open } = useAppKit();
1111
return (
1212
<Button
1313
id="wallet-connect-btn"

bridge-ui/src/config/wagmi.ts

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,28 @@
1-
import { defaultWagmiConfig } from "@web3modal/wagmi/react/config";
2-
import { http, injected } from "@wagmi/core";
1+
import { http } from "@wagmi/core";
32
import { mainnet, sepolia, linea, lineaSepolia } from "@wagmi/core/chains";
4-
import { walletConnect, coinbaseWallet } from "@wagmi/connectors";
53
import { config } from "./config";
4+
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
5+
import { AppKitNetwork } from "@reown/appkit/networks";
66

77
if (!config.walletConnectId) throw new Error("Project ID is not defined");
88

9-
const metadata = {
10-
name: "Linea Bridge",
11-
description: `Linea Bridge is a bridge solution, providing secure and efficient cross-chain transactions between Layer 1 and Linea networks.
12-
Discover the future of blockchain interaction with Linea Bridge.`,
13-
url: "https://bridge.linea.build",
14-
icons: [],
15-
};
9+
export const chains: [AppKitNetwork, ...AppKitNetwork[]] = [mainnet, sepolia, linea, lineaSepolia];
1610

17-
const chains = [mainnet, sepolia, linea, lineaSepolia] as const;
18-
19-
export const wagmiConfig = defaultWagmiConfig({
20-
chains,
11+
export const wagmiAdapter = new WagmiAdapter({
12+
networks: chains,
2113
projectId: config.walletConnectId,
22-
metadata,
2314
multiInjectedProviderDiscovery: true,
2415
ssr: true,
25-
enableEIP6963: true,
16+
2617
batch: {
2718
multicall: true,
2819
},
29-
connectors: [
30-
walletConnect({
31-
projectId: config.walletConnectId,
32-
showQrModal: false,
33-
}),
34-
injected({ shimDisconnect: true }),
35-
coinbaseWallet({
36-
appName: "Linea Bridge",
37-
}),
38-
],
3920
transports: {
4021
[mainnet.id]: http(`https://mainnet.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
4122
[sepolia.id]: http(`https://sepolia.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
4223
[linea.id]: http(`https://linea-mainnet.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
4324
[lineaSepolia.id]: http(`https://linea-sepolia.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
4425
},
4526
});
27+
28+
export const wagmiConfig = wagmiAdapter.wagmiConfig;

bridge-ui/src/contexts/web3.context.tsx

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,39 @@
22

33
import { ReactNode } from "react";
44
import { WagmiProvider } from "wagmi";
5-
import { createWeb3Modal } from "@web3modal/wagmi/react";
65
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
76
import { config, wagmiConfig } from "@/config";
7+
import { createAppKit } from "@reown/appkit/react";
8+
import { chains, wagmiAdapter } from "@/config/wagmi";
89

910
const queryClient = new QueryClient();
1011

1112
if (!config.walletConnectId) throw new Error("Project ID is not defined");
1213

13-
createWeb3Modal({ wagmiConfig, projectId: config.walletConnectId });
14+
const metadata = {
15+
name: "Linea Bridge",
16+
description: `The Linea Bridge is a bridge solution, providing secure and efficient cross-chain transactions between Ethereum Layer 1 and Linea networks.
17+
Discover the future of blockchain interaction with Linea Bridge.`,
18+
url: "https://bridge.linea.build",
19+
icons: [],
20+
};
21+
22+
createAppKit({
23+
adapters: [wagmiAdapter],
24+
networks: chains,
25+
projectId: config.walletConnectId,
26+
metadata,
27+
features: {
28+
analytics: true,
29+
email: false,
30+
socials: false,
31+
swaps: false,
32+
onramp: false,
33+
history: false,
34+
},
35+
enableEIP6963: true,
36+
coinbasePreference: "eoaOnly",
37+
});
1438

1539
type Web3ProviderProps = {
1640
children: ReactNode;

contracts/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"lint": "pnpm run lint:sol && npm run lint:ts && npm run prettier",
2121
"lint:fix": "pnpm run lint:sol:fix && npm run lint:ts:fix && npm run prettier:fix",
2222
"clean": "rimraf .openzeppelin build cache node_modules typechain-types coverage coverage.json",
23-
"solidity:docgen": "npx hardhat docgen"
23+
"solidity:docgen": "command -v forge && npx hardhat docgen || echo 'Foundry installation required for Solidity docgen, skipping...'"
2424
},
2525
"devDependencies": {
2626
"@ethereumjs/util": "9.0.3",

docs/audits.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,15 @@
2323

2424
## Linea Rollup, L2MessageService and TokenBridge Smart Contract Audits
2525
### Fifth Audit Round (latest)
26+
27+
**Diligence**
28+
- LineaRollup, L2MessageService and TokenBridge Granular Role Updates: [https://diligence.consensys.io/audits/2024/12/linea-rollup-update/](https://diligence.consensys.io/audits/2024/12/linea-rollup-update/)
29+
2630
**OpenZeppelin**
27-
- LineaRollup, L2MessageService and TokenBridge Granular Role Updates: [https://blog.openzeppelin.com/linearollup-and-tokenbridge-role-upgrade)](https://blog.openzeppelin.com/linearollup-and-tokenbridge-role-upgrade)
31+
- LineaRollup, L2MessageService and TokenBridge Granular Role Updates: [https://blog.openzeppelin.com/linearollup-and-tokenbridge-role-upgrade](https://blog.openzeppelin.com/linearollup-and-tokenbridge-role-upgrade)
2832

2933
**Cyfrin**
30-
- LineaRollup, L2MessageService and TokenBridge Granular Role Updates: [https://github.com/Cyfrin/cyfrin-audit-reports/blob/main/reports/2024-12-04-cyfrin-linea-v2.1.pdf](https://github.com/Cyfrin/cyfrin-audit-reports/blob/main/reports/2024-12-04-cyfrin-linea-v2.1.pdf)
34+
- LineaRollup, L2MessageService and TokenBridge Granular Role Updates: [https://github.com/Cyfrin/cyfrin-audit-reports/blob/642b409c207d0e31679467480c3d9b8797b98696/reports/2025-01-06-cyfrin-linea-v2.2.pdf](https://github.com/Cyfrin/cyfrin-audit-reports/blob/642b409c207d0e31679467480c3d9b8797b98696/reports/2025-01-06-cyfrin-linea-v2.2.pdf)
3135

3236
### Fourth Audit Round
3337
**Diligence**

0 commit comments

Comments
 (0)