Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,180 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Pre Sig... | 12361794 | 1393 days ago | IN | 0 ETH | 0.00368612 | ||||
Transfer Pre Sig... | 12361774 | 1393 days ago | IN | 0 ETH | 0.00359145 | ||||
Transfer Pre Sig... | 12361774 | 1393 days ago | IN | 0 ETH | 0.00359191 | ||||
Transfer Pre Sig... | 12358758 | 1393 days ago | IN | 0 ETH | 0.00247036 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00226886 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00226838 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00226857 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00228014 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00228033 | ||||
Transfer Pre Sig... | 12354098 | 1394 days ago | IN | 0 ETH | 0.00217432 | ||||
Transfer Pre Sig... | 12347602 | 1395 days ago | IN | 0 ETH | 0.00302653 | ||||
Transfer Pre Sig... | 12276277 | 1406 days ago | IN | 0 ETH | 0.0193232 | ||||
Transfer Pre Sig... | 12251708 | 1410 days ago | IN | 0 ETH | 0.0141346 | ||||
Transfer Pre Sig... | 12251708 | 1410 days ago | IN | 0 ETH | 0.0189072 | ||||
Transfer Pre Sig... | 12251633 | 1410 days ago | IN | 0 ETH | 0.0189024 | ||||
Transfer Pre Sig... | 12251622 | 1410 days ago | IN | 0 ETH | 0.0189048 | ||||
Transfer Pre Sig... | 12251622 | 1410 days ago | IN | 0 ETH | 0.0189048 | ||||
Transfer Pre Sig... | 12251622 | 1410 days ago | IN | 0 ETH | 0.0189008 | ||||
Transfer Pre Sig... | 12220231 | 1414 days ago | IN | 0 ETH | 0.00693348 | ||||
Transfer Pre Sig... | 12220210 | 1414 days ago | IN | 0 ETH | 0.0069305 | ||||
Transfer Pre Sig... | 12220193 | 1414 days ago | IN | 0 ETH | 0.00692983 | ||||
Transfer Pre Sig... | 12220178 | 1414 days ago | IN | 0 ETH | 0.00817483 | ||||
Transfer Pre Sig... | 12213509 | 1415 days ago | IN | 0 ETH | 0.00486819 | ||||
Transfer Pre Sig... | 12213509 | 1415 days ago | IN | 0 ETH | 0.00486819 | ||||
Transfer Pre Sig... | 12213509 | 1415 days ago | IN | 0 ETH | 0.00568682 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
12361794 | 1393 days ago | 0 ETH | |||||
12361774 | 1393 days ago | 0 ETH | |||||
12361774 | 1393 days ago | 0 ETH | |||||
12358758 | 1393 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12354098 | 1394 days ago | 0 ETH | |||||
12347602 | 1395 days ago | 0 ETH | |||||
12276277 | 1406 days ago | 0 ETH | |||||
12251708 | 1410 days ago | 0 ETH | |||||
12251708 | 1410 days ago | 0 ETH | |||||
12251633 | 1410 days ago | 0 ETH | |||||
12251622 | 1410 days ago | 0 ETH | |||||
12251622 | 1410 days ago | 0 ETH | |||||
12251622 | 1410 days ago | 0 ETH | |||||
12220231 | 1414 days ago | 0 ETH | |||||
12220210 | 1414 days ago | 0 ETH | |||||
12220193 | 1414 days ago | 0 ETH | |||||
12220178 | 1414 days ago | 0 ETH | |||||
12213509 | 1415 days ago | 0 ETH | |||||
12213509 | 1415 days ago | 0 ETH | |||||
12213509 | 1415 days ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DelegatedTransferOperatorV5GasOptimized
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-01-28 */ pragma solidity 0.4.25; // File: contracts/ERC777/ERC777Token.sol /* This Source Code Form is subject to the terms of the Mozilla external * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This code has not been reviewed. * Do not use or deploy this code before reviewing it personally first. */ interface ERC777Token { function name() external view returns (string); function symbol() external view returns (string); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function granularity() external view returns (uint256); function defaultOperators() external view returns (address[]); function isOperatorFor(address operator, address tokenHolder) external view returns (bool); function authorizeOperator(address operator) external; function revokeOperator(address operator) external; function send(address to, uint256 amount, bytes holderData) external; function operatorSend(address from, address to, uint256 amount, bytes holderData, bytes operatorData) external; function burn(uint256 amount, bytes holderData) external; function operatorBurn(address from, uint256 amount, bytes holderData, bytes operatorData) external; event Sent( address indexed operator, address indexed from, address indexed to, uint256 amount, bytes holderData, bytes operatorData ); event Minted(address indexed operator, address indexed to, uint256 amount, bytes operatorData); event Burned(address indexed operator, address indexed from, uint256 amount, bytes holderData, bytes operatorData); event AuthorizedOperator(address indexed operator, address indexed tokenHolder); event RevokedOperator(address indexed operator, address indexed tokenHolder); } // File: contracts/operators/DelegatedTransferOperatorV5GasOptimized.sol /// @title DelegatedTransferOperatorV5GasOptimized /// @author Roger Wu (Roger-Wu) /// @dev A DelegatedTransferOperator contract that has the following features: /// 1. To prevent replay attack, we check if a _nonce has been used by a token holder. /// 2. Minimize the gas by making functions inline and remove trivial event. /// 3. Add `_userData`. /// 4. Add function `batchTransferPreSigned` which does multiple delegated Transfers in one transaction. /// 5. Support signature with "\x19Ethereum Signed Message:\n32" prefix contract DelegatedTransferOperatorV5GasOptimized { mapping(address => uint256) public usedNonce; ERC777Token tokenContract = ERC777Token(0x67ab11058eF23D0a19178f61A050D3c38F81Ae21); /** * @notice Submit a presigned transfer * @param _to address The address which you want to transfer to. * @param _delegate address The address which is allowed to send this transaction. * @param _value uint256 The amount of tokens to be transferred. * @param _fee uint256 The amount of tokens paid to msg.sender, by the owner. * @param _nonce uint256 Presigned transaction number. * @param _userData bytes Data generated by the user to be sent to the recipient. * @param _signedWithPrefix bool Whether "\x19Ethereum Signed Message:\n32" is prefixed * @param _sig_r bytes32 The r of the signature. * @param _sig_s bytes32 The s of the signature. * @param _sig_v uint8 The v of the signature. * @dev some rules: * 1. If _to is address(0), the tx will fail when doSend(). * 2. If _delegate == address(0), then anyone can be the delegate. * 3. _nonce must be greater than the last used nonce by the token holder, * but nonces don't have to be serial numbers. * We recommend using unix time as nonce. * 4. _sig_v should be 27 or 28. */ function transferPreSigned( address _to, address _delegate, uint256 _value, uint256 _fee, uint256 _nonce, bytes _userData, bool _signedWithPrefix, bytes32 _sig_r, bytes32 _sig_s, uint8 _sig_v ) public { require( _delegate == address(0) || _delegate == msg.sender, "_delegate should be address(0) or msg.sender" ); // bytes32 _hash = transferPreSignedHashing(...); bytes32 _hash = keccak256( abi.encodePacked( address(this), _to, _delegate, _value, _fee, _nonce, _userData ) ); if (_signedWithPrefix) { // _hash = toEthSignedMessageHash(_hash); _hash = keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", _hash)); } // address _signer = recoverVrs(_hash, _sig_v, _sig_r, _sig_s); address _signer = (_sig_v != 27 && _sig_v != 28) ? address(0) : ecrecover(_hash, _sig_v, _sig_r, _sig_s); require( _signer != address(0), "_signature is invalid." ); require( _nonce > usedNonce[_signer], "_nonce must be greater than the last used nonce of the token holder." ); usedNonce[_signer] = _nonce; tokenContract.operatorSend(_signer, _to, _value, _userData, ""); if (_fee > 0) { tokenContract.operatorSend(_signer, msg.sender, _fee, _userData, ""); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"usedNonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_delegate","type":"address"},{"name":"_value","type":"uint256"},{"name":"_fee","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_userData","type":"bytes"},{"name":"_signedWithPrefix","type":"bool"},{"name":"_sig_r","type":"bytes32"},{"name":"_sig_s","type":"bytes32"},{"name":"_sig_v","type":"uint8"}],"name":"transferPreSigned","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260018054600160a060020a0319167367ab11058ef23d0a19178f61a050d3c38f81ae2117905534801561003657600080fd5b5061085a806100466000396000f3006080604052600436106100325763ffffffff60e060020a6000350416633e61e9dc81146100375780637f3d64181461006a575b600080fd5b34801561004357600080fd5b50610058600160a060020a03600435166100ff565b60408051918252519081900360200190f35b34801561007657600080fd5b50604080516020600460a43581810135601f81018490048402850184019095528484526100fd948235600160a060020a039081169560248035909216956044359560643595608435953695929460c494909390920191819084018382808284375094975050505082351515935050506020810135906040810135906060013560ff16610111565b005b60006020819052908152604090205481565b600080600160a060020a038b1615806101325750600160a060020a038b1633145b15156101c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5f64656c65676174652073686f756c642062652061646472657373283029206f60448201527f72206d73672e73656e6465720000000000000000000000000000000000000000606482015290519081900360840190fd5b308c8c8c8c8c8c6040516020018088600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140187600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140186600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140185815260200184815260200183815260200182805190602001908083835b602083106102855780518252601f199092019160209182019101610266565b6001836020036101000a0380198251168184511680821785525050505050509050019750505050505050506040516020818303038152906040526040518082805190602001908083835b602083106102ee5780518252601f1990920191602091820191016102cf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915085156103c957604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c80830186905283518084039091018152605c90920192839052815191929182918401908083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091505b8260ff16601b141580156103e157508260ff16601c14155b61044e57604080516000808252602080830180855286905260ff8716838501526060830189905260808301889052925160019360a0808501949193601f19840193928390039091019190865af115801561043f573d6000803e3d6000fd5b50505060206040510351610451565b60005b9050600160a060020a03811615156104ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5f7369676e617475726520697320696e76616c69642e00000000000000000000604482015290519081900360640190fd5b600160a060020a038116600090815260208190526040902054881161059d57604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f5f6e6f6e6365206d7573742062652067726561746572207468616e2074686520908201527f6c6173742075736564206e6f6e6365206f662074686520746f6b656e20686f6c60648201527f6465722e00000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b8760008083600160a060020a0316600160a060020a0316815260200190815260200160002081905550600160009054906101000a9004600160a060020a0316600160a060020a03166362ad1b83828e8d8b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018381526020018060200180602001838103835284818151815260200191508051906020019080838360005b8381101561067757818101518382015260200161065f565b50505050905090810190601f1680156106a45780820380516001836020036101000a031916815260200191505b508381038252600081526020016020019650505050505050600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b50505050600089111561082057600160009054906101000a9004600160a060020a0316600160a060020a03166362ad1b8382338c8b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018381526020018060200180602001838103835284818151815260200191508051906020019080838360005b838110156107a8578181015183820152602001610790565b50505050905090810190601f1680156107d55780820380516001836020036101000a031916815260200191505b508381038252600081526020016020019650505050505050600060405180830381600087803b15801561080757600080fd5b505af115801561081b573d6000803e3d6000fd5b505050505b5050505050505050505050505600a165627a7a7230582096ff3bdbe678aaaf9a86f6283bb7ea2df6fe4181107707d4d8996c098149618f0029
Deployed Bytecode
0x6080604052600436106100325763ffffffff60e060020a6000350416633e61e9dc81146100375780637f3d64181461006a575b600080fd5b34801561004357600080fd5b50610058600160a060020a03600435166100ff565b60408051918252519081900360200190f35b34801561007657600080fd5b50604080516020600460a43581810135601f81018490048402850184019095528484526100fd948235600160a060020a039081169560248035909216956044359560643595608435953695929460c494909390920191819084018382808284375094975050505082351515935050506020810135906040810135906060013560ff16610111565b005b60006020819052908152604090205481565b600080600160a060020a038b1615806101325750600160a060020a038b1633145b15156101c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5f64656c65676174652073686f756c642062652061646472657373283029206f60448201527f72206d73672e73656e6465720000000000000000000000000000000000000000606482015290519081900360840190fd5b308c8c8c8c8c8c6040516020018088600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140187600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140186600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140185815260200184815260200183815260200182805190602001908083835b602083106102855780518252601f199092019160209182019101610266565b6001836020036101000a0380198251168184511680821785525050505050509050019750505050505050506040516020818303038152906040526040518082805190602001908083835b602083106102ee5780518252601f1990920191602091820191016102cf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915085156103c957604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c80830186905283518084039091018152605c90920192839052815191929182918401908083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902091505b8260ff16601b141580156103e157508260ff16601c14155b61044e57604080516000808252602080830180855286905260ff8716838501526060830189905260808301889052925160019360a0808501949193601f19840193928390039091019190865af115801561043f573d6000803e3d6000fd5b50505060206040510351610451565b60005b9050600160a060020a03811615156104ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5f7369676e617475726520697320696e76616c69642e00000000000000000000604482015290519081900360640190fd5b600160a060020a038116600090815260208190526040902054881161059d57604080517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f5f6e6f6e6365206d7573742062652067726561746572207468616e2074686520908201527f6c6173742075736564206e6f6e6365206f662074686520746f6b656e20686f6c60648201527f6465722e00000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b8760008083600160a060020a0316600160a060020a0316815260200190815260200160002081905550600160009054906101000a9004600160a060020a0316600160a060020a03166362ad1b83828e8d8b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018381526020018060200180602001838103835284818151815260200191508051906020019080838360005b8381101561067757818101518382015260200161065f565b50505050905090810190601f1680156106a45780820380516001836020036101000a031916815260200191505b508381038252600081526020016020019650505050505050600060405180830381600087803b1580156106d657600080fd5b505af11580156106ea573d6000803e3d6000fd5b50505050600089111561082057600160009054906101000a9004600160a060020a0316600160a060020a03166362ad1b8382338c8b6040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018381526020018060200180602001838103835284818151815260200191508051906020019080838360005b838110156107a8578181015183820152602001610790565b50505050905090810190601f1680156107d55780820380516001836020036101000a031916815260200191505b508381038252600081526020016020019650505050505050600060405180830381600087803b15801561080757600080fd5b505af115801561081b573d6000803e3d6000fd5b505050505b5050505050505050505050505600a165627a7a7230582096ff3bdbe678aaaf9a86f6283bb7ea2df6fe4181107707d4d8996c098149618f0029
Swarm Source
bzzr://96ff3bdbe678aaaf9a86f6283bb7ea2df6fe4181107707d4d8996c098149618f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.