ETH Price: $2,266.60 (+8.07%)

Contract

0xeD0560D7C96e380e82BdC8Cb5692B2cAE7E4AAA0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Punch It223176022025-04-21 13:13:23329 days ago1745241203IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.00012210.60608136
Punch It223176022025-04-21 13:13:23329 days ago1745241203IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.00012210.60608136
Punch It223176022025-04-21 13:13:23329 days ago1745241203IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000122270.60608136
Punch It223176022025-04-21 13:13:23329 days ago1745241203IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000122340.60608136
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116140.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116140.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116310.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116370.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116140.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116140.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116310.57652618
Punch It223176012025-04-21 13:13:11329 days ago1745241191IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000116370.57652618
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109790.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109790.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109940.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000110.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109790.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109790.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000109940.54498123
Punch It223176002025-04-21 13:12:59329 days ago1745241179IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000110.54498123
Punch It223175992025-04-21 13:12:47329 days ago1745241167IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000108550.53885333
Punch It223175992025-04-21 13:12:47329 days ago1745241167IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000108550.53885333
Punch It223175992025-04-21 13:12:47329 days ago1745241167IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000108710.53885333
Punch It223175992025-04-21 13:12:47329 days ago1745241167IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000108770.53885333
Punch It223175992025-04-21 13:12:47329 days ago1745241167IN
0xeD0560D7...AE7E4AAA0
0.00099268 ETH0.000108550.53885333
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer Remote223176022025-04-21 13:13:23329 days ago1745241203
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176022025-04-21 13:13:23329 days ago1745241203
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176022025-04-21 13:13:23329 days ago1745241203
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176022025-04-21 13:13:23329 days ago1745241203
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176012025-04-21 13:13:11329 days ago1745241191
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223176002025-04-21 13:12:59329 days ago1745241179
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223175992025-04-21 13:12:47329 days ago1745241167
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223175992025-04-21 13:12:47329 days ago1745241167
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223175992025-04-21 13:12:47329 days ago1745241167
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223175992025-04-21 13:12:47329 days ago1745241167
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
Transfer Remote223175992025-04-21 13:12:47329 days ago1745241167
0xeD0560D7...AE7E4AAA0
0.00099268 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MillenniumFalcon

Compiler Version
v0.8.29+commit.ab55807c

Optimization Enabled:
Yes with 999999 runs

Other Settings:
shanghai EvmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-04-19
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title IHypERC20
 * @notice Interface for Hyperlane ERC20 token with remote transfer functionality
 */
interface IHypERC20 {
    /**
     * @notice Transfers tokens to a recipient on a remote chain
     * @param destination The destination chain ID
     * @param recipient The recipient address on the destination chain
     * @param amount The amount of tokens to transfer
     * @return messageId The ID of the dispatched message
     */
    function transferRemote(
        uint32 destination,
        bytes32 recipient,
        uint256 amount
    ) external payable returns (bytes32);

    /**
     * @notice Approves a spender to transfer tokens on behalf of the caller
     * @param spender The address that will be allowed to spend tokens
     * @param value The amount of tokens to approve
     * @return success Whether the approval was successful
     */
    function approve(address spender, uint256 value) external returns (bool);
}

/**
 * @title MillenniumFalcon - Smuggles spice across the galaxy in record time
 * @notice This contract is part of the KesselRun spice smuggling infrastructure
 * @dev Allows executing multiple transferRemote calls in a single transaction
 * @dev All transactions in a batch must succeed or the entire batch will be reverted
 */
