This document contains the raw calldata for configuring ETH/Base -> HyperEVM OFT pathways. These transactions need to be executed via Etherscan/Basescan using the Porto wallet.
| Transaction | Target Contract | Who Can Execute | Wallet |
|---|---|---|---|
| TX 1-2 | OFT contracts | Owner only | MPC Wallet (0x97b5e4a707A4D5AB4A58b2c93bc8d249a63Ff153) |
| TX 3-6 | LZ Endpoint | Delegate only | Deployer (0x6E3dadcAf328ebB58753e89a3e589F5C5e988dF8) |
| Chain | OFT Contract | Current Delegate |
|---|---|---|
| Ethereum | 0x722ff7C0665F4b1823c9C4cFcDF73A43de5865BD |
0x6E3dadcAf328ebB58753e89a3e589F5C5e988dF8 ✅ |
| Base | 0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B |
0x6E3dadcAf328ebB58753e89a3e589F5C5e988dF8 ✅ |
Good news: The deployer is already set as the delegate for both OFT contracts. This means:
- TX 1-2: Must be executed via Porto (MPC wallet)
- TX 3-6: Can be executed by the deployer directly (no MPC needed)
On ETH OFT Adapter (0x722ff7C0665F4b1823c9C4cFcDF73A43de5865BD):
0xca5eb5e100000000000000000000000097b5e4a707a4d5ab4a58b2c93bc8d249a63ff153
On Base OFT (0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B):
0xca5eb5e100000000000000000000000097b5e4a707a4d5ab4a58b2c93bc8d249a63ff153
| Chain | # of Transactions | OFT Contract |
|---|---|---|
| Ethereum | 6 | 0x722ff7C0665F4b1823c9C4cFcDF73A43de5865BD (UpOFTAdapter) |
| Base | 6 | 0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B (UpOFT) |
HyperEVM OFT (peer): 0x642fFC3496AcA19106BAB7A42F1F221a329654fe
LayerZero Endpoint: 0x1a44076050125825900e736c501f859c50fE728c (same on ETH & Base)
| Field | Value |
|---|---|
| To | 0x722ff7C0665F4b1823c9C4cFcDF73A43de5865BD |
| Function | setPeer(uint32 _eid, bytes32 _peer) |
| Value | 0 ETH |
Calldata:
0x3400288b000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000642ffc3496aca19106bab7a42f1f221a329654fe
| Field | Value |
|---|---|
| To | 0x722ff7C0665F4b1823c9C4cFcDF73A43de5865BD |
| Function | setEnforcedOptions(EnforcedOptionParam[]) |
| Value | 0 ETH |
Calldata:
0xb98bd07000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000493e000000000000000000000000000000000000000000000000000000000000000000000000000000000769f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002c000301001101000000000000000000000000000493e0010013030000000000000000000000000000000f42400000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setSendLibrary(address _oapp, uint32 _eid, address _newLib) |
| Value | 0 ETH |
Calldata:
0x9535ff30000000000000000000000000722ff7c0665f4b1823c9c4cfcdf73a43de5865bd000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000bb2ea70c9e858123480642cf96acbcce1372dce1
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setReceiveLibrary(address _oapp, uint32 _eid, address _newLib, uint256 _gracePeriod) |
| Value | 0 ETH |
Calldata:
0x6a14d715000000000000000000000000722ff7c0665f4b1823c9c4cfcdf73a43de5865bd000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000c02ab410f0734efa3f14628780e6e695156024c20000000000000000000000000000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setConfig(address _oapp, address _lib, SetConfigParam[]) |
| Value | 0 ETH |
Calldata:
0x6dbd9f90000000000000000000000000722ff7c0665f4b1823c9c4cfcdf73a43de5865bd000000000000000000000000bb2ea70c9e858123480642cf96acbcce1372dce10000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000769f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000002710000000000000000000000000173272739bd7aa6e4e214714048a9fe699453059000000000000000000000000000000000000000000000000000000000000769f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000589dedbd617e0cbcb916a9223f4d1300c294236b0000000000000000000000000000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setConfig(address _oapp, address _lib, SetConfigParam[]) |
| Value | 0 ETH |
Calldata:
0x6dbd9f90000000000000000000000000722ff7c0665f4b1823c9c4cfcdf73a43de5865bd000000000000000000000000c02ab410f0734efa3f14628780e6e695156024c2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000769f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000589dedbd617e0cbcb916a9223f4d1300c294236b0000000000000000000000000000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B |
| Function | setPeer(uint32 _eid, bytes32 _peer) |
| Value | 0 ETH |
Calldata:
0x3400288b000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000642ffc3496aca19106bab7a42f1f221a329654fe
| Field | Value |
|---|---|
| To | 0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B |
| Function | setEnforcedOptions(EnforcedOptionParam[]) |
| Value | 0 ETH |
Calldata:
0xb98bd07000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000493e000000000000000000000000000000000000000000000000000000000000000000000000000000000769f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002c000301001101000000000000000000000000000493e0010013030000000000000000000000000000000f42400000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setSendLibrary(address _oapp, uint32 _eid, address _newLib) |
| Value | 0 ETH |
Calldata:
0x9535ff300000000000000000000000005b2193fdc451c1f847be09ca9d13a4bf60f8c86b000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000b5320b0b3a13cc860893e2bd79fcd7e13484dda2
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setReceiveLibrary(address _oapp, uint32 _eid, address _newLib, uint256 _gracePeriod) |
| Value | 0 ETH |
Calldata:
0x6a14d7150000000000000000000000005b2193fdc451c1f847be09ca9d13a4bf60f8c86b000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000c70ab6f32772f59fbfc23889caf4ba3376c84baf0000000000000000000000000000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setConfig(address _oapp, address _lib, SetConfigParam[]) |
| Value | 0 ETH |
Calldata:
0x6dbd9f900000000000000000000000005b2193fdc451c1f847be09ca9d13a4bf60f8c86b000000000000000000000000b5320b0b3a13cc860893e2bd79fcd7e13484dda20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000769f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000027100000000000000000000000002cca08ae69e0c44b18a57ab2a87644234daebae4000000000000000000000000000000000000000000000000000000000000769f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009e059a54699a285714207b43b055483e78faac250000000000000000000000000000000000000000000000000000000000000000
| Field | Value |
|---|---|
| To | 0x1a44076050125825900e736c501f859c50fE728c |
| Function | setConfig(address _oapp, address _lib, SetConfigParam[]) |
| Value | 0 ETH |
Calldata:
0x6dbd9f900000000000000000000000005b2193fdc451c1f847be09ca9d13a4bf60f8c86b000000000000000000000000c70ab6f32772f59fbfc23889caf4ba3376c84baf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000769f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009e059a54699a285714207b43b055483e78faac250000000000000000000000000000000000000000000000000000000000000000
- Go to the target contract on Etherscan (for Ethereum TXs) or Basescan (for Base TXs)
- Connect your Porto wallet via WalletConnect
- Navigate to "Contract" → "Write Contract"
- For simpler transactions (TX 1, 3, 4): Find the function and enter parameters manually
- For complex transactions (TX 2, 5, 6): Use "Write Contract" with raw input data:
- Some explorers have a "Write as Proxy" or raw input option
- Alternatively, use the "Contract" → "Code" → "Write Contract" with the raw calldata
You can also decode and verify the calldata using cast:
# Decode setPeer calldata
cast 4byte-decode 0x3400288b000000000000000000000000000000000000000000000000000000000000769f000000000000000000000000642ffc3496aca19106bab7a42f1f221a329654feIf you need to regenerate this calldata (e.g., for different addresses), run:
cd /Users/cosming/1.Coding/Superform/v2-periphery
forge script script/GenerateHyperEVMCalldata.s.sol -vvvGenerated: 2026-02-19