Feature Tip: Add private address tag to any address under My Name Tag !
Contract Overview
Balance:
0 Ether
EtherValue:
$0.00
More Info
My Name Tag:
Not Available, login to update
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0xf35821f1240361569be64f0a59488179569288cd258abbbe57bb206d15865ffb | 0x60806040 | 12607822 | 426 days 22 hrs ago | 0xbcac4dafb7e215f2f6cb3312af6d5e4f9d9e7eda | IN | Create: Forwarder | 0 Ether | 0.02633586 |
[ Download CSV Export ]
Contract Name:
Forwarder
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-10 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.4; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File @openzeppelin/contracts/access/[email protected] /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Forwarder is Ownable { /** * @notice Create the contract * @param _owner - contract owner */ constructor(address _owner) { transferOwnership(_owner); } /** * @notice Forward a call * @param _target - target address to call * @param _data - call data to be used * @return response in bytes if any */ function forwardCall(address _target, bytes calldata _data) onlyOwner external payable returns (bytes memory) { (bool success, bytes memory returndata) = _target.call{value: msg.value}(_data); if (success) { return returndata; } if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } revert("CALL_FAILED_WITH_NO_ERROR"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"forwardCall","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162000e0a38038062000e0a833981810160405281019062000037919062000306565b600062000049620000ff60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620000f8816200010760201b60201c565b506200049b565b600033905090565b62000117620000ff60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200013d620002c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000196576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018d90620003a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000209576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002009062000380565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620003008162000481565b92915050565b6000602082840312156200031957600080fd5b60006200032984828501620002ef565b91505092915050565b600062000341602683620003c4565b91506200034e8262000409565b604082019050919050565b600062000368602083620003c4565b9150620003758262000458565b602082019050919050565b600060208201905081810360008301526200039b8162000332565b9050919050565b60006020820190508181036000830152620003bd8162000359565b9050919050565b600082825260208201905092915050565b6000620003e282620003e9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6200048c81620003d5565b81146200049857600080fd5b50565b61095f80620004ab6000396000f3fe60806040526004361061003f5760003560e01c806322bee49414610044578063715018a6146100745780638da5cb5b1461008b578063f2fde38b146100b6575b600080fd5b61005e600480360381019061005991906105d0565b6100df565b60405161006b9190610732565b60405180910390f35b34801561008057600080fd5b50610089610234565b005b34801561009757600080fd5b506100a061036e565b6040516100ad9190610717565b60405180910390f35b3480156100c257600080fd5b506100dd60048036038101906100d891906105a7565b610397565b005b60606100e9610540565b73ffffffffffffffffffffffffffffffffffffffff1661010761036e565b73ffffffffffffffffffffffffffffffffffffffff161461015d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015490610794565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff163486866040516101889291906106fe565b60006040518083038185875af1925050503d80600081146101c5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ca565b606091505b509150915081156101df57809250505061022d565b6000815111156101f25780518082602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022490610774565b60405180910390fd5b9392505050565b61023c610540565b73ffffffffffffffffffffffffffffffffffffffff1661025a61036e565b73ffffffffffffffffffffffffffffffffffffffff16146102b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a790610794565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61039f610540565b73ffffffffffffffffffffffffffffffffffffffff166103bd61036e565b73ffffffffffffffffffffffffffffffffffffffff1614610413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040a90610794565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047a90610754565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b60008135905061055781610912565b92915050565b60008083601f84011261056f57600080fd5b8235905067ffffffffffffffff81111561058857600080fd5b6020830191508360018202830111156105a057600080fd5b9250929050565b6000602082840312156105b957600080fd5b60006105c784828501610548565b91505092915050565b6000806000604084860312156105e557600080fd5b60006105f386828701610548565b935050602084013567ffffffffffffffff81111561061057600080fd5b61061c8682870161055d565b92509250509250925092565b610631816107ec565b82525050565b600061064383856107d0565b935061065083858461081e565b82840190509392505050565b6000610667826107b4565b61067181856107bf565b935061068181856020860161082d565b61068a81610860565b840191505092915050565b60006106a26026836107db565b91506106ad82610871565b604082019050919050565b60006106c56019836107db565b91506106d0826108c0565b602082019050919050565b60006106e86020836107db565b91506106f3826108e9565b602082019050919050565b600061070b828486610637565b91508190509392505050565b600060208201905061072c6000830184610628565b92915050565b6000602082019050818103600083015261074c818461065c565b905092915050565b6000602082019050818103600083015261076d81610695565b9050919050565b6000602082019050818103600083015261078d816106b8565b9050919050565b600060208201905081810360008301526107ad816106db565b9050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006107f7826107fe565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b8381101561084b578082015181840152602081019050610830565b8381111561085a576000848401525b50505050565b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43414c4c5f4641494c45445f574954485f4e4f5f4552524f5200000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b61091b816107ec565b811461092657600080fd5b5056fea264697066735822122049837ecaedd42642f684d455470429abb0482e685d88a248550cb1ddd0e836a664736f6c634300080400330000000000000000000000009a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce
-----Decoded View---------------
Arg [0] : _owner (address): 0x9a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce
Deployed ByteCode Sourcemap
3245:1043:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3629:656;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2689:148;;;;;;;;;;;;;:::i;:::-;;2038:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2992:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3629:656;3725:12;2269;:10;:12::i;:::-;2258:23;;:7;:5;:7::i;:::-;:23;;;2250:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3750:12:::1;3764:23:::0;3791:7:::1;:12;;3811:9;3822:5;;3791:37;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3749:79;;;;3852:7;3848:57;;;3883:10;3876:17;;;;;;3848:57;3949:1;3929:10;:17;:21;3925:297;;;4123:10;4117:17;4180:15;4167:10;4163:2;4159:19;4152:44;4075:136;4242:35;;;;;;;;;;:::i;:::-;;;;;;;;2329:1;3629:656:::0;;;;;:::o;2689:148::-;2269:12;:10;:12::i;:::-;2258:23;;:7;:5;:7::i;:::-;:23;;;2250:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2796:1:::1;2759:40;;2780:6;::::0;::::1;;;;;;;;2759:40;;;;;;;;;;;;2827:1;2810:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2689:148::o:0;2038:87::-;2084:7;2111:6;;;;;;;;;;;2104:13;;2038:87;:::o;2992:244::-;2269:12;:10;:12::i;:::-;2258:23;;:7;:5;:7::i;:::-;:23;;;2250:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3101:1:::1;3081:22;;:8;:22;;;;3073:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3191:8;3162:38;;3183:6;::::0;::::1;;;;;;;;3162:38;;;;;;;;;;;;3220:8;3211:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2992:244:::0;:::o;604:115::-;657:15;700:10;685:26;;604:115;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;165:351::-;222:8;232:6;282:3;275:4;267:6;263:17;259:27;249:2;;300:1;297;290:12;249:2;336:6;323:20;313:30;;366:18;358:6;355:30;352:2;;;398:1;395;388:12;352:2;435:4;427:6;423:17;411:29;;489:3;481:4;473:6;469:17;459:8;455:32;452:41;449:2;;;506:1;503;496:12;449:2;239:277;;;;;:::o;522:262::-;581:6;630:2;618:9;609:7;605:23;601:32;598:2;;;646:1;643;636:12;598:2;689:1;714:53;759:7;750:6;739:9;735:22;714:53;:::i;:::-;704:63;;660:117;588:196;;;;:::o;790:538::-;869:6;877;885;934:2;922:9;913:7;909:23;905:32;902:2;;;950:1;947;940:12;902:2;993:1;1018:53;1063:7;1054:6;1043:9;1039:22;1018:53;:::i;:::-;1008:63;;964:117;1148:2;1137:9;1133:18;1120:32;1179:18;1171:6;1168:30;1165:2;;;1211:1;1208;1201:12;1165:2;1247:64;1303:7;1294:6;1283:9;1279:22;1247:64;:::i;:::-;1229:82;;;;1091:230;892:436;;;;;:::o;1334:118::-;1421:24;1439:5;1421:24;:::i;:::-;1416:3;1409:37;1399:53;;:::o;1480:314::-;1594:3;1615:88;1696:6;1691:3;1615:88;:::i;:::-;1608:95;;1713:43;1749:6;1744:3;1737:5;1713:43;:::i;:::-;1781:6;1776:3;1772:16;1765:23;;1598:196;;;;;:::o;1800:360::-;1886:3;1914:38;1946:5;1914:38;:::i;:::-;1968:70;2031:6;2026:3;1968:70;:::i;:::-;1961:77;;2047:52;2092:6;2087:3;2080:4;2073:5;2069:16;2047:52;:::i;:::-;2124:29;2146:6;2124:29;:::i;:::-;2119:3;2115:39;2108:46;;1890:270;;;;;:::o;2166:366::-;2308:3;2329:67;2393:2;2388:3;2329:67;:::i;:::-;2322:74;;2405:93;2494:3;2405:93;:::i;:::-;2523:2;2518:3;2514:12;2507:19;;2312:220;;;:::o;2538:366::-;2680:3;2701:67;2765:2;2760:3;2701:67;:::i;:::-;2694:74;;2777:93;2866:3;2777:93;:::i;:::-;2895:2;2890:3;2886:12;2879:19;;2684:220;;;:::o;2910:366::-;3052:3;3073:67;3137:2;3132:3;3073:67;:::i;:::-;3066:74;;3149:93;3238:3;3149:93;:::i;:::-;3267:2;3262:3;3258:12;3251:19;;3056:220;;;:::o;3282:291::-;3422:3;3444:103;3543:3;3534:6;3526;3444:103;:::i;:::-;3437:110;;3564:3;3557:10;;3426:147;;;;;:::o;3579:222::-;3672:4;3710:2;3699:9;3695:18;3687:26;;3723:71;3791:1;3780:9;3776:17;3767:6;3723:71;:::i;:::-;3677:124;;;;:::o;3807:309::-;3918:4;3956:2;3945:9;3941:18;3933:26;;4005:9;3999:4;3995:20;3991:1;3980:9;3976:17;3969:47;4033:76;4104:4;4095:6;4033:76;:::i;:::-;4025:84;;3923:193;;;;:::o;4122:419::-;4288:4;4326:2;4315:9;4311:18;4303:26;;4375:9;4369:4;4365:20;4361:1;4350:9;4346:17;4339:47;4403:131;4529:4;4403:131;:::i;:::-;4395:139;;4293:248;;;:::o;4547:419::-;4713:4;4751:2;4740:9;4736:18;4728:26;;4800:9;4794:4;4790:20;4786:1;4775:9;4771:17;4764:47;4828:131;4954:4;4828:131;:::i;:::-;4820:139;;4718:248;;;:::o;4972:419::-;5138:4;5176:2;5165:9;5161:18;5153:26;;5225:9;5219:4;5215:20;5211:1;5200:9;5196:17;5189:47;5253:131;5379:4;5253:131;:::i;:::-;5245:139;;5143:248;;;:::o;5397:98::-;5448:6;5482:5;5476:12;5466:22;;5455:40;;;:::o;5501:168::-;5584:11;5618:6;5613:3;5606:19;5658:4;5653:3;5649:14;5634:29;;5596:73;;;;:::o;5675:147::-;5776:11;5813:3;5798:18;;5788:34;;;;:::o;5828:169::-;5912:11;5946:6;5941:3;5934:19;5986:4;5981:3;5977:14;5962:29;;5924:73;;;;:::o;6003:96::-;6040:7;6069:24;6087:5;6069:24;:::i;:::-;6058:35;;6048:51;;;:::o;6105:126::-;6142:7;6182:42;6175:5;6171:54;6160:65;;6150:81;;;:::o;6237:154::-;6321:6;6316:3;6311;6298:30;6383:1;6374:6;6369:3;6365:16;6358:27;6288:103;;;:::o;6397:307::-;6465:1;6475:113;6489:6;6486:1;6483:13;6475:113;;;6574:1;6569:3;6565:11;6559:18;6555:1;6550:3;6546:11;6539:39;6511:2;6508:1;6504:10;6499:15;;6475:113;;;6606:6;6603:1;6600:13;6597:2;;;6686:1;6677:6;6672:3;6668:16;6661:27;6597:2;6446:258;;;;:::o;6710:102::-;6751:6;6802:2;6798:7;6793:2;6786:5;6782:14;6778:28;6768:38;;6758:54;;;:::o;6818:225::-;6958:34;6954:1;6946:6;6942:14;6935:58;7027:8;7022:2;7014:6;7010:15;7003:33;6924:119;:::o;7049:175::-;7189:27;7185:1;7177:6;7173:14;7166:51;7155:69;:::o;7230:182::-;7370:34;7366:1;7358:6;7354:14;7347:58;7336:76;:::o;7418:122::-;7491:24;7509:5;7491:24;:::i;:::-;7484:5;7481:35;7471:2;;7530:1;7527;7520:12;7471:2;7461:79;:::o
Swarm Source
ipfs://49837ecaedd42642f684d455470429abb0482e685d88a248550cb1ddd0e836a6
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
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.