Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
59 changes: 59 additions & 0 deletions broadcast/027DeployScrollSpokePool.s.sol/534352/run-latest.json

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions broadcast/036DeployBlastSpokePool.s.sol/81457/run-latest.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions broadcast/039DeployModeSpokePool.s.sol/34443/run-latest.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions broadcast/047DeployRedstoneSpokePool.s.sol/690/run-latest.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions broadcast/049DeployZoraSpokePool.s.sol/7777777/run-latest.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions broadcast/057DeployInkSpokePool.s.sol/57073/run-latest.json

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions broadcast/060DeployCherSpokePool.s.sol/1868/run-latest.json

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions broadcast/deployed-addresses.json
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 16783149
},
"Redstone_SpokePool": {
"address": "0x78d8cb7284b14c123a2e81a3246494e8dad873e4",
"transaction_hash": "0xa57c46d87a2f441460948eee80f1301db9881360e82158d1dae50e73f3d32166",
"block_number": 21978768
}
}
},
Expand Down Expand Up @@ -552,6 +557,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 8910059
},
"Cher_SpokePool": {
"address": "0x48e687205d3962c43891b8cde5a4fe75fa6c8d7a",
"transaction_hash": "0x5e126b5845bf4425d053febf06089e7c02411ee3edf7df6ffa888bc530d85c7f",
"block_number": 11504355
}
}
},
Expand Down Expand Up @@ -622,6 +632,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 25393939
},
"Mode_SpokePool": {
"address": "0xc49226858478de8757e425661b1b5297102330d7",
"transaction_hash": "0x0c14a2fadf82090979edd310e414ba7c7da3558ef1283ad2ec762f0093b5839b",
"block_number": 27988148
}
}
},
Expand Down Expand Up @@ -697,6 +712,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 17456376
},
"Ink_SpokePool": {
"address": "0x5be04e53b465c6fd89ecff3d36ddf666d198e31a",
"transaction_hash": "0x4be0cb8bd16c8541998b7fb4fe7fb93fb453af9edf96dcdef7c2b48f5f134667",
"block_number": 22643750
}
}
},
Expand Down Expand Up @@ -767,6 +787,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 21071991
},
"Blast_SpokePool": {
"address": "0xfcb6f77112951e1995d37542b519fe0a85a1aa77",
"transaction_hash": "0x36ddae4eb4e86aab7bcead1e4e18dab4ac19b2e6facdcbc363df0b2f37e2eea0",
"block_number": 23665884
}
}
},
Expand Down Expand Up @@ -847,6 +872,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 16783149
},
"Scroll_SpokePool": {
"address": "0x9fda59848900a9c93b7dd9341312a292df8fcdc8",
"transaction_hash": "0xe052d93c759370f20c1c3b0212a149a7207c0ea31bb2967e5cf3753f497d736e",
"block_number": 20085960
}
}
},
Expand Down Expand Up @@ -887,6 +917,11 @@
"address": "0x89415a82d909a7238d69094C3Dd1dCC1aCbDa85C",
"transaction_hash": "Unknown",
"block_number": 32130332
},
"Zora_SpokePool": {
"address": "0x40ad479382ad2a5c3061487a5094a677b00f6cb0",
"transaction_hash": "0x095f04a9587bad2fabfa5f0a40bb1e2b3481ad5a8904b33a9abd8ac4e0332deb",
"block_number": 34724058
}
}
},
Expand Down
44 changes: 43 additions & 1 deletion broadcast/deployed-addresses.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `22789839`

#### DeployPermissionSplitterProxy.s.sol
#### PermissionSplitterProxy

- **PermissionSplitterProxy**: `0x0Bf07B2e415F02711fFBB32491f8ec9e5489B2e7`
- Transaction Hash: `0xa2a7b2c6812fb8ae34539fb04cd5f2a9112da1c7f6ffce0ddcf1fee7e43acf48`
Expand Down Expand Up @@ -510,6 +510,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `16783149`

#### Redstone_SpokePool

- **Redstone_SpokePool**: `0x78d8cb7284b14c123a2e81a3246494e8dad873e4`
- Transaction Hash: `0xa57c46d87a2f441460948eee80f1301db9881360e82158d1dae50e73f3d32166`
- Block Number: `21978768`

### HyperEVM (Chain ID: 999)

#### SpokePool
Expand Down Expand Up @@ -582,6 +588,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `8910059`

#### Cher_SpokePool

- **Cher_SpokePool**: `0x48e687205d3962c43891b8cde5a4fe75fa6c8d7a`
- Transaction Hash: `0x5e126b5845bf4425d053febf06089e7c02411ee3edf7df6ffa888bc530d85c7f`
- Block Number: `11504355`

### Base (Chain ID: 8453)

#### SpokePool
Expand Down Expand Up @@ -640,6 +652,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `25393939`

#### Mode_SpokePool

- **Mode_SpokePool**: `0xc49226858478de8757e425661b1b5297102330d7`
- Transaction Hash: `0x0c14a2fadf82090979edd310e414ba7c7da3558ef1283ad2ec762f0093b5839b`
- Block Number: `27988148`

### Arbitrum One (Chain ID: 42161)

#### SpokePool
Expand Down Expand Up @@ -704,6 +722,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `17456376`

#### Ink_SpokePool

- **Ink_SpokePool**: `0x5be04e53b465c6fd89ecff3d36ddf666d198e31a`
- Transaction Hash: `0x4be0cb8bd16c8541998b7fb4fe7fb93fb453af9edf96dcdef7c2b48f5f134667`
- Block Number: `22643750`

### Linea (Chain ID: 59144)

#### SpokePool
Expand Down Expand Up @@ -756,6 +780,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `21071991`

#### Blast_SpokePool

- **Blast_SpokePool**: `0xfcb6f77112951e1995d37542b519fe0a85a1aa77`
- Transaction Hash: `0x36ddae4eb4e86aab7bcead1e4e18dab4ac19b2e6facdcbc363df0b2f37e2eea0`
- Block Number: `23665884`

### Scroll (Chain ID: 534352)

#### SpokePool
Expand All @@ -782,6 +812,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `16783149`

#### Scroll_SpokePool

- **Scroll_SpokePool**: `0x9fda59848900a9c93b7dd9341312a292df8fcdc8`
- Transaction Hash: `0xe052d93c759370f20c1c3b0212a149a7207c0ea31bb2967e5cf3753f497d736e`
- Block Number: `20085960`

### Zora (Chain ID: 7777777)

#### SpokePool
Expand All @@ -808,6 +844,12 @@ This file contains the latest deployed smart contract addresses from the broadca
- Transaction Hash: `Unknown`
- Block Number: `32130332`

#### Zora_SpokePool

- **Zora_SpokePool**: `0x40ad479382ad2a5c3061487a5094a677b00f6cb0`
- Transaction Hash: `0x095f04a9587bad2fabfa5f0a40bb1e2b3481ad5a8904b33a9abd8ac4e0332deb`
- Block Number: `34724058`

### Solana (Chain ID: 34268394551451)

#### SvmSpoke
Expand Down
5 changes: 5 additions & 0 deletions foundry.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"lib/forge-std": {
"rev": "6bce1540c7a5d1c40eec032a1ae16f0e01f82b92"
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fusmanii could you explain why we need this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is just pinning lib/forge-std version, not sure why it hasn't been added to the repo already

2 changes: 1 addition & 1 deletion script/utils/ExtractDeployedFoundryAddresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ function generateAddressesFile(broadcastFiles: BroadcastFile[], outputFile: stri
content.push("");

for (const [scriptName, contracts] of Object.entries(chainInfo.scripts)) {
const name = contracts.length > 1 ? contracts[0].contractName : scriptName;
const name = contracts.length > 0 ? contracts[0].contractName : scriptName;
content.push(`#### ${name}`);
content.push("");

Expand Down
25 changes: 12 additions & 13 deletions scripts/veryfyBytecode.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
#!/bin/bash

# This script verifies the bytecode of a contract onchain matches the bytecode in the artifact
# It takes the following arguments:
# 1. The transaction hash of the contract deployment
# 2. The RPC URL to use
# 3. The name of the contract

# Note that this script doesn't take into account any link libraries that are used in the contract

args=("$@")

if [ ${#args[@]} -ne 3 ]; then
Expand All @@ -12,27 +20,18 @@ RPC=${args[1]}
CONTRACT_NAME=${args[2]}

ONCHAIN=$(cast tx $TX --rpc-url $RPC --json | jq -r '.input' | sed 's/^0x//')
echo "$ONCHAIN" > onchain_creation.hex

ART=out/$CONTRACT_NAME.sol/$CONTRACT_NAME.json

CREATION=$(jq -r '.bytecode.object' "$ART" | sed 's/^0x//')

TAIL=${ONCHAIN:${#CREATION}}
CODE_ONCHAIN=${ONCHAIN:0:${#CREATION}}



cast keccak $CODE_ONCHAIN
cast keccak $CREATION

if [[ $CODE_ONCHAIN == $CREATION ]]; then
echo "✅ Code match";
else
echo "❌ Code mismatch";
if [[ $CODE_ONCHAIN == $CREATION ]]; then
echo "✅ Code match"
else
echo "❌ Code mismatch"
fi
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fusmanii For the future, we should probably standardize the way we do this "veryfying of bytecode" action.

We've got this script, and 2 more: tasks/verifyBytecode.ts , tasks/verifySpokePool.ts

The latter script seems unused currently (am I wrong here @pxrl?) I like the idea of it: sanity checking some params for the spoke. It'd be nice to keep that up-to-date and potentially also create a foundry version.

It'd be nice if we consolidated all this functionality into some single foundry script that could work for any deployment: either foundry or hardhat.

These are a little vague thoughts and only tangentially relevant

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this as a quick way to check bytecode of a deployed contract using foundry but I agree, ideally there would be one script that can verify bytecode/params of a spoke pool regardless if it was deployed using foundry or hardhat

Copy link
Contributor

@pxrl pxrl Oct 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latter script seems unused currently (am I wrong here @pxrl?) I like the idea of it: sanity checking some params for the spoke. It'd be nice to keep that up-to-date and potentially also create a foundry version.

Yeah; it's only sporadically used, but it's a fairly inexpensive way of checking for any configuration issues in the SpokePool. There's value in checking that the onchain values match what was (intended to be) configured by the deployment script, but there's secondary value in dumping the values so that people can sanity check the results for anything that might be misconfigured in the deployment script. The visual inspection might catch issues that we are prone to overlook if the error is buried in a config file.

Ideally it could use executed post-deployment and the output could form part of the eventual PR to add the SpokePool artefacts.






Loading