Arbitrum Sepolia Testnet

Contract

0x60Ff0d6060722DB7357F6976C8E5B8f2F42b8759

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

Please try again later

Parent Transaction Hash Block From To Amount
View All Internal Transactions

Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x82529035...A954D31Df
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
ERC7786ReceiverMock

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Sepolia.Arbiscan.io on 2025-02-20
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.27;

interface IERC7786Receiver {
    /**
     * @dev Endpoint for receiving cross-chain message.
     * @param sourceChain {CAIP2} chain identifier
     * @param sender {CAIP10} account address (does not include the chain identifier)
     *
     * This function may be called directly by the gateway.
     */
    function executeMessage(
        string calldata sourceChain, // CAIP-2 chain identifier
        string calldata sender, // CAIP-10 account address (does not include the chain identifier)
        bytes calldata payload,
        bytes[] calldata attributes
    ) external payable returns (bytes4);
}

/**
 * @dev Base implementation of an ERC-7786 compliant cross-chain message receiver.
 *
 * This abstract contract exposes the `executeMessage` function that is used for communication with (one or multiple)
 * destination gateways. This contract leaves two functions unimplemented:
 *
 * {_isKnownGateway}, an internal getter used to verify whether an address is recognised by the contract as a valid
 * ERC-7786 destination gateway. One or multiple gateway can be supported. Note that any malicious address for which
 * this function returns true would be able to impersonate any account on any other chain sending any message.
 *
 * {_processMessage}, the internal function that will be called with any message that has been validated.
 */

 abstract contract ERC7786Receiver is IERC7786Receiver {
    error ERC7786ReceiverInvalidGateway(address gateway);
    error ERC7786ReceivePassiveModeValue();

    /// @inheritdoc IERC7786Receiver
    function executeMessage(
        string calldata source,
        string calldata sender,
        bytes calldata payload,
        bytes[] calldata attributes
    ) public payable virtual returns (bytes4) {
        require(_isKnownGateway(msg.sender), ERC7786ReceiverInvalidGateway(msg.sender));
        _processMessage(msg.sender, source, sender, payload, attributes);
        return IERC7786Receiver.executeMessage.selector;
    }

    /// @dev Virtual getter that returns whether an address is a valid ERC-7786 gateway.
    function _isKnownGateway(address instance) internal view virtual returns (bool);

    /// @dev Virtual function that should contain the logic to execute when a cross-chain message is received.
    function _processMessage(
        address gateway,
        string calldata sourceChain,
        string calldata sender,
        bytes calldata payload,
        bytes[] calldata attributes
    ) internal virtual;
}


contract ERC7786ReceiverMock is ERC7786Receiver {
    address private immutable _gateway;

    event MessageReceived(address gateway, string source, string sender, bytes payload, bytes[] attributes);

    constructor(address gateway_) {
        _gateway = gateway_;
    }

    function _isKnownGateway(address instance) internal view virtual override returns (bool) {
        return instance == _gateway;
    }

    function _processMessage(
        address gateway,
        string calldata source,
        string calldata sender,
        bytes calldata payload,
        bytes[] calldata attributes
    ) internal virtual override {
        emit MessageReceived(gateway, source, sender, payload, attributes);
    }
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"gateway_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ERC7786ReceivePassiveModeValue","type":"error"},{"inputs":[{"internalType":"address","name":"gateway","type":"address"}],"name":"ERC7786ReceiverInvalidGateway","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"gateway","type":"address"},{"indexed":false,"internalType":"string","name":"source","type":"string"},{"indexed":false,"internalType":"string","name":"sender","type":"string"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"bytes[]","name":"attributes","type":"bytes[]"}],"name":"MessageReceived","type":"event"},{"inputs":[{"internalType":"string","name":"source","type":"string"},{"internalType":"string","name":"sender","type":"string"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes[]","name":"attributes","type":"bytes[]"}],"name":"executeMessage","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"payable","type":"function"}]

0x60a060405234801561000f575f5ffd5b506040516107b43803806107b4833981810160405281019061003191906100c9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100f4565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100988261006f565b9050919050565b6100a88161008e565b81146100b2575f5ffd5b50565b5f815190506100c38161009f565b92915050565b5f602082840312156100de576100dd61006b565b5b5f6100eb848285016100b5565b91505092915050565b6080516106a961010b5f395f60c801526106a95ff3fe60806040526004361061001d575f3560e01c8063675b049b14610021575b5f5ffd5b61003b60048036038101906100369190610281565b610051565b604051610048919061039f565b60405180910390f35b5f61005b336100c5565b339061009d576040517fd974795400000000000000000000000000000000000000000000000000000000815260040161009491906103f7565b60405180910390fd5b506100af338a8a8a8a8a8a8a8a61011c565b63675b049b60e01b905098975050505050505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b7f9e79df02a552efb40d147d66bae22d6bc689cc028d51cc5c5faa7eff153a201f89898989898989898960405161015b999897969594939291906105fe565b60405180910390a1505050505050505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261019757610196610176565b5b8235905067ffffffffffffffff8111156101b4576101b361017a565b5b6020830191508360018202830111156101d0576101cf61017e565b5b9250929050565b5f5f83601f8401126101ec576101eb610176565b5b8235905067ffffffffffffffff8111156102095761020861017a565b5b6020830191508360018202830111156102255761022461017e565b5b9250929050565b5f5f83601f84011261024157610240610176565b5b8235905067ffffffffffffffff81111561025e5761025d61017a565b5b60208301915083602082028301111561027a5761027961017e565b5b9250929050565b5f5f5f5f5f5f5f5f6080898b03121561029d5761029c61016e565b5b5f89013567ffffffffffffffff8111156102ba576102b9610172565b5b6102c68b828c01610182565b9850985050602089013567ffffffffffffffff8111156102e9576102e8610172565b5b6102f58b828c01610182565b9650965050604089013567ffffffffffffffff81111561031857610317610172565b5b6103248b828c016101d7565b9450945050606089013567ffffffffffffffff81111561034757610346610172565b5b6103538b828c0161022c565b92509250509295985092959890939650565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61039981610365565b82525050565b5f6020820190506103b25f830184610390565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103e1826103b8565b9050919050565b6103f1816103d7565b82525050565b5f60208201905061040a5f8301846103e8565b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6104498385610410565b9350610456838584610420565b61045f8361042e565b840190509392505050565b5f82825260208201905092915050565b5f610485838561046a565b9350610492838584610420565b61049b8361042e565b840190509392505050565b5f82825260208201905092915050565b5f819050919050565b5f82825260208201905092915050565b5f6104da83856104bf565b93506104e7838584610420565b6104f08361042e565b840190509392505050565b5f6105078484846104cf565b90509392505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f8335600160200384360303811261053857610537610518565b5b83810192508235915060208301925067ffffffffffffffff8211156105605761055f610510565b5b60018202360383131561057657610575610514565b5b509250929050565b5f602082019050919050565b5f61059583856104a6565b9350836020840285016105a7846104b6565b805f5b878110156105ec5784840389526105c1828461051c565b6105cc8682846104fb565b95506105d78461057e565b935060208b019a5050506001810190506105aa565b50829750879450505050509392505050565b5f60a0820190506106115f83018c6103e8565b8181036020830152610624818a8c61043e565b9050818103604083015261063981888a61043e565b9050818103606083015261064e81868861047a565b9050818103608083015261066381848661058a565b90509a995050505050505050505056fea26469706673582212203d400bdb55f4d15bbf48f2b15dda46e0310fb1d2910b1db7416096b5ce2a7ad264736f6c634300081b0033000000000000000000000000050193203845d4145dea5200c7ea49ef28b5f870

Deployed Bytecode

