Skip to content

Commit

Permalink
Merge branch 'main' into fix/ecpair-last-finalexp
Browse files Browse the repository at this point in the history
  • Loading branch information
gusiri committed Jan 16, 2025
2 parents 2dc66f3 + fe967c7 commit 5150b25
Show file tree
Hide file tree
Showing 226 changed files with 9,281 additions and 1,981 deletions.
6 changes: 0 additions & 6 deletions .github/workflows/finalized-tag-updater-github-release.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
name: Github Release for Finalized-Tag-Updater Besu Plugin
on:
workflow_call:
inputs:
version:
required: true
type: string

workflow_dispatch:
inputs:
version:
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
prover: ${{ steps.filter.outputs.prover }}
traces-api-facade: ${{ steps.filter.outputs.traces-api-facade }}
transaction-exclusion-api: ${{ steps.filter.outputs.transaction-exclusion-api }}
finalized-tag-updater: ${{ steps.filter.outputs.finalized-tag-updater }}
has-changes-requiring-build: ${{ steps.filter-out.outputs.has-changes-requiring-build }}
steps:
- name: Checkout
Expand Down Expand Up @@ -105,14 +104,6 @@ jobs:
- 'build.gradle'
- 'gradle.properties'
- 'settings.gradle'
finalized-tag-updater:
- 'jvm-libs/linea/core/long-running-service/**'
- 'jvm-libs/linea/web3j-extensions/**'
- 'jvm-libs/extensions/kotlin/**'
- 'jvm-libs/extensions/futures/**'
- 'finalized-tag-updater/**'
- '.github/workflows/main.yml'
- '.github/workflows/finalized-tag-updater-github-release.yml'
- name: Filter out commit changes
uses: dorny/paths-filter@v3
id: filter-out
Expand Down Expand Up @@ -174,15 +165,6 @@ jobs:
transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }}
secrets: inherit

# Comment out the auto build and release step below as the plugin release should be
# by manual Github action for versioning control
# finalized-tag-updater-jar-build-release:
# needs: [ filter-commit-changes ]
# if: ${{ always() && needs.filter-commit-changes.outputs.finalized-tag-updater == 'true' }}
# uses: ./.github/workflows/finalized-tag-updater-github-release.yml
# with:
# version: '0.0.1'

testing:
needs: [ store-image-name-and-tags, filter-commit-changes, check-and-tag-images ]
if: ${{ always() && needs.filter-commit-changes.outputs.has-changes-requiring-build == 'true' }}
Expand Down
56 changes: 1 addition & 55 deletions .github/workflows/prover-testing.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
name: Prover testing CI

on:
workflow_call:
secrets:
SLACK_WEBHOOK_CI_PROVER_FAIL:
required: true
SLACK_WEBHOOK_CI_PROVER_SUCCESS:
required: true

on: workflow_call
env:
GOPROXY: "https://proxy.golang.org"

Expand Down Expand Up @@ -93,50 +86,3 @@ jobs:
if: matrix.go-version == '1.20.x'
run: |
go test -p=1 -tags=nocorset,fuzzlight -timeout=30m -short -race ./...
slack-workflow-status-failed:
if: failure()
name: Prover notify slack
needs:
- staticcheck
- test
runs-on: [self-hosted, ubuntu-20.04, X64, small]
steps:
- name: Notify slack -- workflow failed
id: slack
uses: slackapi/[email protected]
with:
payload: |
{
"actor": "${{ github.actor }}",
"repo": "${{ github.repository }}",
"status": "FAIL",
"title": "${{ github.event.pull_request.title }}",
"pr": "${{ github.event.pull_request.head.ref }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_CI_PROVER_FAIL }}

slack-workflow-status-success:
if: success()
name: Prover notify slack
needs:
- staticcheck
- test
runs-on: [self-hosted, ubuntu-20.04, X64, small]
steps:
- name: Notify slack -- workflow succeeded
id: slack
uses: slackapi/[email protected]
with:
payload: |
{
"actor": "${{ github.actor }}",
"repo": "${{ github.repository }}",
"status": "SUCCESS",
"title": "${{ github.event.pull_request.title }}",
"pr": "${{ github.event.pull_request.head.ref }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_CI_PROVER_SUCCESS }}

22 changes: 15 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,12 @@ deploy-l2-evm-opcode-tester:
RPC_URL=http:\\localhost:8545/ \
npx ts-node local-deployments-artifacts/deployLondonEvmTestingFramework.ts

execute-all-opcodes:

evm-opcode-tester-execute-all-opcodes: OPCODE_TEST_CONTRACT_ADDRESS:=0x997FC3aF1F193Cbdc013060076c67A13e218980e
evm-opcode-tester-execute-all-opcodes:
# WARNING: FOR LOCAL DEV ONLY - DO NOT REUSE THESE KEYS ELSEWHERE
cd contracts/; \
OPCODE_TEST_CONTRACT_ADDRESS=0x997FC3aF1F193Cbdc013060076c67A13e218980e \
OPCODE_TEST_CONTRACT_ADDRESS=$(OPCODE_TEST_CONTRACT_ADDRESS) \
NUMBER_OF_RUNS=3 \
PRIVATE_KEY=0x1dd171cec7e2995408b5513004e8207fe88d6820aeff0d82463b3e41df251aae \
RPC_URL=http:\\localhost:8545/ \
Expand Down Expand Up @@ -216,11 +218,17 @@ deploy-contracts-minimal:
cd .. && \
$(MAKE) -j6 deploy-linea-rollup-v$(L1_CONTRACT_VERSION) deploy-l2messageservice

start-all-staterecover: L1_CONTRACT_VERSION:=6
start-all-staterecover: COMPOSE_PROFILES:=l1,l2,staterecover
start-all-staterecover:
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment COMPOSE_PROFILES=$(COMPOSE_PROFILES)
make deploy-contracts-minimal L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION)
fresh-start-all-staterecover: COMPOSE_PROFILES:=l1,l2,staterecover
fresh-start-all-staterecover: L1_CONTRACT_VERSION:=6
fresh-start-all-staterecover:
make clean-environment
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment-traces-v2 COMPOSE_PROFILES=$(COMPOSE_PROFILES)
$(MAKE) deploy-contracts-minimal L1_CONTRACT_VERSION=$(L1_CONTRACT_VERSION)

fresh-start-staterecover-for-replay-only: COMPOSE_PROFILES:=l1,staterecover
fresh-start-staterecover-for-replay-only:
make clean-environment
L1_GENESIS_TIME=$(get_future_time) make start-whole-environment-traces-v2 COMPOSE_PROFILES=$(COMPOSE_PROFILES)

testnet-start-l2:
docker compose -f docker/compose.yml -f docker/compose-testnet-sync.overrides.yml --profile l2 up -d
Expand Down
11 changes: 6 additions & 5 deletions bridge-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@
"dependencies": {
"@consensys/linea-sdk": "0.3.0",
"@headlessui/react": "2.1.9",
"@tanstack/react-query": "5.59.3",
"@tanstack/react-query": "5.62.16",
"@wagmi/connectors": "5.1.15",
"@wagmi/core": "2.13.8",
"@web3modal/wagmi": "5.1.11",
"@wagmi/core": "2.16.3",
"@reown/appkit": "1.6.3",
"@reown/appkit-adapter-wagmi": "1.6.3",
"clsx": "^2.1.1",
"compare-versions": "6.1.1",
"date-fns": "4.1.0",
Expand All @@ -44,8 +45,8 @@
"sharp": "0.33.5",
"swiper": "11.1.14",
"tailwind-merge": "^2.5.3",
"viem": "2.21.19",
"wagmi": "2.12.17",
"viem": "2.22.4",
"wagmi": "2.14.6",
"zustand": "4.5.4"
},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions bridge-ui/src/components/ConnectButton.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useWeb3Modal } from "@web3modal/wagmi/react";
import { useAppKit } from "@reown/appkit/react";
import { cn } from "@/utils/cn";
import { Button } from "./ui";

Expand All @@ -7,7 +7,7 @@ type ConnectButtonProps = {
};

