Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6503771 | 2221 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x506adcEF...1291d0bd1 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
PassiveForwarder
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-29 */ pragma solidity ^0.4.24; /// @title Smart contract for forwarding ETH to a pre-defined recipient in the passive mode i.e. someone has to trigger the transfer. /// It also allows recipient to call any smart contracts. For example: Calling Trustcoin smart contract to transfer TRST. /// @author WeTrustPlatform contract PassiveForwarder { /// @dev recipient must be a normal account or a smart contract with the standard payable fallback method. /// Otherwise, fund will be stuck! address public recipient; event Received(address indexed sender, uint256 value); constructor(address _recipient) public { recipient = _recipient; } function () public payable { require(msg.value > 0); emit Received(msg.sender, msg.value); } function sweep() public { recipient.transfer(address(this).balance); } /// @dev Courtesy of https://github.com/gnosis/MultiSigWallet/blob/master/contracts/MultiSigWallet.sol /// This method allows the pre-defined recipient to call other smart contracts. function externalCall(address destination, uint256 value, bytes data) public returns (bool) { require(msg.sender == recipient, "Sender must be the recipient."); uint256 dataLength = data.length; bool result; assembly { let x := mload(0x40) // "Allocate" memory for output (0x40 is where "free memory" pointer is stored by convention) let d := add(data, 32) // First 32 bytes are the padded length of data, so exclude that result := call( sub(gas, 34710), // 34710 is the value that solidity is currently emitting // It includes callGas (700) + callVeryLow (3, to pay for SUB) + callValueTransferGas (9000) + // callNewAccountGas (25000, in case the destination address does not exist and needs creating) destination, value, d, dataLength, // Size of the input (in bytes) - this is what fixes the padding problem x, 0 // Output is ignored, therefore the output size is zero ) } return result; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"sweep","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"externalCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"recipient","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_recipient","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Received","type":"event"}]
Deployed Bytecode
0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806335faa416146100b6578063397750b2146100cd57806366d003ac14610178575b60003411151561006657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874346040518082815260200191505060405180910390a2005b3480156100c257600080fd5b506100cb6101cf565b005b3480156100d957600080fd5b5061015e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610250565b604051808215151515815260200191505060405180910390f35b34801561018457600080fd5b5061018d610341565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015801561024d573d6000803e3d6000fd5b50565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f53656e646572206d7573742062652074686520726563697069656e742e00000081525060200191505060405180910390fd5b835191506040516020850160008285838a8c6187965a03f19250505080925050509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820de37c69ace77fd3171e31925c22ccbbe089f7a5e81777f9f5fec1f60dd6c99d20029
Deployed Bytecode Sourcemap
315:1848:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;719:1;707:9;:13;699:22;;;;;;;;742:10;733:31;;;754:9;733:31;;;;;;;;;;;;;;;;;;315:1848;776:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;776:78:0;;;;;;1049:1111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1049:1111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;494:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;494:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;776:78;807:9;;;;;;;;;;;:18;;:41;834:4;826:21;;;807:41;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;807:41:0;776:78::o;1049:1111::-;1135:4;1220:18;1259:11;1170:9;;;;;;;;;;;1156:23;;:10;:23;;;1148:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:4;:11;1220:32;;1310:4;1304:11;1438:2;1432:4;1428:13;2043:1;2031;1928:10;1916:1;1900:5;1878:11;1548:5;1543:3;1539:15;1524:604;1514:614;;1286:849;;2148:6;2141:13;;1049:1111;;;;;;;:::o;494:24::-;;;;;;;;;;;;;:::o
Swarm Source
bzzr://de37c69ace77fd3171e31925c22ccbbe089f7a5e81777f9f5fec1f60dd6c99d2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.