Source Code
Latest 25 from a total of 49 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Punch It | 22317602 | 329 days ago | IN | 0.00099268 ETH | 0.0001221 | ||||
| Punch It | 22317602 | 329 days ago | IN | 0.00099268 ETH | 0.0001221 | ||||
| Punch It | 22317602 | 329 days ago | IN | 0.00099268 ETH | 0.00012227 | ||||
| Punch It | 22317602 | 329 days ago | IN | 0.00099268 ETH | 0.00012234 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011614 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011614 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011631 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011637 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011614 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011614 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011631 | ||||
| Punch It | 22317601 | 329 days ago | IN | 0.00099268 ETH | 0.00011637 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010979 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010979 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010994 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00011 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010979 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010979 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00010994 | ||||
| Punch It | 22317600 | 329 days ago | IN | 0.00099268 ETH | 0.00011 | ||||
| Punch It | 22317599 | 329 days ago | IN | 0.00099268 ETH | 0.00010855 | ||||
| Punch It | 22317599 | 329 days ago | IN | 0.00099268 ETH | 0.00010855 | ||||
| Punch It | 22317599 | 329 days ago | IN | 0.00099268 ETH | 0.00010871 | ||||
| Punch It | 22317599 | 329 days ago | IN | 0.00099268 ETH | 0.00010877 | ||||
| Punch It | 22317599 | 329 days ago | IN | 0.00099268 ETH | 0.00010855 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer Remote | 22317602 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317602 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317602 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317602 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317601 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317600 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317599 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317599 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317599 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317599 | 329 days ago | 0.00099268 ETH | ||||
| Transfer Remote | 22317599 | 329 days ago | 0.00099268 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MillenniumFalcon
Compiler Version
v0.8.29+commit.ab55807c
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.