Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Ownership | 6938919 | 2097 days ago | IN | 0 ETH | 0.00049082 | ||||
Claim Ownership | 6927942 | 2099 days ago | IN | 0 ETH | 0.0008949 | ||||
Add Merchant | 6782395 | 2123 days ago | IN | 0 ETH | 0.00091224 | ||||
Add Merchant | 6782386 | 2123 days ago | IN | 0 ETH | 0.00091224 | ||||
Set Custodian | 6782373 | 2123 days ago | IN | 0 ETH | 0.00044917 | ||||
Transfer Ownersh... | 6782298 | 2123 days ago | IN | 0 ETH | 0.00043788 | ||||
Claim Ownership | 6766419 | 2125 days ago | IN | 0 ETH | 0.00019368 | ||||
Transfer Ownersh... | 6766302 | 2125 days ago | IN | 0 ETH | 0.00043788 | ||||
0x60806040 | 6766288 | 2125 days ago | IN | 0 ETH | 0.00888001 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Members
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-24 */ pragma solidity 0.4.24; // File: openzeppelin-solidity/contracts/ownership/Ownable.sol /** * @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 OwnershipRenounced(address indexed previousOwner); 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 relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @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 { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: openzeppelin-solidity/contracts/ownership/Claimable.sol /** * @title Claimable * @dev Extension for the Ownable contract, where the ownership needs to be claimed. * This allows the new owner to accept the transfer. */ contract Claimable is Ownable { address public pendingOwner; /** * @dev Modifier throws if called by any account other than the pendingOwner. */ modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } /** * @dev Allows the current owner to set the pendingOwner address. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { pendingOwner = newOwner; } /** * @dev Allows the pendingOwner address to finalize the transfer. */ function claimOwnership() public onlyPendingOwner { emit OwnershipTransferred(owner, pendingOwner); owner = pendingOwner; pendingOwner = address(0); } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address _owner, address _spender) public view returns (uint256); function transferFrom(address _from, address _to, uint256 _value) public returns (bool); function approve(address _spender, uint256 _value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { function safeTransfer( ERC20Basic _token, address _to, uint256 _value ) internal { require(_token.transfer(_to, _value)); } function safeTransferFrom( ERC20 _token, address _from, address _to, uint256 _value ) internal { require(_token.transferFrom(_from, _to, _value)); } function safeApprove( ERC20 _token, address _spender, uint256 _value ) internal { require(_token.approve(_spender, _value)); } } // File: openzeppelin-solidity/contracts/ownership/CanReclaimToken.sol /** * @title Contracts that should be able to recover tokens * @author SylTi * @dev This allow a contract to recover any ERC20 token received in a contract by transferring the balance to the contract owner. * This will prevent any accidental loss of tokens. */ contract CanReclaimToken is Ownable { using SafeERC20 for ERC20Basic; /** * @dev Reclaim all ERC20Basic compatible tokens * @param _token ERC20Basic The address of the token contract */ function reclaimToken(ERC20Basic _token) external onlyOwner { uint256 balance = _token.balanceOf(this); _token.safeTransfer(owner, balance); } } // File: contracts/utils/OwnableContract.sol // empty block is used as this contract just inherits others. contract OwnableContract is CanReclaimToken, Claimable { } /* solhint-disable-line no-empty-blocks */ // File: contracts/utils/IndexedMapping.sol library IndexedMapping { struct Data { mapping(address=>bool) valueExists; mapping(address=>uint) valueIndex; address[] valueList; } function add(Data storage self, address val) internal returns (bool) { if (exists(self, val)) return false; self.valueExists[val] = true; self.valueIndex[val] = self.valueList.push(val) - 1; return true; } function remove(Data storage self, address val) internal returns (bool) { uint index; address lastVal; if (!exists(self, val)) return false; index = self.valueIndex[val]; lastVal = self.valueList[self.valueList.length - 1]; // replace value with last value self.valueList[index] = lastVal; self.valueIndex[lastVal] = index; self.valueList.length--; // remove value delete self.valueExists[val]; delete self.valueIndex[val]; return true; } function exists(Data storage self, address val) internal view returns (bool) { return self.valueExists[val]; } function getValue(Data storage self, uint index) internal view returns (address) { return self.valueList[index]; } function getValueList(Data storage self) internal view returns (address[]) { return self.valueList; } } // File: contracts/factory/MembersInterface.sol interface MembersInterface { function setCustodian(address _custodian) external returns (bool); function addMerchant(address merchant) external returns (bool); function removeMerchant(address merchant) external returns (bool); function isCustodian(address addr) external view returns (bool); function isMerchant(address addr) external view returns (bool); } // File: contracts/factory/Members.sol contract Members is MembersInterface, OwnableContract { address public custodian; using IndexedMapping for IndexedMapping.Data; IndexedMapping.Data internal merchants; constructor(address _owner) public { require(_owner != address(0), "invalid _owner address"); owner = _owner; } event CustodianSet(address indexed custodian); function setCustodian(address _custodian) external onlyOwner returns (bool) { require(_custodian != address(0), "invalid custodian address"); custodian = _custodian; emit CustodianSet(_custodian); return true; } event MerchantAdd(address indexed merchant); function addMerchant(address merchant) external onlyOwner returns (bool) { require(merchant != address(0), "invalid merchant address"); require(merchants.add(merchant), "merchant add failed"); emit MerchantAdd(merchant); return true; } event MerchantRemove(address indexed merchant); function removeMerchant(address merchant) external onlyOwner returns (bool) { require(merchant != address(0), "invalid merchant address"); require(merchants.remove(merchant), "merchant remove failed"); emit MerchantRemove(merchant); return true; } function isCustodian(address addr) external view returns (bool) { return (addr == custodian); } function isMerchant(address addr) external view returns (bool) { return merchants.exists(addr); } function getMerchant(uint index) external view returns (address) { return merchants.getValue(index); } function getMerchants() external view returns (address[]) { return merchants.getValueList(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"merchant","type":"address"}],"name":"removeMerchant","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isMerchant","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isCustodian","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"custodian","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_custodian","type":"address"}],"name":"setCustodian","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getMerchant","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"merchant","type":"address"}],"name":"addMerchant","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMerchants","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","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"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"custodian","type":"address"}],"name":"CustodianSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"merchant","type":"address"}],"name":"MerchantAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"merchant","type":"address"}],"name":"MerchantRemove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610ca5833981016040525160008054600160a060020a03191633179055600160a060020a03811615156100ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f696e76616c6964205f6f776e6572206164647265737300000000000000000000604482015290519081900360640190fd5b60008054600160a060020a03909216600160a060020a0319909216919091179055610bca806100db6000396000f3006080604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663133adab681146100d457806317ffc320146101095780631a2f71671461012c57806335c80c8c1461014d578063375b74c31461016e578063403f37311461019f5780634e71e0c8146101c05780635d32798a146101d5578063715018a6146101ed5780638da5cb5b14610202578063bf76c0ef14610217578063e2d1800f14610238578063e30c39781461029d578063f2fde38b146102b2575b600080fd5b3480156100e057600080fd5b506100f5600160a060020a03600435166102d3565b604080519115158252519081900360200190f35b34801561011557600080fd5b5061012a600160a060020a03600435166103ee565b005b34801561013857600080fd5b506100f5600160a060020a03600435166104ba565b34801561015957600080fd5b506100f5600160a060020a03600435166104d3565b34801561017a57600080fd5b506101836104e7565b60408051600160a060020a039092168252519081900360200190f35b3480156101ab57600080fd5b506100f5600160a060020a03600435166104f6565b3480156101cc57600080fd5b5061012a6105ca565b3480156101e157600080fd5b50610183600435610652565b3480156101f957600080fd5b5061012a610665565b34801561020e57600080fd5b506101836106d1565b34801561022357600080fd5b506100f5600160a060020a03600435166106e0565b34801561024457600080fd5b5061024d6107fb565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610289578181015183820152602001610271565b505050509050019250505060405180910390f35b3480156102a957600080fd5b5061018361080d565b3480156102be57600080fd5b5061012a600160a060020a036004351661081c565b60008054600160a060020a031633146102eb57600080fd5b600160a060020a038216151561034b576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c6964206d65726368616e7420616464726573730000000000000000604482015290519081900360640190fd5b61035c60038363ffffffff61086216565b15156103b2576040805160e560020a62461bcd02815260206004820152601660248201527f6d65726368616e742072656d6f7665206661696c656400000000000000000000604482015290519081900360640190fd5b604051600160a060020a038316907f992dc0f9ccd9e3a061bd113c6caf19dceacce1f3e2ec016588b03ade3649d00490600090a2506001919050565b60008054600160a060020a0316331461040657600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d602081101561049157600080fd5b50516000549091506104b690600160a060020a0384811691168363ffffffff61097616565b5050565b60006104cd60038363ffffffff610a2e16565b92915050565b600254600160a060020a0390811691161490565b600254600160a060020a031681565b60008054600160a060020a0316331461050e57600080fd5b600160a060020a038216151561056e576040805160e560020a62461bcd02815260206004820152601960248201527f696e76616c696420637573746f6469616e206164647265737300000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091556040517fb88c20a211c5d7677ba2a26c317d8ae6b25aa492016dc8ceca2469761d063d8090600090a2506001919050565b600154600160a060020a031633146105e157600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60006104cd60038363ffffffff610a4d16565b600054600160a060020a0316331461067c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60008054600160a060020a031633146106f857600080fd5b600160a060020a0382161515610758576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c6964206d65726368616e7420616464726573730000000000000000604482015290519081900360640190fd5b61076960038363ffffffff610a7c16565b15156107bf576040805160e560020a62461bcd02815260206004820152601360248201527f6d65726368616e7420616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b604051600160a060020a038316907fc596bdf76682c6315371c70f872bf03746834f9dd5d02793d07de0d5e8f4015590600090a2506001919050565b60606108076003610afb565b90505b90565b600154600160a060020a031681565b600054600160a060020a0316331461083357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060006108718585610a2e565b1515610880576000925061096e565b600160a060020a03841660009081526001860160205260409020546002860180549193509060001981019081106108b357fe5b600091825260209091200154600286018054600160a060020a0390921692508291849081106108de57fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055918316815260018701909152604090208290556002850180549061093b906000198301610b61565b50600160a060020a038416600090815260208681526040808320805460ff19169055600180890190925282209190915592505b505092915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d6020811015610a1c57600080fd5b50511515610a2957600080fd5b505050565b600160a060020a03166000908152602091909152604090205460ff1690565b60008260020182815481101515610a6057fe5b600091825260209091200154600160a060020a03169392505050565b6000610a888383610a2e565b15610a95575060006104cd565b50600160a060020a0316600081815260208381526040808320805460ff1916600190811790915560028601805480830182559085528385208101805473ffffffffffffffffffffffffffffffffffffffff19168717905594845294850190915290205590565b606081600201805480602002602001604051908101604052809291908181526020018280548015610b5557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b37575b50505050509050919050565b815481835581811115610a2957600083815260209020610a2991810190830161080a91905b80821115610b9a5760008155600101610b86565b50905600a165627a7a7230582033456616b5216df619b7f682177f328d3eaee7dd2d0311229e961a367dcf3cc200290000000000000000000000008b41783ad99fcbeb8d575fa7a7b5a04fa0b8d80b
Deployed Bytecode
0x6080604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663133adab681146100d457806317ffc320146101095780631a2f71671461012c57806335c80c8c1461014d578063375b74c31461016e578063403f37311461019f5780634e71e0c8146101c05780635d32798a146101d5578063715018a6146101ed5780638da5cb5b14610202578063bf76c0ef14610217578063e2d1800f14610238578063e30c39781461029d578063f2fde38b146102b2575b600080fd5b3480156100e057600080fd5b506100f5600160a060020a03600435166102d3565b604080519115158252519081900360200190f35b34801561011557600080fd5b5061012a600160a060020a03600435166103ee565b005b34801561013857600080fd5b506100f5600160a060020a03600435166104ba565b34801561015957600080fd5b506100f5600160a060020a03600435166104d3565b34801561017a57600080fd5b506101836104e7565b60408051600160a060020a039092168252519081900360200190f35b3480156101ab57600080fd5b506100f5600160a060020a03600435166104f6565b3480156101cc57600080fd5b5061012a6105ca565b3480156101e157600080fd5b50610183600435610652565b3480156101f957600080fd5b5061012a610665565b34801561020e57600080fd5b506101836106d1565b34801561022357600080fd5b506100f5600160a060020a03600435166106e0565b34801561024457600080fd5b5061024d6107fb565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610289578181015183820152602001610271565b505050509050019250505060405180910390f35b3480156102a957600080fd5b5061018361080d565b3480156102be57600080fd5b5061012a600160a060020a036004351661081c565b60008054600160a060020a031633146102eb57600080fd5b600160a060020a038216151561034b576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c6964206d65726368616e7420616464726573730000000000000000604482015290519081900360640190fd5b61035c60038363ffffffff61086216565b15156103b2576040805160e560020a62461bcd02815260206004820152601660248201527f6d65726368616e742072656d6f7665206661696c656400000000000000000000604482015290519081900360640190fd5b604051600160a060020a038316907f992dc0f9ccd9e3a061bd113c6caf19dceacce1f3e2ec016588b03ade3649d00490600090a2506001919050565b60008054600160a060020a0316331461040657600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d602081101561049157600080fd5b50516000549091506104b690600160a060020a0384811691168363ffffffff61097616565b5050565b60006104cd60038363ffffffff610a2e16565b92915050565b600254600160a060020a0390811691161490565b600254600160a060020a031681565b60008054600160a060020a0316331461050e57600080fd5b600160a060020a038216151561056e576040805160e560020a62461bcd02815260206004820152601960248201527f696e76616c696420637573746f6469616e206164647265737300000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091556040517fb88c20a211c5d7677ba2a26c317d8ae6b25aa492016dc8ceca2469761d063d8090600090a2506001919050565b600154600160a060020a031633146105e157600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60006104cd60038363ffffffff610a4d16565b600054600160a060020a0316331461067c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b60008054600160a060020a031633146106f857600080fd5b600160a060020a0382161515610758576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c6964206d65726368616e7420616464726573730000000000000000604482015290519081900360640190fd5b61076960038363ffffffff610a7c16565b15156107bf576040805160e560020a62461bcd02815260206004820152601360248201527f6d65726368616e7420616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b604051600160a060020a038316907fc596bdf76682c6315371c70f872bf03746834f9dd5d02793d07de0d5e8f4015590600090a2506001919050565b60606108076003610afb565b90505b90565b600154600160a060020a031681565b600054600160a060020a0316331461083357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060006108718585610a2e565b1515610880576000925061096e565b600160a060020a03841660009081526001860160205260409020546002860180549193509060001981019081106108b357fe5b600091825260209091200154600286018054600160a060020a0390921692508291849081106108de57fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055918316815260018701909152604090208290556002850180549061093b906000198301610b61565b50600160a060020a038416600090815260208681526040808320805460ff19169055600180890190925282209190915592505b505092915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d6020811015610a1c57600080fd5b50511515610a2957600080fd5b505050565b600160a060020a03166000908152602091909152604090205460ff1690565b60008260020182815481101515610a6057fe5b600091825260209091200154600160a060020a03169392505050565b6000610a888383610a2e565b15610a95575060006104cd565b50600160a060020a0316600081815260208381526040808320805460ff1916600190811790915560028601805480830182559085528385208101805473ffffffffffffffffffffffffffffffffffffffff19168717905594845294850190915290205590565b606081600201805480602002602001604051908101604052809291908181526020018280548015610b5557602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b37575b50505050509050919050565b815481835581811115610a2957600083815260209020610a2991810190830161080a91905b80821115610b9a5760008155600101610b86565b50905600a165627a7a7230582033456616b5216df619b7f682177f328d3eaee7dd2d0311229e961a367dcf3cc20029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008b41783ad99fcbeb8d575fa7a7b5a04fa0b8d80b
-----Decoded View---------------
Arg [0] : _owner (address): 0x8b41783AD99FCBeB8d575fA7A7b5a04fA0b8d80b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008b41783ad99fcbeb8d575fa7a7b5a04fa0b8d80b
Swarm Source
bzzr://33456616b5216df619b7f682177f328d3eaee7dd2d0311229e961a367dcf3cc2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.