Address Contract Partially Verified
Address
0x74de5d4FCbf63E00296fd95d33236B9794016631
Balance
0 ETH
Nonce
1
Code Size
1163 bytes
Creator
0x881D4023...300C at tx 0xb61e1747...299e93
Indexed Transactions
0 (1 on-chain, 0% indexed)
Contract Bytecode
1163 bytes
0x6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c81565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c16146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c0033
Verified Source Code Partial Match
Compiler: v0.6.12+commit.27d51765
EVM: istanbul
Optimization: Yes (1000000 runs)
Spender.3372a096.sol 54 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "./Constants.84ef19f8.sol";
contract Spender {
address public immutable metaswap;
constructor() public {
metaswap = msg.sender;
}
/// @dev Receives ether from swaps
fallback() external payable {}
function swap(address adapter, bytes calldata data) external payable {
require(msg.sender == metaswap, "FORBIDDEN");
require(adapter != address(0), "ADAPTER_NOT_PROVIDED");
_delegate(adapter, data, "ADAPTER_DELEGATECALL_FAILED");
}
/**
* @dev Performs a delegatecall and bubbles up the errors, adapted from
* https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol
* @param target Address of the contract to delegatecall
* @param data Data passed in the delegatecall
* @param errorMessage Fallback revert reason
*/
function _delegate(
address target,
bytes memory data,
string memory errorMessage
) private returns (bytes memory) {
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.delegatecall(data);
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
// solhint-disable-next-line no-inline-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
Constants.84ef19f8.sol 7 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
library Constants {
address internal constant ETH = 0x0000000000000000000000000000000000000000;
}
Read Contract
metaswap 0x4776e473 → address
Write Contract 1 functions
These functions modify contract state and require a wallet transaction to execute.
swap 0xe3547335
address adapter
bytes data
Recent Transactions
This address has 1 on-chain transactions, but only 0% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →