-
Notifications
You must be signed in to change notification settings - Fork 2
Add Deployments and env examples #96
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| ARBITRUM_RPC_URL= | ||
| ETHEREUM_RPC_URL= | ||
| ZKSYNC_RPC_URL= | ||
| OPTIMISM_RPC_URL= | ||
| LINEA_RPC_URL= | ||
| SCROLL_RPC_URL= | ||
| BASE_RPC_URL= | ||
|
|
||
| OWNER= | ||
| DEPLOYER_PRIVATE_KEY= | ||
|
|
||
| #### Verification | ||
| VERIFIER=etherscan | ||
| ETHERSCAN_API_KEY= | ||
|
|
||
|
|
||
| #### Chains | ||
|
|
||
| ETHEREUM_CHAIN_ID=1 | ||
|
|
||
| # Arbitrum Envs | ||
| ARBITRUM_CHAIN_ID=42161 | ||
| ARBITRUM_OUTBOX=0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840 | ||
| ARBITRUM_ROOTS_SLOT=3 | ||
|
|
||
| #Linea Envs | ||
| LINEA_CHAIN_ID=59144 | ||
| LINEA_ROLLUP=0xd19d4B5d358258f05D7B411E21A1460D11B0876F | ||
| LINEA_STATE_ROOT_HASHES_SLOT=282 | ||
| LINEA_L2_MESSAGE_SERVICE=0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec | ||
|
|
||
| # Scroll Envs | ||
| SCROLL_CHAIN_ID=534352 | ||
| SCROLL_CHAIN=0xa13BAF47339d63B743e7Da8741db5456DAc1E556 | ||
| SCROLL_FINALIZED_STATE_ROOT_SLOT=158 | ||
| L1_SCROLL_MESSENGER=0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367 | ||
| L2_SCROLL_MESSENGER=0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC | ||
|
|
||
| # Optimism Envs | ||
| OPTIMISM_CHAIN_ID=10 | ||
| OPTIMISM_ANCHOR_GAME_SLOT=2 | ||
| OPTIMISM_ANCHOR_STATE_REGISTRY=0x23B2C62946350F4246f9f9D027e071f0264FD113 | ||
| OPTIMISM_L1_CROSS_DOMAIN_MESSENGER_PROXY=0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1 | ||
| OPTIMISM_L2_CROSS_DOMAIN_MESSENGER=0x4200000000000000000000000000000000000007 | ||
|
|
||
| #Base Envs | ||
| BASE_CHAIN_ID=8453 | ||
| BASE_ANCHOR_GAME_SLOT=2 | ||
| BASE_ANCHOR_STATE_REGISTRY=0x909f6cf47ed12f010A796527f562bFc26C7F4E72 | ||
| BASE_L1_CROSS_DOMAIN_MESSENGER_PROXY=0x866E82a600A1414e583f7F13623F1aC5d58b0Afa | ||
| BASE_L2_CROSS_DOMAIN_MESSENGER=0x4200000000000000000000000000000000000007 | ||
|
|
||
|
|
||
| # ZkSync Envs | ||
| ZKSYNC_CHAIN_ID=324 | ||
| ZKSYNC_DIAMOND=0x32400084c286cf3e17e7b677ea9583e60a000324 | ||
| ZKSYNC_GATEWAY_ZK_CHAIN=0x6E96D1172a6593D5027Af3c2664C5112Ca75F2B9 | ||
| ZKSYNC_L2_LOGS_ROOT_HASH_SLOT=15 | ||
| ZKSYNC_GATEWAY_CHAIN_ID=9075 | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| { | ||
| "contracts": { | ||
| "broadcaster": "0x536c398D9bBAf896b128C99bB7c78CfA3243AE27", | ||
| "receiver": "0x16681d01c9169aacaFB6BbCBaF4c7C3002C63059", | ||
| "input-settler-escrow": "0x15eA18EAcD9C35b454CF1456ed1bD05636B46147", | ||
| "output-settler-simple": "0x1DCE289d62C2068584C5D0CFb5C1fD538e832847", | ||
| "broadcaster-oracle": "0x0a6edD8A400b6db1bbe0d21Ecef07c4Fce983248" | ||
| }, | ||
| "copies": { | ||
| "ethereum-sepolia": { | ||
| "linea-sepolia": "0x3E36338736c590753F071D90779b0449bD576834", | ||
| "scroll-sepolia": "0x2635119429AFE9ed4b5dC38f71D12f1A241231Ec", | ||
| "optimism-sepolia": "0x9B22f2bB9a5ECbEd10984f47c1A5FE8C551Fbf6a", | ||
| "arbitrum-sepolia": "0x3ed2414D931f28Ef85D2E5e74e509d6FEDB812F6" | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,14 +3,18 @@ | |
| "buffer": "0xaC0a6EB6407b9C13c3B374219B2f91fda4DF47C5", | ||
| "pusher": "0x2c4ded0d5883646AEAD86a6C748c871afa819125", | ||
| "broadcaster": "0x536c398D9bBAf896b128C99bB7c78CfA3243AE27", | ||
| "receiver": "0x16681d01c9169aacaFB6BbCBaF4c7C3002C63059" | ||
| "receiver": "0x16681d01c9169aacaFB6BbCBaF4c7C3002C63059", | ||
| "broadcaster-oracle": "0x0a6edD8A400b6db1bbe0d21Ecef07c4Fce983248", | ||
| "input-settler-escrow": "0x15eA18EAcD9C35b454CF1456ed1bD05636B46147", | ||
| "output-settler-simple": "0x1DCE289d62C2068584C5D0CFb5C1fD538e832847" | ||
| }, | ||
| "copies": { | ||
| "ethereum-sepolia": { | ||
| "arbitrum-sepolia": "0x3ed2414D931f28Ef85D2E5e74e509d6FEDB812F6", | ||
| "linea-sepolia": "0x3E36338736c590753F071D90779b0449bD576834", | ||
| "scroll-sepolia": "0x2635119429AFE9ed4b5dC38f71D12f1A241231Ec", | ||
| "zksync-sepolia": "0xf5e56d9d93267631f69dB9388d38e9c487830bD4" | ||
| "zksync-sepolia": "0xf5e56d9d93267631f69dB9388d38e9c487830bD4", | ||
| "base-sepolia": "0x853C0c8873FB6c2c71777373AD71BEa04f3755A6" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Description: Verify base-sepolia copy address for checksum validity and on-chain existence
BASE_SEPOLIA_ADDR="0x853C0c8873FB6c2c71777373AD71BEa04f3755A6"
echo "=== Validating EIP-55 Checksum ==="
python3 -c "
from eth_utils import to_checksum_address
addr = '$BASE_SEPOLIA_ADDR'
try:
checksum_addr = to_checksum_address(addr.lower())
if addr == checksum_addr:
print(f'✓ {addr} - Valid checksum')
else:
print(f'✗ {addr} - Invalid checksum (expected: {checksum_addr})')
except Exception as e:
print(f'✗ {addr} - Error: {e}')
"
echo -e "\n=== Checking On-Chain Deployment on Base Sepolia ==="
echo "Checking $BASE_SEPOLIA_ADDR..."
code=$(cast code "$BASE_SEPOLIA_ADDR" --rpc-url https://sepolia.base.org 2>&1)
if [[ "$code" == "0x" ]] || [[ -z "$code" ]]; then
echo "✗ No contract code found at $BASE_SEPOLIA_ADDR"
else
echo "✓ Contract code exists at $BASE_SEPOLIA_ADDR"
fiRepository: openintentsframework/broadcaster Length of output: 428 🏁 Script executed: #!/bin/bash
# Verify checksum using web3.py which is more commonly available
BASE_SEPOLIA_ADDR="0x853C0c8873FB6c2c71777373AD71BEa04f3755A6"
echo "=== Validating EIP-55 Checksum ==="
python3 <<EOF
from web3 import Web3
addr = "$BASE_SEPOLIA_ADDR"
try:
checksum_addr = Web3.to_checksum_address(addr.lower())
if addr == checksum_addr:
print(f'✓ {addr} - Valid EIP-55 checksum')
else:
print(f'✗ {addr} - Invalid checksum')
print(f' Expected: {checksum_addr}')
except Exception as e:
print(f'Error: {e}')
# Fallback: manual verification using keccak
import hashlib
addr_clean = addr.lower().replace('0x', '')
hash_obj = hashlib.sha3_256(addr_clean.encode()).digest()
hash_str = hash_obj.hex()
result = '0x'
for i, char in enumerate(addr_clean):
if char in '0123456789':
result += char
else:
hash_value = int(hash_str[i], 16)
result += char.upper() if hash_value >= 8 else char
if result.lower() == addr.lower():
print(f'✓ {addr} - Valid EIP-55 checksum (manual verification)')
else:
print(f'✗ {addr} - Invalid checksum (manual verification)')
print(f' Expected: {result}')
EOFRepository: openintentsframework/broadcaster Length of output: 244 🏁 Script executed: #!/bin/bash
# Verify checksum using pure Python with hashlib
BASE_SEPOLIA_ADDR="0x853C0c8873FB6c2c71777373AD71BEa04f3755A6"
python3 <<'EOF'
import hashlib
addr = "0x853C0c8873FB6c2c71777373AD71BEa04f3755A6"
# Remove 0x prefix
addr_clean = addr[2:].lower()
# Compute Keccak-256 hash of the address
keccak_hash = hashlib.sha3_256(addr_clean.encode()).hexdigest()
# Build checksum address
checksum_addr = '0x'
for i, char in enumerate(addr_clean):
if char in '0123456789':
checksum_addr += char
else:
# If hash nibble >= 8, uppercase the letter
hash_value = int(keccak_hash[i], 16)
checksum_addr += char.upper() if hash_value >= 8 else char
print(f"Address to verify: {addr}")
print(f"Expected checksum: {checksum_addr}")
print(f"Match: {addr == checksum_addr}")
if addr == checksum_addr:
print("✓ Valid EIP-55 checksum")
else:
print("✗ Invalid checksum")
EOFRepository: openintentsframework/broadcaster Length of output: 231 Update base-sepolia copy address with correct EIP-55 checksum. The address 🤖 Prompt for AI Agents |
||
| } | ||
| }, | ||
| "provers": { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: openintentsframework/broadcaster
Length of output: 969
🏁 Script executed:
Repository: openintentsframework/broadcaster
Length of output: 910
🌐 Web query:
0x0a6edD8A400b6db1bbe0d21Ecef07c4Fce983248 Optimism Sepolia broadcaster-oracle EIP-55💡 Result:
EIP-55 (checksummed) form:
0x0a6edD8A400b6db1bbe0d21Ecef07c4Fce983248(mixed-case is the checksum encoding per EIP-55) [1]Lowercase (non-checksummed) form:
0x0a6edd8a400b6db1bbe0d21ecef07c4fce983248[1]I could not find any authoritative public source that labels
0x0a6edD8A400b6db1bbe0d21Ecef07c4Fce983248specifically as the “broadcaster-oracle” contract on Optimism Sepolia from the searches performed. You can independently validate whether the capitalization is a correct EIP-55 checksum using an address checksum checker. [2]Sources: [1] [2]
🌐 Web query:
0x15eA18EAcD9C35b454CF1456ed1bD05636B46147 Optimism Sepolia input-settler-escrow💡 Result:
On Optimism Sepolia, LI.FI’s documented Input Settler Escrow contract address is:
0x000025c3226C00B2Cdc200005a1600509f4e00C0[1]So the address you provided:
0x15eA18EAcD9C35b454CF1456ed1bD05636B46147does not match LI.FI’s published Input Settler Escrow deployment for Optimism Sepolia (LI.FI states these contracts are deployed to the same addresses across the listed testnets, including Optimism Sepolia) [1].
Source
🌐 Web query:
0x1DCE289d62C2068584C5D0CFb5C1fD538e832847 Optimism Sepolia output-settler-simple💡 Result:
0x1DCE289d62C2068584C5D0CFb5C1fD538e832847is an OP Sepolia (chainId 11155420) contract address (often labeledoutput-settler-simple/OutputSettlerSimplein intent-based settlement systems). OP Sepolia’s explorers are Etherscan and Blockscout. [2], [3]In the LI.FI Intents architecture,
OutputSettlerSimpleis the (currently) primary “output settler” contract responsible for output-side settlement and supports multiple order types (limit + Dutch variants, including exclusive versions). [1]Sources: [1] [2] [3]
Verify the input-settler-escrow address—published documentation indicates a different deployment.
The address
0x15eA18EAcD9C35b454CF1456ed1bD05636B46147does not match LI.FI's documented Input Settler Escrow contract on Optimism Sepolia, which is deployed at0x000025c3226C00B2Cdc200005a1600509f4e00C0. Confirm whether the address in this file is intentionally different (e.g., a separate deployment) or if the wrong address was added. The other two addresses (broadcaster-oracleandoutput-settler-simple) are correctly deployed and checksummed.🤖 Prompt for AI Agents