0x60806040526004361061001d575f3560e01c8063675b049b14610021575b5f5ffd5b61003b60048036038101906100369190610281565b610051565b604051610048919061039f565b60405180910390f35b5f61005b336100c5565b339061009d576040517fd974795400000000000000000000000000000000000000000000000000000000815260040161009491906103f7565b60405180910390fd5b506100af338a8a8a8a8a8a8a8a61011c565b63675b049b60e01b905098975050505050505050565b5f7f000000000000000000000000050193203845d4145dea5200c7ea49ef28b5f87073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b7f9e79df02a552efb40d147d66bae22d6bc689cc028d51cc5c5faa7eff153a201f89898989898989898960405161015b999897969594939291906105fe565b60405180910390a1505050505050505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261019757610196610176565b5b8235905067ffffffffffffffff8111156101b4576101b361017a565b5b6020830191508360018202830111156101d0576101cf61017e565b5b9250929050565b5f5f83601f8401126101ec576101eb610176565b5b8235905067ffffffffffffffff8111156102095761020861017a565b5b6020830191508360018202830111156102255761022461017e565b5b9250929050565b5f5f83601f84011261024157610240610176565b5b8235905067ffffffffffffffff81111561025e5761025d61017a565b5b60208301915083602082028301111561027a5761027961017e565b5b9250929050565b5f5f5f5f5f5f5f5f6080898b03121561029d5761029c61016e565b5b5f89013567ffffffffffffffff8111156102ba576102b9610172565b5b6102c68b828c01610182565b9850985050602089013567ffffffffffffffff8111156102e9576102e8610172565b5b6102f58b828c01610182565b9650965050604089013567ffffffffffffffff81111561031857610317610172565b5b6103248b828c016101d7565b9450945050606089013567ffffffffffffffff81111561034757610346610172565b5b6103538b828c0161022c565b92509250509295985092959890939650565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61039981610365565b82525050565b5f6020820190506103b25f830184610390565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103e1826103b8565b9050919050565b6103f1816103d7565b82525050565b5f60208201905061040a5f8301846103e8565b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6104498385610410565b9350610456838584610420565b61045f8361042e565b840190509392505050565b5f82825260208201905092915050565b5f610485838561046a565b9350610492838584610420565b61049b8361042e565b840190509392505050565b5f82825260208201905092915050565b5f819050919050565b5f82825260208201905092915050565b5f6104da83856104bf565b93506104e7838584610420565b6104f08361042e565b840190509392505050565b5f6105078484846104cf565b90509392505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f8335600160200384360303811261053857610537610518565b5b83810192508235915060208301925067ffffffffffffffff8211156105605761055f610510565b5b60018202360383131561057657610575610514565b5b509250929050565b5f602082019050919050565b5f61059583856104a6565b9350836020840285016105a7846104b6565b805f5b878110156105ec5784840389526105c1828461051c565b6105cc8682846104fb565b95506105d78461057e565b935060208b019a5050506001810190506105aa565b50829750879450505050509392505050565b5f60a0820190506106115f83018c6103e8565b8181036020830152610624818a8c61043e565b9050818103604083015261063981888a61043e565b9050818103606083015261064e81868861047a565b9050818103608083015261066381848661058a565b90509a995050505050505050505056fea26469706673582212203d400bdb55f4d15bbf48f2b15dda46e0310fb1d2910b1db7416096b5ce2a7ad264736f6c634300081b0033

Deployed Bytecode Sourcemap