export default function ConnectButton({ fullWidth }: ConnectButtonProps) {
const { open } = useWeb3Modal();
const { open } = useAppKit();
return (
<Button
id="wallet-connect-btn"
Expand Down
35 changes: 9 additions & 26 deletions bridge-ui/src/config/wagmi.ts
Original file line number Diff line number Diff line change
@@ -1,45 +1,28 @@
import { defaultWagmiConfig } from "@web3modal/wagmi/react/config";
import { http, injected } from "@wagmi/core";
import { http } from "@wagmi/core";
import { mainnet, sepolia, linea, lineaSepolia } from "@wagmi/core/chains";
import { walletConnect, coinbaseWallet } from "@wagmi/connectors";
import { config } from "./config";
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
import { AppKitNetwork } from "@reown/appkit/networks";

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

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

const chains = [mainnet, sepolia, linea, lineaSepolia] as const;

export const wagmiConfig = defaultWagmiConfig({
chains,
export const wagmiAdapter = new WagmiAdapter({
networks: chains,
projectId: config.walletConnectId,
metadata,
multiInjectedProviderDiscovery: true,
ssr: true,
enableEIP6963: true,

batch: {
multicall: true,
},
connectors: [
walletConnect({
projectId: config.walletConnectId,
showQrModal: false,
}),
injected({ shimDisconnect: true }),
coinbaseWallet({
appName: "Linea Bridge",
}),
],
transports: {
[mainnet.id]: http(`https://mainnet.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
[sepolia.id]: http(`https://sepolia.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
[linea.id]: http(`https://linea-mainnet.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
[lineaSepolia.id]: http(`https://linea-sepolia.infura.io/v3/${process.env.NEXT_PUBLIC_INFURA_ID}`, { batch: true }),
},
});

export const wagmiConfig = wagmiAdapter.wagmiConfig;
28 changes: 26 additions & 2 deletions bridge-ui/src/contexts/web3.context.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,39 @@

import { ReactNode } from "react";
import { WagmiProvider } from "wagmi";
import { createWeb3Modal } from "@web3modal/wagmi/react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { config, wagmiConfig } from "@/config";
import { createAppKit } from "@reown/appkit/react";
import { chains, wagmiAdapter } from "@/config/wagmi";

const queryClient = new QueryClient();

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

createWeb3Modal({ wagmiConfig, projectId: config.walletConnectId });
const metadata = {
name: "Linea Bridge",
description: `The Linea Bridge is a bridge solution, providing secure and efficient cross-chain transactions between Ethereum Layer 1 and Linea networks.
Discover the future of blockchain interaction with Linea Bridge.`,
url: "https://bridge.linea.build",
icons: [],
};

createAppKit({
adapters: [wagmiAdapter],
networks: chains,
projectId: config.walletConnectId,
metadata,
features: {
analytics: true,
email: false,
socials: false,
swaps: false,
onramp: false,
history: false,
},
enableEIP6963: true,
coinbasePreference: "eoaOnly",
});

type Web3ProviderProps = {
children: ReactNode;
Expand Down
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ allprojects {
systemProperty("L1_RPC_URL", "http://localhost:8445")
systemProperty("L2_RPC_URL", "http://localhost:8545")
systemProperty("L1_GENESIS", "docker/config/l1-node/el/genesis.json")
systemProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis.json")
systemProperty("L2_GENESIS", "docker/config/linea-local-dev-genesis-PoA.json")

systemProperties["junit.jupiter.execution.timeout.default"] = "5 m" // 5 minutes
systemProperties["junit.jupiter.execution.parallel.enabled"] = true
Expand Down Expand Up @@ -203,7 +203,8 @@ dockerCompose {
"staterecover"
]
useComposeFiles = [
"${project.rootDir.path}/docker/compose.yml"
"${project.rootDir.path}/docker/compose.yml",
"${project.rootDir.path}/docker/compose-local-dev-traces-v2.overrides.yml"
]
waitForHealthyStateTimeout = Duration.ofMinutes(3)
waitForTcpPorts = false
Expand Down
23 changes: 11 additions & 12 deletions config/common/traces-limits-v2.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,34 +10,34 @@ BLOCK_HASH = 512
EC_DATA = 262144
EUC = 65536
EXP = 8192
EXT = 65536
EXT = 1048576
GAS = 65536
HUB = 2097152
LOG_DATA = 65536
LOG_INFO = 4096
MMIO = 2097152
MMIO = 4194304
MMU = 4194304
MOD = 131072
MUL = 65536
MXP = 524288
OOB = 262144
RLP_ADDR = 4096
RLP_TXN = 131072
RLP_TXN_RCPT = 32768
ROM = 8388608
RLP_TXN_RCPT = 65536
ROM = 4194304
ROM_LEX = 1024
SHAKIRA_DATA = 32768
SHF = 65536
STP = 32768
TRM = 8192
STP = 16384
TRM = 32768
TXN_DATA = 8192
WCP = 262144
#
# Reference table limits
# Reference table limits, set to UInt.MAX_VALUE
#
BIN_REFERENCE_TABLE = 196864
SHF_REFERENCE_TABLE = 4096
INSTRUCTION_DECODER = 512
BIN_REFERENCE_TABLE = 4294967295
SHF_REFERENCE_TABLE = 4294967295
INSTRUCTION_DECODER = 4294967295
#
# Precompiles limits
#
Expand All @@ -48,7 +48,7 @@ PRECOMPILE_MODEXP_EFFECTIVE_CALLS = 4
PRECOMPILE_ECADD_EFFECTIVE_CALLS = 16384
PRECOMPILE_ECMUL_EFFECTIVE_CALLS = 32
PRECOMPILE_ECPAIRING_FINAL_EXPONENTIATIONS = 16
PRECOMPILE_ECPAIRING_G2_MEMBERSHIP_CALLS = 64
PRECOMPILE_ECPAIRING_G2_MEMBERSHIP_CALLS = 64
PRECOMPILE_ECPAIRING_MILLER_LOOPS = 64
PRECOMPILE_BLAKE_EFFECTIVE_CALLS = 600
PRECOMPILE_BLAKE_ROUNDS = 600
Expand All @@ -59,4 +59,3 @@ BLOCK_KECCAK = 8192
BLOCK_L1_SIZE = 1000000
BLOCK_L2_L1_LOGS = 16
BLOCK_TRANSACTIONS = 200

Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ blob-compressor-version="V1_0_1"
expected-traces-api-version-v2="v0.8.0-rc8"
[traces.counters-v2]
endpoints=["http://traces-node-v2:8545/"]
request-limit-per-endpoint=2
request-limit-per-endpoint=1
request-retry.backoff-delay="PT1S"
request-retry.failures-warning-threshold=2
[traces.conflation-v2]
endpoints=["http://traces-node-v2:8545/"]
request-limit-per-endpoint=2
request-limit-per-endpoint=1
request-retry.backoff-delay="PT1S"
request-retry.failures-warning-threshold=2

Expand Down
Loading

0 comments on commit 5150b25

Please sign in to comment.