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

Prover/feat/Adding field extension support to Smartvectors #499

Draft
wants to merge 73 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
de7e6b7
bug fix
bogdanbear Jan 6, 2025
101b5ec
bug fix
bogdanbear Jan 6, 2025
48ebaf9
replace fext with Youssef's field extensions
bogdanbear Jan 7, 2025
9ced951
remove dedicated field operations that break CI
bogdanbear Jan 7, 2025
ce1448c
Extensions for FFT + fast poly WIP
bogdanbear Jan 8, 2025
e0d820e
Feat/adding gnark support for extension (#522)
AlexandreBelling Jan 9, 2025
016adea
interpolation compiles, must be debugged
bogdanbear Jan 10, 2025
21296d2
interpolation test pass
bogdanbear Jan 10, 2025
9a9e853
tests for smartvectors ext
bogdanbear Jan 11, 2025
92b5958
fixing failing smartvectors tests, wip
bogdanbear Jan 13, 2025
35b492e
need an API for test vectors of field extensions
bogdanbear Jan 13, 2025
c0a7b5d
inner prod test fix
bogdanbear Jan 13, 2025
5f5917c
alex: help fixing the TestScalarMul test
AlexandreBelling Jan 13, 2025
3196e44
ruffini test
bogdanbear Jan 14, 2025
eb6f62f
TestBivariatePolynomial
bogdanbear Jan 14, 2025
3b9f8ea
polyext, wip
bogdanbear Jan 14, 2025
d052473
more meaningful tests for polyext, wip
bogdanbear Jan 14, 2025
c4c594b
polyexp tests, wip
bogdanbear Jan 14, 2025
6a84765
polyext tests
bogdanbear Jan 14, 2025
111b34c
refactor
bogdanbear Jan 14, 2025
5316649
fixing linter errors
bogdanbear Jan 14, 2025
8406726
refactor fuzz parameters
bogdanbear Jan 14, 2025
475c966
refactor and more vector tests
bogdanbear Jan 14, 2025
3ca1b9b
refactor E2 -> Variable
bogdanbear Jan 14, 2025
0d682c4
intognarkassignmenttest in vectorext test
bogdanbear Jan 14, 2025
f719734
vectorext tests
bogdanbear Jan 14, 2025
b82be08
Merge branch 'main' into prover/feat/small-field-exploratory-2
bogdanbear Jan 15, 2025
4cb0c60
coordinator: decouple configs test from real configs (#552)
jpnovais Jan 15, 2025
d29cdd4
feat: added async retryer for currentL2BlockNumber in case the contra…
jonesho Jan 15, 2025
9ccd8e4
lagrange basis evaluation random test
bogdanbear Jan 15, 2025
ee308c7
Merge branch 'prover/feat/small-field-exploratory-2' of https://githu…
bogdanbear Jan 15, 2025
fe967c7
State recover part 4 (#324)
jpnovais Jan 16, 2025
26ba22e
[Fix] Make codecov action optional in workflows (#559)
kyzooghost Jan 16, 2025
05d3ee2
fix(ecpair): ensure last non-trivial input pair goes to ML+finalexp c…
ivokub Jan 16, 2025
be18423
Staterecover part5 (#565)
jpnovais Jan 16, 2025
aeb8685
Prover: connect the codehash and the statesummary module (#463)
AlexandreBelling Jan 16, 2025
5deb91f
marshal/unmarshal tests, wip
bogdanbear Jan 16, 2025
e8ace87
async unmarshalling iwp
bogdanbear Jan 17, 2025
5c2bbf7
finished marshalling tests + bug fix
bogdanbear Jan 17, 2025
4f13fb5
removed _GITHUB_TOKEN_RELEASE_ACCESS from pull_request workflows (#563)
kyzooghost Jan 17, 2025
006bcbb
[Fix] remove SELF_GITHUB_SSH_KEY (#561)
kyzooghost Jan 17, 2025
f67f2a0
bug fix
bogdanbear Jan 6, 2025
5816b79
bug fix
bogdanbear Jan 6, 2025
5922a86
replace fext with Youssef's field extensions
bogdanbear Jan 7, 2025
847f6c3
remove dedicated field operations that break CI
bogdanbear Jan 7, 2025
31ccc90
Extensions for FFT + fast poly WIP
bogdanbear Jan 8, 2025
7e00adb
Feat/adding gnark support for extension (#522)
AlexandreBelling Jan 9, 2025
9fc3ef0
interpolation compiles, must be debugged
bogdanbear Jan 10, 2025
f1256ea
interpolation test pass
bogdanbear Jan 10, 2025
3262f8e
tests for smartvectors ext
bogdanbear Jan 11, 2025
2af431c
fixing failing smartvectors tests, wip
bogdanbear Jan 13, 2025
0d5ed5d
need an API for test vectors of field extensions
bogdanbear Jan 13, 2025
fdb52fd
inner prod test fix
bogdanbear Jan 13, 2025
57faff8
alex: help fixing the TestScalarMul test
AlexandreBelling Jan 13, 2025
e4c0976
ruffini test
bogdanbear Jan 14, 2025
bb13c44
TestBivariatePolynomial
bogdanbear Jan 14, 2025
9af6865
polyext, wip
bogdanbear Jan 14, 2025
53905be
more meaningful tests for polyext, wip
bogdanbear Jan 14, 2025
e483762
polyexp tests, wip
bogdanbear Jan 14, 2025
6140595
polyext tests
bogdanbear Jan 14, 2025
c6613b7
refactor
bogdanbear Jan 14, 2025
3533272
fixing linter errors
bogdanbear Jan 14, 2025
e1dc9e3
refactor fuzz parameters
bogdanbear Jan 14, 2025
e3d8861
refactor and more vector tests
bogdanbear Jan 14, 2025
e375876
refactor E2 -> Variable
bogdanbear Jan 14, 2025
fb6c987
intognarkassignmenttest in vectorext test
bogdanbear Jan 14, 2025
958e450
vectorext tests
bogdanbear Jan 14, 2025
85d6b91
lagrange basis evaluation random test
bogdanbear Jan 15, 2025
9293e26
marshal/unmarshal tests, wip
bogdanbear Jan 16, 2025
7b7a034
async unmarshalling iwp
bogdanbear Jan 17, 2025
c3c38d6
finished marshalling tests + bug fix
bogdanbear Jan 17, 2025
859ea53
Merge commit with main after rebase
bogdanbear Jan 17, 2025
4fa3996
fix linter error
bogdanbear Jan 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .github/workflows/all-tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.SELF_GITHUB_SSH_KEY }}
submodules: true
persist-credentials: false
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/coordinator-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ jobs:
run-tests:
env:
COMMIT_TAG: ${{ inputs.commit_tag }}
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
runs-on: gha-runner-scale-set-ubuntu-22.04-amd64-large
name: Coordinator tests
steps:
Expand Down Expand Up @@ -76,6 +76,7 @@ jobs:
path: |
${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/jacocoRootReport.xml
- name: Upload coverage to Codecov
if: ${{ env.CODECOV_TOKEN != '' }}
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/postman-build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.SELF_GITHUB_SSH_KEY }}
submodules: true
persist-credentials: false
- name: Login to Docker Hub
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
uses: docker/login-action@v3
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/prover-build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.SELF_GITHUB_SSH_KEY }}
submodules: true
persist-credentials: false
- name: Login to Docker Hub
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
uses: docker/login-action@v3
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/reuse-run-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ jobs:
PROVER_TAG: ${{ inputs.commit_tag }}
TRACES_API_TAG: ${{ inputs.commit_tag }}
TRANSACTION_EXCLUSION_API_TAG: ${{ inputs.commit_tag }}
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
outputs:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/run-smc-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
run-contract-tests:
runs-on: [self-hosted, ubuntu-20.04, X64, small]
name: Run smart contracts tests
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -69,6 +71,7 @@ jobs:
run: pnpm -F contracts run coverage

- name: Upload coverage to Codecov
if: ${{ env.CODECOV_TOKEN != '' }}
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
Expand Down
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
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
10 changes: 5 additions & 5 deletions config/coordinator/coordinator-docker.config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ fee-history-reward-percentile=15
last-hash-search-window=25
anchoring-receipt-polling-interval="PT01S"
max-receipt-retries=120
# Number of children blocks to wait before considering a won't be reverted and elegible for conflation.
# this a workaround to mitigate Geth fork issues with Clique PoA
# Number of children blocks to wait before considering they won't be reverted and elegible for conflation.
# this is a workaround to mitigate Geth fork issues with Clique PoA
# Coordinator will consider block as finalized after being included in the chain wtih children blocks-to-finalization
# Recommended: Geth sequencer minimum of 2, Besu sequencer minimum of 1, 0 is safe localy
blocks-to-finalization=0
Expand Down Expand Up @@ -155,7 +155,7 @@ aggregation-proofs-limit=3
aggregation-deadline="PT10S"
aggregation-coordinator-polling-interval="PT2S"
deadline-check-interval="PT8S"
target-end-blocks=[]
#target-end-blocks=[33, 90, 93]

[finalization-signer]
# Web3j/Web3signer
Expand Down Expand Up @@ -266,8 +266,8 @@ num-of-blocks-before-latest=4
storage-period="PT2M"

[conflation]
blocks-limit=2
conflation-deadline="PT6S" # =3*l2_block_time
blocks-limit=3
conflation-deadline="PT6S"
conflation-deadline-check-interval="PT3S"
conflation-deadline-last-block-confirmation-delay="PT2S" # recommended: at least 2 * blockInterval

Expand Down
Loading
Loading