More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,121 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw To Addr... | 9435564 | 1832 days ago | IN | 0 ETH | 0.00024271 | ||||
Withdraw To Addr... | 9066703 | 1894 days ago | IN | 0 ETH | 0.00009408 | ||||
Multi Transfer | 9046479 | 1898 days ago | IN | 0 ETH | 0.00035535 | ||||
Pay | 9046136 | 1898 days ago | IN | 2.5 ETH | 0.00005617 | ||||
Multi Transfer | 9040833 | 1899 days ago | IN | 0 ETH | 0.0002256 | ||||
Pay | 9039260 | 1899 days ago | IN | 1.25 ETH | 0.00023496 | ||||
Pay | 9038815 | 1899 days ago | IN | 1.25 ETH | 0.00018391 | ||||
Multi Transfer | 9035161 | 1900 days ago | IN | 0 ETH | 0.00019143 | ||||
Pay | 9030808 | 1901 days ago | IN | 1.25 ETH | 0.00009383 | ||||
Multi Transfer | 9029557 | 1901 days ago | IN | 0 ETH | 0.00019809 | ||||
Pay | 9027134 | 1901 days ago | IN | 1.25 ETH | 0.0000563 | ||||
Pay | 9026222 | 1902 days ago | IN | 1.25 ETH | 0.00005627 | ||||
Multi Transfer | 9023868 | 1902 days ago | IN | 0 ETH | 0.00017095 | ||||
Pay | 9022086 | 1902 days ago | IN | 5 ETH | 0.00020632 | ||||
Pay | 9022058 | 1902 days ago | IN | 1.25 ETH | 0.00009362 | ||||
Multi Transfer | 9018252 | 1903 days ago | IN | 0 ETH | 0.00031382 | ||||
Pay | 9015569 | 1903 days ago | IN | 1.25 ETH | 0.00009378 | ||||
Pay | 9013112 | 1904 days ago | IN | 1.25 ETH | 0.00022508 | ||||
Multi Transfer | 9012631 | 1904 days ago | IN | 0 ETH | 0.0002565 | ||||
Pay | 9011303 | 1904 days ago | IN | 1.25 ETH | 0.00013129 | ||||
Pay | 9010093 | 1904 days ago | IN | 1.25 ETH | 0.00006005 | ||||
Multi Transfer | 9006971 | 1905 days ago | IN | 0 ETH | 0.00138057 | ||||
Pay | 9005705 | 1905 days ago | IN | 1.25 ETH | 0.00018735 | ||||
Pay | 9004734 | 1905 days ago | IN | 1.25 ETH | 0.00044964 | ||||
Pay | 9003851 | 1905 days ago | IN | 1.25 ETH | 0.00043164 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
9435564 | 1832 days ago | 0.0126 ETH | ||||
9066703 | 1894 days ago | 42 ETH | ||||
9046479 | 1898 days ago | 0.02 ETH | ||||
9046479 | 1898 days ago | 0.018 ETH | ||||
9046479 | 1898 days ago | 0.7 ETH | ||||
9046479 | 1898 days ago | 0.2 ETH | ||||
9046479 | 1898 days ago | 0.18 ETH | ||||
9040833 | 1899 days ago | 0.01 ETH | ||||
9040833 | 1899 days ago | 0.009 ETH | ||||
9040833 | 1899 days ago | 0.25 ETH | ||||
9040833 | 1899 days ago | 0.35 ETH | ||||
9040833 | 1899 days ago | 0.1 ETH | ||||
9040833 | 1899 days ago | 0.1 ETH | ||||
9040833 | 1899 days ago | 0.09 ETH | ||||
9040833 | 1899 days ago | 0.08 ETH | ||||
9040833 | 1899 days ago | 0.5 ETH | ||||
9035161 | 1900 days ago | 0.01 ETH | ||||
9035161 | 1900 days ago | 0.35 ETH | ||||
9035161 | 1900 days ago | 0.11 ETH | ||||
9035161 | 1900 days ago | 0.09 ETH | ||||
9035161 | 1900 days ago | 0.08 ETH | ||||
9029557 | 1901 days ago | 0.02 ETH | ||||
9029557 | 1901 days ago | 0.7 ETH | ||||
9029557 | 1901 days ago | 0.18 ETH | ||||
9029557 | 1901 days ago | 0.16 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
STMPackage
Compiler Version
v0.4.26+commit.4563c3fc
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-26 */ /** *Submitted for verification at Etherscan.io on 2019-06-04 */ /** * Source Code first verified at https://etherscan.io on Friday, July 20, 2018 (UTC) */ pragma solidity ^0.4.26; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Helps contracts guard agains reentrancy attacks. * @author Remco Bloemen <remco@2π.com> * @notice If you mark a function `nonReentrant`, you should also * mark it `external`. */ contract ReentrancyGuard { /** * @dev We use a single lock for the whole contract. */ bool private reentrancy_lock = false; /** * @dev Prevents a contract from calling itself, directly or indirectly. * @notice If you mark a function `nonReentrant`, you should also * mark it `external`. Calling one nonReentrant function from * another is not supported. Instead, you can implement a * `private` function doing the actual work, and a `external` * wrapper marked as `nonReentrant`. */ modifier nonReentrant() { require(!reentrancy_lock); reentrancy_lock = true; _; reentrancy_lock = false; } } /** * @title Eliptic curve signature operations * * @dev Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d */ library ECRecovery { /** * @dev Recover signer address from a message by using his signature * @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address. * @param sig bytes signature, the signature is generated using web3.eth.sign() */ function recover(bytes32 hash, bytes sig) public pure returns (address) { bytes32 r; bytes32 s; uint8 v; //Check the signature length if (sig.length != 65) { return (address(0)); } // Divide the signature in r, s and v variables assembly { r := mload(add(sig, 32)) s := mload(add(sig, 64)) v := byte(0, mload(add(sig, 96))) } // Version of signature should be 27 or 28, but 0 and 1 are also possible versions if (v < 27) { v += 27; } // If the version is correct return the signer address if (v != 27 && v != 28) { return (address(0)); } else { return ecrecover(hash, v, r, s); } } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } contract STMPackage is Ownable, ReentrancyGuard { using ECRecovery for bytes32; //mapping(bytes32 => Deal) public streamityTransfers; //constructor(address streamityContract) public { // require(streamityContract != 0x0); //} //struct Deal { // uint256 value; //} event MultiTransfer( address _to, uint _amount ); event BuyPackage(bytes32 _tradeId); function pay(bytes32 _tradeID, uint256 _value, bytes _sign) external payable { require(msg.value > 0); require(msg.value == _value); bytes32 _hashDeal = keccak256(_tradeID, msg.value); verifyDeal(_hashDeal, _sign); emit BuyPackage(_tradeID); } function verifyDeal(bytes32 _hashDeal, bytes _sign) private view { require(_hashDeal.recover(_sign) == owner); } function withdrawToAddress(address _to, uint256 _amount) external onlyOwner { _to.transfer(_amount); } function multiTransfer(address[] _addresses, uint[] _amounts) external onlyOwner returns(bool) { for (uint i = 0; i < _addresses.length; i++) { _safeTransfer(_addresses[i], _amounts[i]); emit MultiTransfer(_addresses[i], _amounts[i]); } return true; } function _safeTransfer(address _to, uint _amount) internal { require(_to != 0); _to.transfer(_amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tradeID","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_sign","type":"bytes"}],"name":"pay","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"MultiTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tradeId","type":"bytes32"}],"name":"BuyPackage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260008054600160a860020a0319163317905561052e806100256000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631e89d545811461007157806335bdac34146100b15780638d8a88fc146100d75780638da5cb5b146100f2578063f2fde38b14610123575b600080fd5b34801561007d57600080fd5b5061009d6024600480358281019290820135918135918201910135610144565b604080519115158252519081900360200190f35b3480156100bd57600080fd5b506100d5600160a060020a036004351660243561022b565b005b6100d56004803590602480359160443591820191013561027d565b3480156100fe57600080fd5b50610107610320565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100d5600160a060020a036004351661032f565b600080548190600160a060020a0316331461015e57600080fd5b5060005b8481101561021f576101a386868381811061017957fe5b90506020020135600160a060020a0316858584818110151561019757fe5b905060200201356103c3565b7f5f0a4ee0047f7fdd16061f5962a254be2b3926d81c431a54a7e80a2bb3c8b3068686838181106101d057fe5b90506020020135600160a060020a031685858481811015156101ee57fe5b60408051600160a060020a0390951685526020918202939093013590840152508051918290030190a1600101610162565b50600195945050505050565b600054600160a060020a0316331461024257600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610278573d6000803e3d6000fd5b505050565b600034811061028b57600080fd5b34841461029757600080fd5b50604080518581523460208083019190915282519182900383018220601f85018290048202830182019093528382526102e69183918690869081908401838280828437506103d8945050505050565b6040805186815290517fba2ef7f79ae332bc5de22cc7b79b71acc815139a6168ce150042e7db2c74304b9181900360200190a15050505050565b600054600160a060020a031681565b600054600160a060020a0316331461034657600080fd5b600160a060020a038116151561035b57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038216151561024257600080fd5b60008054604080517f19045a250000000000000000000000000000000000000000000000000000000081526004810186815260248201928352855160448301528551600160a060020a039094169473cc79660ce3f52ad571d28f3d5bc3fadf8722ab46946319045a2594899489949391926064909101916020860191908190849084905b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156104bf57600080fd5b505af41580156104d3573d6000803e3d6000fd5b505050506040513d60208110156104e957600080fd5b5051600160a060020a0316146104fe57600080fd5b50505600a165627a7a72305820b842ad305c9802fd0dd10ef027da12f771991be7324650f1dc3be09eab16cd090029
Deployed Bytecode
0x60806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631e89d545811461007157806335bdac34146100b15780638d8a88fc146100d75780638da5cb5b146100f2578063f2fde38b14610123575b600080fd5b34801561007d57600080fd5b5061009d6024600480358281019290820135918135918201910135610144565b604080519115158252519081900360200190f35b3480156100bd57600080fd5b506100d5600160a060020a036004351660243561022b565b005b6100d56004803590602480359160443591820191013561027d565b3480156100fe57600080fd5b50610107610320565b60408051600160a060020a039092168252519081900360200190f35b34801561012f57600080fd5b506100d5600160a060020a036004351661032f565b600080548190600160a060020a0316331461015e57600080fd5b5060005b8481101561021f576101a386868381811061017957fe5b90506020020135600160a060020a0316858584818110151561019757fe5b905060200201356103c3565b7f5f0a4ee0047f7fdd16061f5962a254be2b3926d81c431a54a7e80a2bb3c8b3068686838181106101d057fe5b90506020020135600160a060020a031685858481811015156101ee57fe5b60408051600160a060020a0390951685526020918202939093013590840152508051918290030190a1600101610162565b50600195945050505050565b600054600160a060020a0316331461024257600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610278573d6000803e3d6000fd5b505050565b600034811061028b57600080fd5b34841461029757600080fd5b50604080518581523460208083019190915282519182900383018220601f85018290048202830182019093528382526102e69183918690869081908401838280828437506103d8945050505050565b6040805186815290517fba2ef7f79ae332bc5de22cc7b79b71acc815139a6168ce150042e7db2c74304b9181900360200190a15050505050565b600054600160a060020a031681565b600054600160a060020a0316331461034657600080fd5b600160a060020a038116151561035b57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038216151561024257600080fd5b60008054604080517f19045a250000000000000000000000000000000000000000000000000000000081526004810186815260248201928352855160448301528551600160a060020a039094169473cc79660ce3f52ad571d28f3d5bc3fadf8722ab46946319045a2594899489949391926064909101916020860191908190849084905b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156104bf57600080fd5b505af41580156104d3573d6000803e3d6000fd5b505050506040513d60208110156104e957600080fd5b5051600160a060020a0316146104fe57600080fd5b50505600a165627a7a72305820b842ad305c9802fd0dd10ef027da12f771991be7324650f1dc3be09eab16cd090029
Deployed Bytecode Sourcemap
4651:1500:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5685:324;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5685:324:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5557:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5557:116:0;-1:-1:-1;;;;;5557:116:0;;;;;;;;;5102:312;;;;;;;;;;;;;;;;;;;;414:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;414:20:0;;;;;;;;-1:-1:-1;;;;;414:20:0;;;;;;;;;;;;;;1029:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1029:173:0;-1:-1:-1;;;;;1029:173:0;;;;;5685:324;5784:4;842:5;;5784:4;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;-1:-1:-1;5820:1:0;5806:174;5823:21;;;5806:174;;;5866:41;5880:10;;5891:1;5880:13;;;;;;;;;;;;;-1:-1:-1;;;;;5880:13:0;5895:8;;5904:1;5895:11;;;;;;;;;;;;;;;5866:13;:41::i;:::-;5927;5941:10;;5952:1;5941:13;;;;;;;;;;;;;-1:-1:-1;;;;;5941:13:0;5956:8;;5965:1;5956:11;;;;;;;;;5927:41;;;-1:-1:-1;;;;;5927:41:0;;;;;5956:11;;;;;;;;;5927:41;;;;-1:-1:-1;5927:41:0;;;;;;;;;5846:3;;5806:174;;;-1:-1:-1;5997:4:0;;5685:324;-1:-1:-1;;;;;5685:324:0:o;5557:116::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;5644:21;;-1:-1:-1;;;;;5644:12:0;;;:21;;;;;5657:7;;5644:21;;;;5657:7;5644:12;:21;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5644:21:0;5557:116;;:::o;5102:312::-;5280:17;5216:9;:13;-1:-1:-1;5208:22:0;;;;;;5249:9;:19;;5241:28;;;;;;-1:-1:-1;5300:31:0;;;;;;5321:9;5300:31;;;;;;;;;;;;;;;;;;5342:28;;;;;;;;;;;;;;;;;;;;5300:31;;5364:5;;;;;;5342:28;;5364:5;;;;5342:28;;-1:-1:-1;5342:10:0;;-1:-1:-1;;;;;5342:28:0:i;:::-;5386:20;;;;;;;;;;;;;;;;;5102:312;;;;;:::o;414:20::-;;;-1:-1:-1;;;;;414:20:0;;:::o;1029:173::-;842:5;;-1:-1:-1;;;;;842:5:0;828:10;:19;820:28;;;;;;-1:-1:-1;;;;;1106:22:0;;;;1098:31;;;;;;1157:5;;;1136:37;;-1:-1:-1;;;;;1136:37:0;;;;1157:5;;;1136:37;;;1180:5;:16;;-1:-1:-1;;1180:16:0;-1:-1:-1;;;;;1180:16:0;;;;;;;;;;1029:173::o;6021:127::-;-1:-1:-1;;;;;6099:8:0;;;;6091:17;;;;;5422:127;5534:5;;;5506:24;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5534:5:0;;;;5506:17;;;;:9;;5524:5;;5506:24;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5506:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5506:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5506:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5506:24:0;-1:-1:-1;;;;;5506:33:0;;5498:42;;;;;;5422:127;;:::o
Swarm Source
bzzr://b842ad305c9802fd0dd10ef027da12f771991be7324650f1dc3be09eab16cd09
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.