* current reinitialization script for all contracts
* use shared functions consistently
* add forwarding proxy
* add extra logging and use fallbackOperator name
* use env var for fallback operator
* initial changes for the contract readme
* testing guidelines wip
* add contract documentation
* add note on future deprecation
* add memory and CPU requirements for docker
* add audit references to documentation
* use tokenbridge make commands in documentation
* add additional comments to testing guidelines
* define contract style guide and link it
* address PR comments with better documentation
* document tweaks and traffic generation script
* catch error on failure of main()
* add precompute script and readme documentation
* use ethers address generation
---------
Co-authored-by: count-sum <andrei.alexandru@consensys.net>
* Use constants for known fixed values
* add natspec for the new constants
---------
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
* Use return vars on function and optimize reverts
* use calldata array lengths directly
* remove cache length on message anchoring
* fix: remove duplicate line
* chore: export new ABIs for LineaRollupV6 and L2MessageServiceV1
---------
Signed-off-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: VGau <victorien.gauch@consensys.net>
* fix: add mutex in account manager to avoid nonce issue
* fix: optimize global setup
* Limiting number of concurrent traces API requests for the local stack to avoid occasional OOM-s
* Limiting number of verticles for Traces API node
* Add E2E TokenBridge tests
* fixing test and adding concurency
* fixing test and adding concurency
* fixing test and adding concurency
* fixing test and adding concurency
* fixing nonce management
* deploying l2token for the L2 -> L1 test
* adjusting accounts for L2->L1 test
* adjusting l2TestContractAddress
* use nonce management for L1->L2 test
* adjusting the TestERC20 contract and tests
* rebasing with fix/133-improve-e2e-tests-performance
* fix: update jest config to exit even if there are open handles
* Trying out Besu untuned and raising limit per endpoint to 2 for traces
* Trying out Besu untuned and raising limit per endpoint to 2 for traces and Shomei node
* Using besu untuned for arithmetization as well
* Compile once and parallelise setRemoteTokenBridge
* feat: deploy smart contracts from artifacts + change e2e tests setup
* fix: update pnpm
* fix: remove compile contracts gradle task
* fix: remove compileContracts gradle task
* fix: refactor genesis generator dockerfile + downgrade l1-el-node besu version
* fix: move abi from e2e folder to contract folder + refactor contracts deployments scripts
* feat: add deployment script from artifacts for LineaRollupV6
* update pnpm version in get-started.md
* fix: update console log in deployment scripts
* fix: update besu version + fix deployment scripts
* correct addresses
* fix import
* use abi and bytecode for deployments
* use upgradable beacon for BridgedToken ABI deploys
* use saved abi and bytecode for TestERC20 deploy
* correct deployBridgedTokenAndTokenBridge casing
* optimize token bridge e2e calls
* use explicit message event data
* use precomputed nonces for e2e stack
---------
Co-authored-by: VGau <victorien.gauch@consensys.net>
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>
Co-authored-by: Roman <4833306+Filter94@users.noreply.github.com>
Co-authored-by: thedarkjester <grant.southey@consensys.net>
Co-authored-by: The Dark Jester <thedarkjester@users.noreply.github.com>
* smart-contract: small tweak on validation and consistent naming on params
* use currentL2BlockNumber vs. memory
* cache blobFirstBlockNumber
* optimize blob number validation
* cache snarkhash and finalStateRootHash
* remove redundant checks
* remove block numbers from blob submits
* remove extra space
* address naming considerations
* use updated ABI for V6 LineaRollup
* Use NatSpec for ITokenBridge events and errors (#202)
* Use NatSpec for ITokenBridge events and errors
* pass 1 of NatSpec cleanup
* natspec pass 2
* correct wording on NatSpec
* use correct indexed keyword location
---------
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
* Use NatSpec for ITokenBridge events and errors
* pass 1 of NatSpec cleanup
* natspec pass 2
* correct wording on NatSpec
* use correct indexed keyword location
* Remove lastFinalizedShnarf from finalization input
* Emit events state-reconstruction friendly
* Index shnarf on data submitted event
* reinstate public input variable name
* updated V6 ABI
* Coordinator - Allowing endless retries and setting them throughout th… (#89)
* Coordinator - Allowing endless retries and setting them throughout the app
* feat/1731 code coverage in Codecov (#13)
* feat/1731 code coverage in Codecov
* Cancel in progress workflows on new commits (#53)
* Cancel in progress workflows on new commits
* Test - Trigger workflow
* Test - Trigger workflow 2
* Group by only github.ref for branch name
* Add concurrency to more workflows
* Revert "Add concurrency to more workflows"
This reverts commit 86a00aa7b5c8e29d870acdc3d4d25d660b3a59e8.
* Print group
* Remove print steps and amend group
* Test adding concurrency group to testing.yml
* Test concurrency
* Specifying specific groups for child workflows
* Testing concurrency
* Add child groups to build and publish workflows
* Test concurrency
* Remove main workflow concurrency group
* Remove concurrency on pull request merge
* Feat/94 emit version updated event (#98)
* Emit LineaRollupVersionChanged on upgrade
* make padded hex bytes generic
* Use L2MessageService versioned API (#96)
* Stricter path filters for shared jvm-libs module (#52)
* Stricter path filters for shared jvm-libs module
* Update .github/workflows/main.yml
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
Signed-off-by: Bradley Bown <bradbown@googlemail.com>
---------
Signed-off-by: Bradley Bown <bradbown@googlemail.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
* adding TokenBridge version for completeness (#99)
* Coordinator: DRY refactor test helpers and data for future reuse (#100)
* coordinator: adds slice ByteArrayExtensions.kt
* coordinator: adds testing file system helper
* coordinator: adds testing l1-blob-proof-submission submitter
* coordinator: rename findFile function
* coordinator: move prover responses to common test data for code reuse
* coordinator: fix ByteArray.sliceOf off-by-one bug
* coordinator: remove unnecessary!!
* coordinator: fix gradle deps
* coordinator: fix test
* coordinator: reduce transitive dependencies
* rebuild LineaRollup ABI
* Use finalStateRootHash on DataSubmittedV3
* fix flaky test
* fix regression
* use latest LineaRollup ABI for V6.0
* Add explicit comment for lastFinalizedShnarf
* NatSpec tweak and variable name correction
* Use finalizeBlocks not finalizeBlocksWithoutProof
* Use PAUSE_FINALIZATION_ROLE without WITHPROOF
* remove WithProof from finalize function
* use most up to date ABIs
* use V5 for the current end to end tests
* reinstate format from main
* reset pragma version
* rename file and env var function
---------
Signed-off-by: Bradley Bown <bradbown@googlemail.com>
Co-authored-by: count-sum <andrei.alexandru@consensys.net>
Co-authored-by: Pedro Novais <1478752+jpnovais@users.noreply.github.com>
Co-authored-by: Roman Vaseev <4833306+Filter94@users.noreply.github.com>
Co-authored-by: Bradley Bown <bradbown@googlemail.com>
* Use explicit time calculations and add test cover
* remove redundant comments
* use shared expectRevertWithCustomError
* remove .only and expectEvent
* feat/3921 Gateway Operator
* use last finalized state for gatewayOperator check
* adjusting natspec
* extend existing struct with gatewayoperator
* use more explicit NatSpec
---------
Co-authored-by: thedarkjester <grant.southey@consensys.net>
Co-authored-by: Victorien Gauch <85494462+VGau@users.noreply.github.com>