ETH Price: $2,483.23 (-0.91%)

Contract

0x664376638fE57642342009f49E1Ca4caf74b26D3

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Parent Transaction Hash Block From To
3108602025-01-28 10:07:4028 days ago1738058860  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MetaRouterGateway

Compiler Version
v0.8.22+commit.4fc1097e

ZkSolc Version
v1.5.7

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion
File 1 of 2 : MetaRouterGateway.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.0;

import "@uniswap/lib/contracts/libraries/TransferHelper.sol";

/**
 * @title MetaRouterGateway
 * @notice During the `metaRoute` transaction `MetaRouter` (only) claims user's tokens
 * from `MetaRoutetGateway` contract and then operates with them.
 */
contract MetaRouterGateway {
    address public immutable metaRouter;

    modifier onlyMetarouter() {
        require(metaRouter == msg.sender, "Symb: caller is not the metarouter");
        _;
    }

    constructor(address _metaRouter) {
        metaRouter = _metaRouter;
    }

    function claimTokens(
        address _token,
        address _from,
        uint256 _amount
    ) external onlyMetarouter {
        TransferHelper.safeTransferFrom(_token, _from, metaRouter, _amount);
    }
}

File 2 of 2 : TransferHelper.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.6.0;

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeApprove: approve failed'
        );
    }

    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeTransfer: transfer failed'
        );
    }

    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::transferFrom: transferFrom failed'
        );
    }

    function safeTransferETH(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, 'TransferHelper::safeTransferETH: ETH transfer failed');
    }
}

Settings
{
  "evmVersion": "paris",
  "optimizer": {
    "enabled": true,
    "mode": "3"
  },
  "outputSelection": {
    "*": {
      "*": [
        "abi",
        "metadata"
      ],
      "": [
        "ast"
      ]
    }
  },
  "detectMissingLibraries": false,
  "forceEVMLA": false,
  "enableEraVMExtensions": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_metaRouter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"metaRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

0000000000000000000000002e818e50b913457015e1277b43e469b63ac5d3d7

Deployed Bytecode

0x0003000000000002000400000000000200000060031002700000004a03300197000200000031035500010000000103550000000100200190000000510000c13d0000008002000039000000400020043f000000040030008c000001050000413d000000000201043b000000e0022002700000004f0020009c0000007d0000613d000000500020009c000001050000c13d000000640030008c000001050000413d0000000002000416000000000002004b000001050000c13d0000000402100370000000000202043b0000004d0020009c000001050000213d0000002401100370000000000101043b0000004d0010009c000001050000213d000200000001001d000100000002001d0000005201000041000000000010044300000000010004120000000400100443000000240000044300000000010004140000004a0010009c0000004a01008041000000c00110021000000053011001c70000800502000039012501200000040f00000001002001900000008b0000613d000000000101043b0000004d011001970000000002000411000000000021004b0000008c0000c13d00000002020000290000004d03200197000000400200043d000000440420003900000000001404350000002001200039000000580400004100000000004104350000002404200039000000000034043500000044030000390000000103300367000000000303043b0000006404200039000000000034043500000064030000390000000000320435000000590020009c000000c50000813d000000a003200039000000400030043f000000000302043300000000040004140000000102000029000000040020008c000000980000c13d00000001020000390000000003000031000000a90000013d0000000002000416000000000002004b000001050000c13d0000001f023000390000004b02200197000000a002200039000000400020043f0000001f0430018f0000004c05300198000000a002500039000000620000613d000000a006000039000000000701034f000000007807043c0000000006860436000000000026004b0000005e0000c13d000000000004004b0000006f0000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000200030008c000001050000413d000000a00100043d0000004d0010009c000001050000213d000000800010043f0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000004e01000041000001260001042e0000000001000416000000000001004b000001050000c13d0000000001000412000400000001001d000300000000003d0000000001000415000000040110008a0000000501100210012501080000040f0000004d01100197000000800010043f0000005101000041000001260001042e000000000001042f0000005401000041000000800010043f0000002001000039000000840010043f0000002201000039000000a40010043f0000005501000041000000c40010043f0000005601000041000000e40010043f000000570100004100000127000104300000004a0010009c0000004a0100804100000040011002100000004a0030009c0000004a030080410000006003300210000000000113019f0000004a0040009c0000004a04008041000000c003400210000000000131019f0125011b0000040f000000010220018f000200000001035500000060011002700000004a0010019d0000004a03100197000000800a000039000000000003004b000000c30000c13d0000006001000039000000000002004b000000cb0000c13d000000400100043d00000064021000390000005c03000041000000000032043500000044021000390000005d030000410000000000320435000000240210003900000031030000390000000000320435000000540200004100000000002104350000000402100039000000200300003900000000003204350000004a0010009c0000004a0100804100000040011002100000005e011001c700000127000104300000005a0030009c000000d00000a13d0000005f01000041000000000010043f0000004101000039000000040010043f000000600100004100000127000104300000000001010433000000000001004b000000f80000c13d0000000001000019000001260001042e0000001f0130003900000061011001970000003f011000390000006105100197000000400100043d0000000005510019000000000015004b000000000600003900000001060040390000005a0050009c000000c50000213d0000000100600190000000c50000c13d000000400050043f000000000a31043600000061043001980000001f0530018f00000000034a00190000000206000367000000ea0000613d000000000706034f00000000080a0019000000007907043c0000000008980436000000000038004b000000e60000c13d000000000005004b000000ad0000613d000000000446034f0000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000ad0000013d0000005b0010009c000001050000213d000000200010008c000001050000413d00000000010a0433000000000001004b0000000002000039000000010200c039000000000021004b000001050000c13d000000000001004b000000af0000613d000000ce0000013d00000000010000190000012700010430000000000001042f000000520200004100000000002004430000000501100270000000000201003100000004002004430000000101010031000000240010044300000000010004140000004a0010009c0000004a01008041000000c00110021000000053011001c70000800502000039012501200000040f00000001002001900000011a0000613d000000000101043b000000000001042d000000000001042f0000011e002104210000000102000039000000000001042d0000000002000019000000000001042d00000123002104230000000102000039000000000001042d0000000002000019000000000001042d0000012500000432000001260001042e000001270001043000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000020000000000000000000000000000008000000100000000000000000000000000000000000000000000000000000000000000000000000000dbec15bb000000000000000000000000000000000000000000000000000000009fc314c80000000000000000000000000000000000000020000000800000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e020000020000000000000000000000000000004400000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000053796d623a2063616c6c6572206973206e6f7420746865206d657461726f75746572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff60000000000000000000000000000000000000000000000000ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff616e7366657246726f6d206661696c65640000000000000000000000000000005472616e7366657248656c7065723a3a7472616e7366657246726f6d3a20747200000000000000000000000000000000000000840000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe019f314ca26aa148f6777740df3413135241388caa4e91af54744439327913891

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

0000000000000000000000002e818e50b913457015e1277b43e469b63ac5d3d7

-----Decoded View---------------
Arg [0] : _metaRouter (address): 0x2E818E50b913457015E1277B43E469b63AC5D3d7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002e818e50b913457015e1277b43e469b63ac5d3d7


Block Transaction 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
[ 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.