Address Contract Verified
Address
0xfCEF2Fe72413b65d3F393d278A714caD87512bcd
Balance
0 ETH
Nonce
1
Code Size
1081 bytes
Creator
0xf621Fb08...Ff7F at tx 0x3c1c19a7...31934e
Indexed Transactions
0 (1 on-chain, 1.6% indexed)
Contract Bytecode
1081 bytes
0x608060405234801561001057600080fd5b50600436106100365760003560e01c80639fc314c81461003b578063dbec15bb14610050575b600080fd5b61004e610049366004610363565b6100a0565b005b6100777f000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b7f000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f73ffffffffffffffffffffffffffffffffffffffff16331461016a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f53796d623a2063616c6c6572206973206e6f7420746865206d657461726f757460448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61019683837f000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7f8461019b565b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052915160009283929088169161023a91906103c8565b6000604051808303816000865af19150503d8060008114610277576040519150601f19603f3d011682016040523d82523d6000602084013e61027c565b606091505b50915091508180156102a65750805115806102a65750808060200190518101906102a6919061039f565b610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a20747260448201527f616e7366657246726f6d206661696c65640000000000000000000000000000006064820152608401610161565b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461035e57600080fd5b919050565b60008060006060848603121561037857600080fd5b6103818461033a565b925061038f6020850161033a565b9150604084013590509250925092565b6000602082840312156103b157600080fd5b815180151581146103c157600080fd5b9392505050565b6000825160005b818110156103e957602081860181015185830152016103cf565b818111156103f8576000828501525b50919091019291505056fea26469706673582212202568575dd38d51c811ca9abb487d12cf7f92601b834f2b8dba043bc452c3f35164736f6c63430008070033
Verified Source Code Full Match
Compiler: v0.8.7+commit.e28d00a7
EVM: london
Optimization: Yes (2000 runs)
TransferHelper.sol 51 lines
// 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');
}
}
MetaRouterGateway.sol 31 lines
// 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);
}
}
Read Contract
metaRouter 0xdbec15bb → address
Write Contract 1 functions
These functions modify contract state and require a wallet transaction to execute.
claimTokens 0x9fc314c8
address _token
address _from
uint256 _amount
Recent Transactions
This address has 1 on-chain transactions, but only 1.6% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →