Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4a66758
add Arbitrum_Adapter.t.sol
grasphoper Dec 12, 2025
d565f07
refactor
grasphoper Dec 12, 2025
4ae0e6d
add more asserts to the new test
grasphoper Dec 12, 2025
62d70a0
Merge branch 'master' into if/move-tests-to-foundry
grasphoper Jan 7, 2026
46ab8ab
address incorrect constants usage
grasphoper Jan 8, 2026
25b48d6
initial HubPoolAdmin test - WIP
tbwebb22 Jan 9, 2026
32a879d
change expectEmit format
tbwebb22 Jan 9, 2026
8e26eb1
add mockOptimisticOracle to HubPoolFixture
tbwebb22 Jan 12, 2026
4eed1f7
clean up MockOptimisticOracle
tbwebb22 Jan 12, 2026
9e4dc2e
Clean up HubPool Admin test
tbwebb22 Jan 12, 2026
3dcba73
add DisputeRootBundle test
tbwebb22 Jan 12, 2026
b7a1686
replicate SkinnyOptimisticOracle functionality
tbwebb22 Jan 12, 2026
1a72b86
fix all disputeRootBundle tests
tbwebb22 Jan 12, 2026
f52d94e
clean up ExecuteRootBundle tests
tbwebb22 Jan 12, 2026
540c7e0
add HubPool LP test
tbwebb22 Jan 12, 2026
ea58ce6
Add liquidity provision fees test
tbwebb22 Jan 13, 2026
3fc337d
LiquidityProvisionHaircut test WIP
tbwebb22 Jan 13, 2026
984ece5
add PooledTokenSync test
tbwebb22 Jan 14, 2026
d689332
add missing assertion
tbwebb22 Jan 14, 2026
74fbf8b
add ProposeRootBundle test
tbwebb22 Jan 14, 2026
0ec73df
Add HubPool ProtocolFees test
tbwebb22 Jan 14, 2026
c6503e1
make HubPoolStore tests more thorough
tbwebb22 Jan 14, 2026
b17f2b8
consolidate repeated functions and constants into HubPoolTestBase
tbwebb22 Jan 15, 2026
49ee84d
fix Multicall test to expect return data on revert
tbwebb22 Jan 15, 2026
d740f87
Merge remote-tracking branch 'origin/master' into taylor/tests-migration
tbwebb22 Jan 15, 2026
7d425bf
update foundry test script
tbwebb22 Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ jobs:
# "env": {
# "NODE_ENV": "test"
# }
# }
# }
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ artifacts-zk

# Foundry files
out
out-local
zkout
cache-foundry
cache-foundry-local

# Upgradeability files
.openzeppelin
Expand Down
4 changes: 0 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ contract MyContractTest is Test {
// Test implementation
assertEq(myContract.value(), expected);
}

function testRevertOnInvalidInput() public {
vm.expectRevert();
myContract.doSomething(invalidInput);
Expand All @@ -108,19 +107,16 @@ Scripts follow a numbered pattern and use shared utilities from `script/utils/`.
```solidity
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;

import { Script } from "forge-std/Script.sol";
import { Test } from "forge-std/Test.sol";
import { console } from "forge-std/console.sol";
import { Constants } from "./utils/Constants.sol";
import { MyContract } from "../contracts/MyContract.sol";

// How to run:
// 1. `source .env` where `.env` has MNEMONIC="x x x ... x" and ETHERSCAN_API_KEY="x"
// 2. forge script script/00XDeployMyContract.s.sol:DeployMyContract --rpc-url $NODE_URL_1 -vvvv
// 3. Verify simulation works
// 4. Deploy: forge script script/00XDeployMyContract.s.sol:DeployMyContract --rpc-url $NODE_URL_1 --broadcast --verify -vvvv

contract DeployMyContract is Script, Test, Constants {
function run() external {
string memory deployerMnemonic = vm.envString("MNEMONIC");
Expand Down
2 changes: 1 addition & 1 deletion broadcast/deployed-addresses.json
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@
}
},
"4326": {
"chain_name": "MegaETH",
"chain_name": "Chain 4326",
"contracts": {
"SpokePool": {
"address": "0x3db06da8f0a24a525f314eec954fc5c6a973d40e",
Expand Down
30 changes: 15 additions & 15 deletions broadcast/deployed-addresses.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,16 +193,6 @@ This file contains the latest deployed smart contract addresses from the broadca
| SpokePoolPeriphery | [0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C](https://soneium.blockscout.com/address/0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C) |
| SpokePoolVerifier | [0x3Fb9cED51E968594C87963a371Ed90c39519f65A](https://soneium.blockscout.com/address/0x3Fb9cED51E968594C87963a371Ed90c39519f65A) |

## MegaETH (4326)

| Contract Name | Address |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| MulticallHandler | [0xFfc1285082deAB9bf0ECA5699e4930bb310aFbE4](https://megaeth.blockscout.com/address/0xFfc1285082deAB9bf0ECA5699e4930bb310aFbE4) |
| OP_SpokePool | [0x9b4A302A548c7e313c2b74C461db7b84d3074A84](https://megaeth.blockscout.com/address/0x9b4A302A548c7e313c2b74C461db7b84d3074A84) |
| SpokePool | [0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E](https://megaeth.blockscout.com/address/0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E) |
| SpokePool | [0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E](https://megaeth.blockscout.com/address/0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E) |
| SpokePoolPeriphery | [0xf0aBCe137a493185c5E768F275E7E931109f8981](https://megaeth.blockscout.com/address/0xf0aBCe137a493185c5E768F275E7E931109f8981) |

## Base (8453)

| Contract Name | Address |
Expand Down Expand Up @@ -332,6 +322,16 @@ This file contains the latest deployed smart contract addresses from the broadca
| MulticallHandler | [0x0F7Ae28dE1C8532170AD4ee566B5801485c13a0E](https://sepolia-blockscout.lisk.com/address/0x0F7Ae28dE1C8532170AD4ee566B5801485c13a0E) |
| SpokePool | [0xeF684C38F94F48775959ECf2012D7E864ffb9dd4](https://sepolia-blockscout.lisk.com/address/0xeF684C38F94F48775959ECf2012D7E864ffb9dd4) |

## Chain 4326 (4326)

| Contract Name | Address |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| MulticallHandler | [0xFfc1285082deAB9bf0ECA5699e4930bb310aFbE4](https://megaeth.blockscout.com/address/0xFfc1285082deAB9bf0ECA5699e4930bb310aFbE4) |
| OP_SpokePool | [0x9b4A302A548c7e313c2b74C461db7b84d3074A84](https://megaeth.blockscout.com/address/0x9b4A302A548c7e313c2b74C461db7b84d3074A84) |
| SpokePool | [0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E](https://megaeth.blockscout.com/address/0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E) |
| SpokePool | [0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E](https://megaeth.blockscout.com/address/0x3Db06DA8F0a24A525f314eeC954fC5c6a973d40E) |
| SpokePoolPeriphery | [0xf0aBCe137a493185c5E768F275E7E931109f8981](https://megaeth.blockscout.com/address/0xf0aBCe137a493185c5E768F275E7E931109f8981) |

## Lens Sepolia (37111)

| Contract Name | Address |
Expand All @@ -357,11 +357,11 @@ This file contains the latest deployed smart contract addresses from the broadca

## Tatara (129399)

| Contract Name | Address |
| ----------------- | ------------------------------------------ |
| MulticallHandler | 0xAC537C12fE8f544D712d71ED4376a502EEa944d7 |
| SpokePool | 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64 |
| SpokePoolVerifier | 0x630b76C7cA96164a5aCbC1105f8BA8B739C82570 |
| Contract Name | Address |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| MulticallHandler | [0xAC537C12fE8f544D712d71ED4376a502EEa944d7](https://explorer.tatara.katana.network/address/0xAC537C12fE8f544D712d71ED4376a502EEa944d7) |
| SpokePool | [0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64](https://explorer.tatara.katana.network/address/0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64) |
| SpokePoolVerifier | [0x630b76C7cA96164a5aCbC1105f8BA8B739C82570](https://explorer.tatara.katana.network/address/0x630b76C7cA96164a5aCbC1105f8BA8B739C82570) |

## Arbitrum Sepolia (421614)

Expand Down
7 changes: 5 additions & 2 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,11 @@ hyperevm_testnet = "${NODE_URL_998}"
[etherscan]
ethereum = { key = "${ETHERSCAN_API_KEY}" }

# A profile to only run foundry local tests, skipping fork tests. These tests are run in CI. Run with `FOUNDRY_PROFILE=local forge test`
[profile.local]
# A profile to only run foundry local tests, skipping fork tests. These tests are run in CI. Run with `FOUNDRY_PROFILE=local-test forge test`
[profile.local-test]
test = "test/evm/foundry/local"
revert_strings = "default"
cache_path = "cache-foundry-local"
out = "out-local"

# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"build-verified": "yarn build-evm && yarn build-svm-solana-verify && yarn generate-svm-artifacts && yarn build-ts",
"test-evm": "yarn test-evm-hardhat && yarn test-evm-foundry",
"test-evm-hardhat": "IS_TEST=true hardhat test",
"test-evm-foundry": "FOUNDRY_PROFILE=local forge test",
"test-evm-foundry": "FOUNDRY_PROFILE=local-test forge test",
"test-svm": "IS_TEST=true yarn build-svm && yarn generate-svm-artifacts && anchor test --skip-build",
"test-svm-solana-verify": "IS_TEST=true yarn build-svm-solana-verify && yarn generate-svm-artifacts && anchor test --skip-build",
"test": "yarn test-evm && yarn test-svm",
Expand Down
Loading