2614:738:0:-:0;;;;;;;;;;;;;;;;;;;;;1651:439;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;1851:6;1878:27;1894:10;1878:15;:27::i;:::-;1937:10;1870:79;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1960:64;1976:10;1988:6;;1996;;2004:7;;2013:10;;1960:15;:64::i;:::-;2042:40;;;2035:47;;1651:439;;;;;;;;;;:::o;2900:135::-;2983:4;3019:8;3007:20;;:8;:20;;;3000:27;;2900:135;;;:::o;3043:306::-;3280:61;3296:7;3305:6;;3313;;3321:7;;3330:10;;3280:61;;;;;;;;;;;;;;:::i;:::-;;;;;;;;3043:306;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;717:553;775:8;785:6;835:3;828:4;820:6;816:17;812:27;802:122;;843:79;;:::i;:::-;802:122;956:6;943:20;933:30;;986:18;978:6;975:30;972:117;;;1008:79;;:::i;:::-;972:117;1122:4;1114:6;1110:17;1098:29;;1176:3;1168:4;1160:6;1156:17;1146:8;1142:32;1139:41;1136:128;;;1183:79;;:::i;:::-;1136:128;717:553;;;;;:::o;1289:552::-;1346:8;1356:6;1406:3;1399:4;1391:6;1387:17;1383:27;1373:122;;1414:79;;:::i;:::-;1373:122;1527:6;1514:20;1504:30;;1557:18;1549:6;1546:30;1543:117;;;1579:79;;:::i;:::-;1543:117;1693:4;1685:6;1681:17;1669:29;;1747:3;1739:4;1731:6;1727:17;1717:8;1713:32;1710:41;1707:128;;;1754:79;;:::i;:::-;1707:128;1289:552;;;;;:::o;1862:579::-;1946:8;1956:6;2006:3;1999:4;1991:6;1987:17;1983:27;1973:122;;2014:79;;:::i;:::-;1973:122;2127:6;2114:20;2104:30;;2157:18;2149:6;2146:30;2143:117;;;2179:79;;:::i;:::-;2143:117;2293:4;2285:6;2281:17;2269:29;;2347:3;2339:4;2331:6;2327:17;2317:8;2313:32;2310:41;2307:128;;;2354:79;;:::i;:::-;2307:128;1862:579;;;;;:::o;2447:1615::-;2606:6;2614;2622;2630;2638;2646;2654;2662;2711:3;2699:9;2690:7;2686:23;2682:33;2679:120;;;2718:79;;:::i;:::-;2679:120;2866:1;2855:9;2851:17;2838:31;2896:18;2888:6;2885:30;2882:117;;;2918:79;;:::i;:::-;2882:117;3031:65;3088:7;3079:6;3068:9;3064:22;3031:65;:::i;:::-;3013:83;;;;2809:297;3173:2;3162:9;3158:18;3145:32;3204:18;3196:6;3193:30;3190:117;;;3226:79;;:::i;:::-;3190:117;3339:65;3396:7;3387:6;3376:9;3372:22;3339:65;:::i;:::-;3321:83;;;;3116:298;3481:2;3470:9;3466:18;3453:32;3512:18;3504:6;3501:30;3498:117;;;3534:79;;:::i;:::-;3498:117;3647:64;3703:7;3694:6;3683:9;3679:22;3647:64;:::i;:::-;3629:82;;;;3424:297;3788:2;3777:9;3773:18;3760:32;3819:18;3811:6;3808:30;3805:117;;;3841:79;;:::i;:::-;3805:117;3954:91;4037:7;4028:6;4017:9;4013:22;3954:91;:::i;:::-;3936:109;;;;3731:324;2447:1615;;;;;;;;;;;:::o;4068:149::-;4104:7;4144:66;4137:5;4133:78;4122:89;;4068:149;;;:::o;4223:115::-;4308:23;4325:5;4308:23;:::i;:::-;4303:3;4296:36;4223:115;;:::o;4344:218::-;4435:4;4473:2;4462:9;4458:18;4450:26;;4486:69;4552:1;4541:9;4537:17;4528:6;4486:69;:::i;:::-;4344:218;;;;:::o;4568:126::-;4605:7;4645:42;4638:5;4634:54;4623:65;;4568:126;;;:::o;4700:96::-;4737:7;4766:24;4784:5;4766:24;:::i;:::-;4755:35;;4700:96;;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4802:118;;:::o;4926:222::-;5019:4;5057:2;5046:9;5042:18;5034:26;;5070:71;5138:1;5127:9;5123:17;5114:6;5070:71;:::i;:::-;4926:222;;;;:::o;5154:169::-;5238:11;5272:6;5267:3;5260:19;5312:4;5307:3;5303:14;5288:29;;5154:169;;;;:::o;5329:148::-;5427:6;5422:3;5417;5404:30;5468:1;5459:6;5454:3;5450:16;5443:27;5329:148;;;:::o;5483:102::-;5524:6;5575:2;5571:7;5566:2;5559:5;5555:14;5551:28;5541:38;;5483:102;;;:::o;5615:317::-;5713:3;5734:71;5798:6;5793:3;5734:71;:::i;:::-;5727:78;;5815:56;5864:6;5859:3;5852:5;5815:56;:::i;:::-;5896:29;5918:6;5896:29;:::i;:::-;5891:3;5887:39;5880:46;;5615:317;;;;;:::o;5938:168::-;6021:11;6055:6;6050:3;6043:19;6095:4;6090:3;6086:14;6071:29;;5938:168;;;;:::o;6134:314::-;6230:3;6251:70;6314:6;6309:3;6251:70;:::i;:::-;6244:77;;6331:56;6380:6;6375:3;6368:5;6331:56;:::i;:::-;6412:29;6434:6;6412:29;:::i;:::-;6407:3;6403:39;6396:46;;6134:314;;;;;:::o;6454:193::-;6562:11;6596:6;6591:3;6584:19;6636:4;6631:3;6627:14;6612:29;;6454:193;;;;:::o;6653:113::-;6733:4;6756:3;6748:11;;6653:113;;;:::o;6772:158::-;6845:11;6879:6;6874:3;6867:19;6919:4;6914:3;6910:14;6895:29;;6772:158;;;;:::o;6958:294::-;7044:3;7065:60;7118:6;7113:3;7065:60;:::i;:::-;7058:67;;7135:56;7184:6;7179:3;7172:5;7135:56;:::i;:::-;7216:29;7238:6;7216:29;:::i;:::-;7211:3;7207:39;7200:46;;6958:294;;;;;:::o;7258:212::-;7355:10;7390:74;7460:3;7452:6;7444;7390:74;:::i;:::-;7376:88;;7258:212;;;;;:::o;7476:117::-;7585:1;7582;7575:12;7599:117;7708:1;7705;7698:12;7722:117;7831:1;7828;7821:12;7845:711;7909:5;7916:6;7972:3;7959:17;8064:1;8058:4;8054:12;8043:8;8027:14;8023:29;8019:48;7999:18;7995:73;7985:168;;8072:79;;:::i;:::-;7985:168;8195:8;8175:18;8171:33;8162:42;;8237:5;8224:19;8214:29;;8272:4;8265:5;8261:16;8252:25;;8300:18;8292:6;8289:30;8286:117;;;8322:79;;:::i;:::-;8286:117;8458:4;8450:6;8446:17;8430:14;8426:38;8419:5;8415:50;8412:137;;;8468:79;;:::i;:::-;8412:137;7923:633;7845:711;;;;;:::o;8562:126::-;8645:4;8677;8672:3;8668:14;8660:22;;8562:126;;;:::o;8720:990::-;8869:3;8892:95;8980:6;8975:3;8892:95;:::i;:::-;8885:102;;9013:3;9058:4;9050:6;9046:17;9041:3;9037:27;9088:69;9151:5;9088:69;:::i;:::-;9180:7;9211:1;9196:469;9221:6;9218:1;9215:13;9196:469;;;9292:9;9286:4;9282:20;9277:3;9270:33;9352:53;9398:6;9389:7;9352:53;:::i;:::-;9426:99;9520:4;9505:13;9490;9426:99;:::i;:::-;9418:107;;9548:73;9614:6;9548:73;:::i;:::-;9538:83;;9650:4;9645:3;9641:14;9634:21;;9256:409;;9243:1;9240;9236:9;9231:14;;9196:469;;;9200:14;9681:4;9674:11;;9701:3;9694:10;;8874:836;;;;8720:990;;;;;:::o;9716:1204::-;10089:4;10127:3;10116:9;10112:19;10104:27;;10141:71;10209:1;10198:9;10194:17;10185:6;10141:71;:::i;:::-;10259:9;10253:4;10249:20;10244:2;10233:9;10229:18;10222:48;10287:88;10370:4;10361:6;10353;10287:88;:::i;:::-;10279:96;;10422:9;10416:4;10412:20;10407:2;10396:9;10392:18;10385:48;10450:88;10533:4;10524:6;10516;10450:88;:::i;:::-;10442:96;;10585:9;10579:4;10575:20;10570:2;10559:9;10555:18;10548:48;10613:86;10694:4;10685:6;10677;10613:86;:::i;:::-;10605:94;;10747:9;10741:4;10737:20;10731:3;10720:9;10716:19;10709:49;10775:138;10908:4;10899:6;10891;10775:138;:::i;:::-;10767:146;;9716:1204;;;;;;;;;;;;:::o

Swarm Source

ipfs://3d400bdb55f4d15bbf48f2b15dda46e0310fb1d2910b1db7416096b5ce2a7ad2

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

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

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.