contract MillenniumFalcon {
    /// @notice The Hyperlane ERC20 token contract
    IHypERC20 public immutable token;

    /**
     * @notice Constructor
     * @param _token The address of the Hyperlane ERC20 token contract
     */
    constructor(address _token) {
        token = IHypERC20(_token);

        // Approve Millennium Falcon to spend "infinite" tokens from the deployer (msg.sender at deploy time)
        // Makes testing easier
        IHypERC20(_token).approve(address(this), type(uint256).max);
    }

    /**
     * @notice Struct representing a single cross-chain transfer call
     * @param destination The destination chain ID
     * @param recipient The recipient address on the destination chain
     * @param amount The amount of tokens to transfer
     * @param value The amount of native token to send with the transfer
     */
    struct TransferCall {
        uint32 destination;
        bytes32 recipient;
        uint256 amount;
        uint256 value;
    }

    /**
     * @notice Executes multiple cross-chain transfers in a single transaction
     * @param calls Array of TransferCall structs containing transfer details
     * @dev Requires sufficient msg.value to cover all transfer values
     * @dev Refunds any excess native token to the sender
     */
    function punchIt(TransferCall[] calldata calls) external payable {
        uint256 totalValue = 0;

        // Execute each transfer call
        for (uint256 i = 0; i < calls.length; i++) {
            totalValue += calls[i].value;

            token.transferRemote{value: calls[i].value}(
                calls[i].destination,
                calls[i].recipient,
                calls[i].amount
            );
        }

        // Ensure sufficient funds were provided
        require(
            totalValue <= msg.value,
            "MillenniumFalcon: Not enough msg.value"
        );

        // Refund any excess native token
        uint256 refund = msg.value - totalValue;
        if (refund > 0) {
            payable(msg.sender).transfer(refund);
        }
    }

    /// @notice Allows the contract to receive native token
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"components":[{"internalType":"uint32","name":"destination","type":"uint32"},{"internalType":"bytes32","name":"recipient","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"internalType":"struct MillenniumFalcon.TransferCall[]","name":"calls","type":"tuple[]"}],"name":"punchIt","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IHypERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405234801561000f575f5ffd5b5060405161056c38038061056c83398101604081905261002e916100a7565b6001600160a01b038116608081905260405163095ea7b360e01b81523060048201525f19602482015263095ea7b3906044016020604051808303815f875af115801561007c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a091906100d4565b50506100f3565b5f602082840312156100b7575f5ffd5b81516001600160a01b03811681146100cd575f5ffd5b9392505050565b5f602082840312156100e4575f5ffd5b815180151581146100cd575f5ffd5b60805161045c6101105f395f8181605c015260dd015261045c5ff3fe60806040526004361061002b575f3560e01c8063c0c033c114610036578063fc0c546a1461004b575f5ffd5b3661003257005b5f5ffd5b6100496100443660046102ee565b6100a7565b005b348015610056575f5ffd5b5061007e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b5f805b82811015610214578383828181106100c4576100c461035f565b90506080020160600135826100d991906103b9565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166381b4e8b48585848181106101295761012961035f565b905060800201606001358686858181106101455761014561035f565b61015b92602060809092020190810191506103d2565b87878681811061016d5761016d61035f565b905060800201602001358888878181106101895761018961035f565b905060800201604001356040518563ffffffff1660e01b81526004016101ca9392919063ffffffff9390931683526020830191909152604082015260600190565b60206040518083038185885af11580156101e6573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061020b91906103fc565b506001016100aa565b50348111156102a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d696c6c656e6e69756d46616c636f6e3a204e6f7420656e6f756768206d736760448201527f2e76616c75650000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5f6102b48234610413565b905080156102e857604051339082156108fc029083905f818181858888f193505050501580156102e6573d5f5f3e3d5ffd5b505b50505050565b5f5f602083850312156102ff575f5ffd5b823567ffffffffffffffff811115610315575f5ffd5b8301601f81018513610325575f5ffd5b803567ffffffffffffffff81111561033b575f5ffd5b8560208260071b840101111561034f575f5ffd5b6020919091019590945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103cc576103cc61038c565b92915050565b5f602082840312156103e2575f5ffd5b813563ffffffff811681146103f5575f5ffd5b9392505050565b5f6020828403121561040c575f5ffd5b5051919050565b818103818111156103cc576103cc61038c56fea264697066735822122085a3f4aea35f7cb556dc23a87d4c351cbb6c7910afb033d971abb3981ddb1a7d64736f6c634300081d0033000000000000000000000000c10c27afcb915439c27cae54f5f46da48cd71190

Deployed Bytecode

0x60806040526004361061002b575f3560e01c8063c0c033c114610036578063fc0c546a1461004b575f5ffd5b3661003257005b5f5ffd5b6100496100443660046102ee565b6100a7565b005b348015610056575f5ffd5b5061007e7f000000000000000000000000c10c27afcb915439c27cae54f5f46da48cd7119081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b5f805b82811015610214578383828181106100c4576100c461035f565b90506080020160600135826100d991906103b9565b91507f000000000000000000000000c10c27afcb915439c27cae54f5f46da48cd7119073ffffffffffffffffffffffffffffffffffffffff166381b4e8b48585848181106101295761012961035f565b905060800201606001358686858181106101455761014561035f565b61015b92602060809092020190810191506103d2565b87878681811061016d5761016d61035f565b905060800201602001358888878181106101895761018961035f565b905060800201604001356040518563ffffffff1660e01b81526004016101ca9392919063ffffffff9390931683526020830191909152604082015260600190565b60206040518083038185885af11580156101e6573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061020b91906103fc565b506001016100aa565b50348111156102a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d696c6c656e6e69756d46616c636f6e3a204e6f7420656e6f756768206d736760448201527f2e76616c75650000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5f6102b48234610413565b905080156102e857604051339082156108fc029083905f818181858888f193505050501580156102e6573d5f5f3e3d5ffd5b505b50505050565b5f5f602083850312156102ff575f5ffd5b823567ffffffffffffffff811115610315575f5ffd5b8301601f81018513610325575f5ffd5b803567ffffffffffffffff81111561033b575f5ffd5b8560208260071b840101111561034f575f5ffd5b6020919091019590945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103cc576103cc61038c565b92915050565b5f602082840312156103e2575f5ffd5b813563ffffffff811681146103f5575f5ffd5b9392505050565b5f6020828403121561040c575f5ffd5b5051919050565b818103818111156103cc576103cc61038c56fea264697066735822122085a3f4aea35f7cb556dc23a87d4c351cbb6c7910afb033d971abb3981ddb1a7d64736f6c634300081d0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c10c27afcb915439c27cae54f5f46da48cd71190

-----Decoded View---------------
Arg [0] : _token (address): 0xC10c27afcb915439C27cAe54F5F46Da48cd71190

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c10c27afcb915439c27cae54f5f46da48cd71190


Deployed Bytecode Sourcemap

1378:2231:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:798;;;;;;:::i;:::-;;:::i;:::-;;1463:32;;;;;;;;;;;;;;;;;;851:42:1;839:55;;;821:74;;809:2;794:18;1463:32:0;;;;;;;2710:798;2786:18;;2860:283;2880:16;;;2860:283;;;2932:5;;2938:1;2932:8;;;;;;;:::i;:::-;;;;;;:14;;;2918:28;;;;;:::i;:::-;;;2963:5;:20;;;2991:5;;2997:1;2991:8;;;;;;;:::i;:::-;;;;;;:14;;;3025:5;;3031:1;3025:8;;;;;;;:::i;:::-;:20;;;:8;;;;;:20;;;;-1:-1:-1;3025:20:0;:::i;:::-;3064:5;;3070:1;3064:8;;;;;;;:::i;:::-;;;;;;:18;;;3101:5;;3107:1;3101:8;;;;;;;:::i;:::-;;;;;;:15;;;2963:168;;;;;;;;;;;;;;;;1925:10:1;1913:23;;;;1895:42;;1968:2;1953:18;;1946:34;;;;2011:2;1996:18;;1989:34;1883:2;1868:18;;1695:334;2963:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2898:3:0;;2860:283;;;;3241:9;3227:10;:23;;3205:111;;;;;;;2425:2:1;3205:111:0;;;2407:21:1;2464:2;2444:18;;;2437:30;2503:34;2483:18;;;2476:62;2574:8;2554:18;;;2547:36;2600:19;;3205:111:0;;;;;;;;3372:14;3389:22;3401:10;3389:9;:22;:::i;:::-;3372:39;-1:-1:-1;3426:10:0;;3422:79;;3453:36;;3461:10;;3453:36;;;;;3482:6;;3453:36;;;;3482:6;3461:10;3453:36;;;;;;;;;;;;;;;;;;;;;3422:79;2775:733;;2710:798;;:::o;14:640:1:-;130:6;138;191:2;179:9;170:7;166:23;162:32;159:52;;;207:1;204;197:12;159:52;247:9;234:23;280:18;272:6;269:30;266:50;;;312:1;309;302:12;266:50;335:22;;388:4;380:13;;376:27;-1:-1:-1;366:55:1;;417:1;414;407:12;366:55;457:2;444:16;483:18;475:6;472:30;469:50;;;515:1;512;505:12;469:50;568:7;563:2;553:6;550:1;546:14;542:2;538:23;534:32;531:45;528:65;;;589:1;586;579:12;528:65;620:2;612:11;;;;;642:6;;-1:-1:-1;14:640:1;-1:-1:-1;;;14:640:1:o;906:184::-;958:77;955:1;948:88;1055:4;1052:1;1045:15;1079:4;1076:1;1069:15;1095:184;1147:77;1144:1;1137:88;1244:4;1241:1;1234:15;1268:4;1265:1;1258:15;1284:125;1349:9;;;1370:10;;;1367:36;;;1383:18;;:::i;:::-;1284:125;;;;:::o;1414:276::-;1472:6;1525:2;1513:9;1504:7;1500:23;1496:32;1493:52;;;1541:1;1538;1531:12;1493:52;1580:9;1567:23;1630:10;1623:5;1619:22;1612:5;1609:33;1599:61;;1656:1;1653;1646:12;1599:61;1679:5;1414:276;-1:-1:-1;;;1414:276:1:o;2034:184::-;2104:6;2157:2;2145:9;2136:7;2132:23;2128:32;2125:52;;;2173:1;2170;2163:12;2125:52;-1:-1:-1;2196:16:1;;2034:184;-1:-1:-1;2034:184:1:o;2630:128::-;2697:9;;;2718:11;;;2715:37;;;2732:18;;:::i

Swarm Source

ipfs://85a3f4aea35f7cb556dc23a87d4c351cbb6c7910afb033d971abb3981ddb1a7d

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.