Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 8941208 | 1896 days ago | IN | 0 ETH | 0.00024287 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
PAXImplementation
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-09-08 */ pragma solidity ^0.4.24; // File: contracts/zeppelin/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } } // File: contracts/PAXImplementation.sol pragma experimental "v0.5.0"; /** * @title PAXImplementation * @dev this contract is a Pausable ERC20 token with Burn and Mint * controleld by a central SupplyController. By implementing PaxosImplementation * this contract also includes external methods for setting * a new implementation contract for the Proxy. * NOTE: The storage defined here will actually be held in the Proxy * contract and all calls to this contract should be made through * the proxy, including admin actions done as owner or supplyController. * Any call to transfer against this contract should fail * with insufficient funds since no tokens will be issued there. */ contract PAXImplementation { /** * MATH */ using SafeMath for uint256; /** * DATA */ // INITIALIZATION DATA bool private initialized = false; // ERC20 BASIC DATA mapping(address => uint256) internal balances; uint256 internal totalSupply_; string public constant name = "PAX"; // solium-disable-line uppercase string public constant symbol = "PAX"; // solium-disable-line uppercase uint8 public constant decimals = 18; // solium-disable-line uppercase // ERC20 DATA mapping (address => mapping (address => uint256)) internal allowed; // OWNER DATA address public owner; // PAUSABILITY DATA bool public paused = false; // LAW ENFORCEMENT DATA address public lawEnforcementRole; mapping(address => bool) internal frozen; // SUPPLY CONTROL DATA address public supplyController; /** * EVENTS */ // ERC20 BASIC EVENTS event Transfer(address indexed from, address indexed to, uint256 value); // ERC20 EVENTS event Approval( address indexed owner, address indexed spender, uint256 value ); // OWNABLE EVENTS event OwnershipTransferred( address indexed oldOwner, address indexed newOwner ); // PAUSABLE EVENTS event Pause(); event Unpause(); // LAW ENFORCEMENT EVENTS event AddressFrozen(address indexed addr); event AddressUnfrozen(address indexed addr); event FrozenAddressWiped(address indexed addr); event LawEnforcementRoleSet ( address indexed oldLawEnforcementRole, address indexed newLawEnforcementRole ); // SUPPLY CONTROL EVENTS event SupplyIncreased(address indexed to, uint256 value); event SupplyDecreased(address indexed from, uint256 value); event SupplyControllerSet( address indexed oldSupplyController, address indexed newSupplyController ); /** * FUNCTIONALITY */ // INITIALIZATION FUNCTIONALITY /** * @dev sets 0 initials tokens, the owner, and the supplyController. * this serves as the constructor for the proxy but compiles to the * memory model of the Implementation contract. */ function initialize() public { require(!initialized, "already initialized"); owner = msg.sender; lawEnforcementRole = address(0); totalSupply_ = 0; supplyController = msg.sender; initialized = true; } /** * The constructor is used here to ensure that the implementation * contract is initialized. An uncontrolled implementation * contract might lead to misleading state * for users who accidentally interact with it. */ constructor() public { initialize(); pause(); } // ERC20 BASIC FUNCTIONALITY /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) { require(_to != address(0), "cannot transfer to address zero"); require(!frozen[_to] && !frozen[msg.sender], "address frozen"); require(_value <= balances[msg.sender], "insufficient funds"); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _addr The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _addr) public view returns (uint256) { return balances[_addr]; } // ERC20 FUNCTIONALITY /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public whenNotPaused returns (bool) { require(_to != address(0), "cannot transfer to address zero"); require(!frozen[_to] && !frozen[_from] && !frozen[msg.sender], "address frozen"); require(_value <= balances[_from], "insufficient funds"); require(_value <= allowed[_from][msg.sender], "insufficient allowance"); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { require(!frozen[_spender] && !frozen[msg.sender], "address frozen"); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } // OWNER FUNCTIONALITY /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "onlyOwner"); _; } /** * @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), "cannot transfer ownership to address zero"); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } // PAUSABILITY FUNCTIONALITY /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused, "whenNotPaused"); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner { require(!paused, "already paused"); paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner { require(paused, "already unpaused"); paused = false; emit Unpause(); } // LAW ENFORCEMENT FUNCTIONALITY /** * @dev Sets a new law enforcement role address. * @param _newLawEnforcementRole The new address allowed to freeze/unfreeze addresses and seize their tokens. */ function setLawEnforcementRole(address _newLawEnforcementRole) public { require(msg.sender == lawEnforcementRole || msg.sender == owner, "only lawEnforcementRole or Owner"); emit LawEnforcementRoleSet(lawEnforcementRole, _newLawEnforcementRole); lawEnforcementRole = _newLawEnforcementRole; } modifier onlyLawEnforcementRole() { require(msg.sender == lawEnforcementRole, "onlyLawEnforcementRole"); _; } /** * @dev Freezes an address balance from being transferred. * @param _addr The new address to freeze. */ function freeze(address _addr) public onlyLawEnforcementRole { require(!frozen[_addr], "address already frozen"); frozen[_addr] = true; emit AddressFrozen(_addr); } /** * @dev Unfreezes an address balance allowing transfer. * @param _addr The new address to unfreeze. */ function unfreeze(address _addr) public onlyLawEnforcementRole { require(frozen[_addr], "address already unfrozen"); frozen[_addr] = false; emit AddressUnfrozen(_addr); } /** * @dev Wipes the balance of a frozen address, burning the tokens * and setting the approval to zero. * @param _addr The new frozen address to wipe. */ function wipeFrozenAddress(address _addr) public onlyLawEnforcementRole { require(frozen[_addr], "address is not frozen"); uint256 _balance = balances[_addr]; balances[_addr] = 0; totalSupply_ = totalSupply_.sub(_balance); emit FrozenAddressWiped(_addr); emit SupplyDecreased(_addr, _balance); emit Transfer(_addr, address(0), _balance); } /** * @dev Gets the balance of the specified address. * @param _addr The address to check if frozen. * @return A bool representing whether the given address is frozen. */ function isFrozen(address _addr) public view returns (bool) { return frozen[_addr]; } // SUPPLY CONTROL FUNCTIONALITY /** * @dev Sets a new supply controller address. * @param _newSupplyController The address allowed to burn/mint tokens to control supply. */ function setSupplyController(address _newSupplyController) public { require(msg.sender == supplyController || msg.sender == owner, "only SupplyController or Owner"); require(_newSupplyController != address(0), "cannot set supply controller to address zero"); emit SupplyControllerSet(supplyController, _newSupplyController); supplyController = _newSupplyController; } modifier onlySupplyController() { require(msg.sender == supplyController, "onlySupplyController"); _; } /** * @dev Increases the total supply by minting the specified number of tokens to the supply controller account. * @param _value The number of tokens to add. * @return A boolean that indicates if the operation was successful. */ function increaseSupply(uint256 _value) public onlySupplyController returns (bool success) { totalSupply_ = totalSupply_.add(_value); balances[supplyController] = balances[supplyController].add(_value); emit SupplyIncreased(supplyController, _value); emit Transfer(address(0), supplyController, _value); return true; } /** * @dev Decreases the total supply by burning the specified number of tokens from the supply controller account. * @param _value The number of tokens to remove. * @return A boolean that indicates if the operation was successful. */ function decreaseSupply(uint256 _value) public onlySupplyController returns (bool success) { require(_value <= balances[supplyController], "not enough supply"); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure balances[supplyController] = balances[supplyController].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit SupplyDecreased(supplyController, _value); emit Transfer(supplyController, address(0), _value); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newLawEnforcementRole","type":"address"}],"name":"setLawEnforcementRole","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newSupplyController","type":"address"}],"name":"setSupplyController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"decreaseSupply","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lawEnforcementRole","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"increaseSupply","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"wipeFrozenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isFrozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"supplyController","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":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"}],"name":"AddressFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"}],"name":"AddressUnfrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"}],"name":"FrozenAddressWiped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldLawEnforcementRole","type":"address"},{"indexed":true,"name":"newLawEnforcementRole","type":"address"}],"name":"LawEnforcementRoleSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"SupplyIncreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"SupplyDecreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldSupplyController","type":"address"},{"indexed":true,"name":"newSupplyController","type":"address"}],"name":"SupplyControllerSet","type":"event"}]
Contract Creation Code
60806040526000805460ff191690556004805460a060020a60ff02191690553480156200002b57600080fd5b506200003f64010000000062000058810204565b6200005264010000000062000109810204565b62000260565b60005460ff1615620000cb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f616c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b6004805433600160a060020a03199182168117909255600580548216905560006002819055600780549092169092179055805460ff19166001179055565b600454600160a060020a031633146200018357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045474010000000000000000000000000000000000000000900460ff16156200020e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f616c726561647920706175736564000000000000000000000000000000000000604482015290519081900360640190fd5b6004805460a060020a60ff021916740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b611a6a80620002706000396000f3006080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020f57806323b872dd14610236578063313ce567146102605780633cf76a9f1461028b5780633f4ba83a146102ae57806345c8b1a6146102c357806352875bc3146102e45780635c975abb1461030557806370a082311461031a5780638129fc1c1461033b5780638456cb59146103505780638d1fdf2f146103655780638da5cb5b1461038657806395d89b411461014d57806398e52f9a146103b7578063a6ca54bd146103cf578063a9059cbb146103e4578063b921e16314610408578063dd62ed3e14610420578063e2f72f0314610447578063e583983614610468578063e7ba101214610489578063f2fde38b1461049e575b600080fd5b34801561015957600080fd5b506101626104bf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a03600435166024356104f6565b604080519115158252519081900360200190f35b34801561021b57600080fd5b50610224610651565b60408051918252519081900360200190f35b34801561024257600080fd5b506101fb600160a060020a0360043581169060243516604435610657565b34801561026c57600080fd5b506102756109b6565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b506102ac600160a060020a03600435166109bb565b005b3480156102ba57600080fd5b506102ac610a9d565b3480156102cf57600080fd5b506102ac600160a060020a0360043516610bab565b3480156102f057600080fd5b506102ac600160a060020a0360043516610cc8565b34801561031157600080fd5b506101fb610e30565b34801561032657600080fd5b50610224600160a060020a0360043516610e40565b34801561034757600080fd5b506102ac610e5b565b34801561035c57600080fd5b506102ac610f01565b34801561037157600080fd5b506102ac600160a060020a0360043516611014565b34801561039257600080fd5b5061039b611133565b60408051600160a060020a039092168252519081900360200190f35b3480156103c357600080fd5b506101fb600435611142565b3480156103db57600080fd5b5061039b6112f1565b3480156103f057600080fd5b506101fb600160a060020a0360043516602435611300565b34801561041457600080fd5b506101fb600435611559565b34801561042c57600080fd5b50610224600160a060020a0360043581169060243516611694565b34801561045357600080fd5b506102ac600160a060020a03600435166116bf565b34801561047457600080fd5b506101fb600160a060020a0360043516611870565b34801561049557600080fd5b5061039b61188e565b3480156104aa57600080fd5b506102ac600160a060020a036004351661189d565b60408051808201909152600381527f5041580000000000000000000000000000000000000000000000000000000000602082015281565b60045460009060a060020a900460ff161561055b576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff1615801561059457503360009081526006602052604090205460ff16155b15156105ea576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b60045460009060a060020a900460ff16156106bc576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038316151561071c576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74207472616e7366657220746f2061646472657373207a65726f00604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff1615801561075e5750600160a060020a03841660009081526006602052604090205460ff16155b801561077a57503360009081526006602052604090205460ff16155b15156107d0576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038416600090815260016020526040902054821115610840576040805160e560020a62461bcd02815260206004820152601260248201527f696e73756666696369656e742066756e64730000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526003602090815260408083203384529091529020548211156108bb576040805160e560020a62461bcd02815260206004820152601660248201527f696e73756666696369656e7420616c6c6f77616e636500000000000000000000604482015290519081900360640190fd5b600160a060020a0384166000908152600160205260409020546108e4908363ffffffff6119ee16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610919908363ffffffff611a0516565b600160a060020a03808516600090815260016020908152604080832094909455918716815260038252828120338252909152205461095d908363ffffffff6119ee16565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020611a1f833981519152929181900390910190a35060019392505050565b601281565b600554600160a060020a03163314806109de5750600454600160a060020a031633145b1515610a34576040805160e560020a62461bcd02815260206004820181905260248201527f6f6e6c79206c6177456e666f7263656d656e74526f6c65206f72204f776e6572604482015290519081900360640190fd5b600554604051600160a060020a038084169216907f3a3a95dac788f7ca610736fc8f6bd55f6fc480a9bd531712df4599885d4796d990600090a36005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454600160a060020a03163314610aff576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460a060020a900460ff161515610b62576040805160e560020a62461bcd02815260206004820152601060248201527f616c726561647920756e70617573656400000000000000000000000000000000604482015290519081900360640190fd5b6004805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600554600160a060020a03163314610c0d576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03811660009081526006602052604090205460ff161515610c7f576040805160e560020a62461bcd02815260206004820152601860248201527f6164647265737320616c726561647920756e66726f7a656e0000000000000000604482015290519081900360640190fd5b600160a060020a038116600081815260066020526040808220805460ff19169055517fc3776b472ebf54114339eec9e4dc924e7ce307a97f5c1ee72b6d474e6e5e8b7c9190a250565b600754600160a060020a0316331480610ceb5750600454600160a060020a031633145b1515610d41576040805160e560020a62461bcd02815260206004820152601e60248201527f6f6e6c7920537570706c79436f6e74726f6c6c6572206f72204f776e65720000604482015290519081900360640190fd5b600160a060020a0381161515610dc7576040805160e560020a62461bcd02815260206004820152602c60248201527f63616e6e6f742073657420737570706c7920636f6e74726f6c6c657220746f2060448201527f61646472657373207a65726f0000000000000000000000000000000000000000606482015290519081900360840190fd5b600754604051600160a060020a038084169216907f40d53b0b666e4424f29d55244e7e171a1dc332acc11d04ed4abd884629d8cc9790600090a36007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045460a060020a900460ff1681565b600160a060020a031660009081526001602052604090205490565b60005460ff1615610eb6576040805160e560020a62461bcd02815260206004820152601360248201527f616c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b600480543373ffffffffffffffffffffffffffffffffffffffff199182168117909255600580548216905560006002819055600780549092169092179055805460ff19166001179055565b600454600160a060020a03163314610f63576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460a060020a900460ff1615610fc5576040805160e560020a62461bcd02815260206004820152600e60248201527f616c726561647920706175736564000000000000000000000000000000000000604482015290519081900360640190fd5b6004805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600554600160a060020a03163314611076576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03811660009081526006602052604090205460ff16156110e7576040805160e560020a62461bcd02815260206004820152601660248201527f6164647265737320616c72656164792066726f7a656e00000000000000000000604482015290519081900360640190fd5b600160a060020a038116600081815260066020526040808220805460ff19166001179055517f90811a8edd3b3c17eeaefffc17f639cc69145d41a359c9843994dc25382036909190a250565b600454600160a060020a031681565b600754600090600160a060020a031633146111a7576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79537570706c79436f6e74726f6c6c6572000000000000000000000000604482015290519081900360640190fd5b600754600160a060020a0316600090815260016020526040902054821115611219576040805160e560020a62461bcd02815260206004820152601160248201527f6e6f7420656e6f75676820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b600754600160a060020a0316600090815260016020526040902054611244908363ffffffff6119ee16565b600754600160a060020a0316600090815260016020526040902055600254611272908363ffffffff6119ee16565b600255600754604080518481529051600160a060020a03909216917f1b7e18241beced0d7f41fbab1ea8ed468732edbcb74ec4420151654ca71c8a639181900360200190a2600754604080518481529051600092600160a060020a031691600080516020611a1f833981519152919081900360200190a3506001919050565b600554600160a060020a031681565b60045460009060a060020a900460ff1615611365576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03831615156113c5576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74207472616e7366657220746f2061646472657373207a65726f00604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff161580156113fe57503360009081526006602052604090205460ff16155b1515611454576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600160205260409020548211156114bb576040805160e560020a62461bcd02815260206004820152601260248201527f696e73756666696369656e742066756e64730000000000000000000000000000604482015290519081900360640190fd5b336000908152600160205260409020546114db908363ffffffff6119ee16565b3360009081526001602052604080822092909255600160a060020a0385168152205461150d908363ffffffff611a0516565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191923392600080516020611a1f8339815191529281900390910190a350600192915050565b600754600090600160a060020a031633146115be576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79537570706c79436f6e74726f6c6c6572000000000000000000000000604482015290519081900360640190fd5b6002546115d1908363ffffffff611a0516565b600255600754600160a060020a03166000908152600160205260409020546115ff908363ffffffff611a0516565b60078054600160a060020a03908116600090815260016020908152604091829020949094559154825186815292519116927ff5c174d57843e57fea3c649fdde37f015ef08750759cbee88060390566a98797928290030190a2600754604080518481529051600160a060020a0390921691600091600080516020611a1f833981519152919081900360200190a3506001919050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600554600090600160a060020a03163314611724576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03821660009081526006602052604090205460ff161515611796576040805160e560020a62461bcd02815260206004820152601560248201527f61646472657373206973206e6f742066726f7a656e0000000000000000000000604482015290519081900360640190fd5b50600160a060020a038116600090815260016020526040812080549190556002546117c7908263ffffffff6119ee16565b600255604051600160a060020a038316907ffc5960f1c5a5d2b60f031bf534af053b1bf7d9881989afaeb8b1d164db23aede90600090a2604080518281529051600160a060020a038416917f1b7e18241beced0d7f41fbab1ea8ed468732edbcb74ec4420151654ca71c8a63919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611a1f8339815191529181900360200190a35050565b600160a060020a031660009081526006602052604090205460ff1690565b600754600160a060020a031681565b600454600160a060020a031633146118ff576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611985576040805160e560020a62461bcd02815260206004820152602960248201527f63616e6e6f74207472616e73666572206f776e65727368697020746f2061646460448201527f72657373207a65726f0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600454604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080838311156119fe57600080fd5b5050900390565b600082820183811015611a1757600080fd5b93925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c6d215efcd1577af805e38b29c638a331e584cef41962333725dcd7a9ed7b4330029
Deployed Bytecode
0x6080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020f57806323b872dd14610236578063313ce567146102605780633cf76a9f1461028b5780633f4ba83a146102ae57806345c8b1a6146102c357806352875bc3146102e45780635c975abb1461030557806370a082311461031a5780638129fc1c1461033b5780638456cb59146103505780638d1fdf2f146103655780638da5cb5b1461038657806395d89b411461014d57806398e52f9a146103b7578063a6ca54bd146103cf578063a9059cbb146103e4578063b921e16314610408578063dd62ed3e14610420578063e2f72f0314610447578063e583983614610468578063e7ba101214610489578063f2fde38b1461049e575b600080fd5b34801561015957600080fd5b506101626104bf565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a03600435166024356104f6565b604080519115158252519081900360200190f35b34801561021b57600080fd5b50610224610651565b60408051918252519081900360200190f35b34801561024257600080fd5b506101fb600160a060020a0360043581169060243516604435610657565b34801561026c57600080fd5b506102756109b6565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b506102ac600160a060020a03600435166109bb565b005b3480156102ba57600080fd5b506102ac610a9d565b3480156102cf57600080fd5b506102ac600160a060020a0360043516610bab565b3480156102f057600080fd5b506102ac600160a060020a0360043516610cc8565b34801561031157600080fd5b506101fb610e30565b34801561032657600080fd5b50610224600160a060020a0360043516610e40565b34801561034757600080fd5b506102ac610e5b565b34801561035c57600080fd5b506102ac610f01565b34801561037157600080fd5b506102ac600160a060020a0360043516611014565b34801561039257600080fd5b5061039b611133565b60408051600160a060020a039092168252519081900360200190f35b3480156103c357600080fd5b506101fb600435611142565b3480156103db57600080fd5b5061039b6112f1565b3480156103f057600080fd5b506101fb600160a060020a0360043516602435611300565b34801561041457600080fd5b506101fb600435611559565b34801561042c57600080fd5b50610224600160a060020a0360043581169060243516611694565b34801561045357600080fd5b506102ac600160a060020a03600435166116bf565b34801561047457600080fd5b506101fb600160a060020a0360043516611870565b34801561049557600080fd5b5061039b61188e565b3480156104aa57600080fd5b506102ac600160a060020a036004351661189d565b60408051808201909152600381527f5041580000000000000000000000000000000000000000000000000000000000602082015281565b60045460009060a060020a900460ff161561055b576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff1615801561059457503360009081526006602052604090205460ff16155b15156105ea576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b60045460009060a060020a900460ff16156106bc576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038316151561071c576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74207472616e7366657220746f2061646472657373207a65726f00604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff1615801561075e5750600160a060020a03841660009081526006602052604090205460ff16155b801561077a57503360009081526006602052604090205460ff16155b15156107d0576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038416600090815260016020526040902054821115610840576040805160e560020a62461bcd02815260206004820152601260248201527f696e73756666696369656e742066756e64730000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526003602090815260408083203384529091529020548211156108bb576040805160e560020a62461bcd02815260206004820152601660248201527f696e73756666696369656e7420616c6c6f77616e636500000000000000000000604482015290519081900360640190fd5b600160a060020a0384166000908152600160205260409020546108e4908363ffffffff6119ee16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610919908363ffffffff611a0516565b600160a060020a03808516600090815260016020908152604080832094909455918716815260038252828120338252909152205461095d908363ffffffff6119ee16565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020611a1f833981519152929181900390910190a35060019392505050565b601281565b600554600160a060020a03163314806109de5750600454600160a060020a031633145b1515610a34576040805160e560020a62461bcd02815260206004820181905260248201527f6f6e6c79206c6177456e666f7263656d656e74526f6c65206f72204f776e6572604482015290519081900360640190fd5b600554604051600160a060020a038084169216907f3a3a95dac788f7ca610736fc8f6bd55f6fc480a9bd531712df4599885d4796d990600090a36005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454600160a060020a03163314610aff576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460a060020a900460ff161515610b62576040805160e560020a62461bcd02815260206004820152601060248201527f616c726561647920756e70617573656400000000000000000000000000000000604482015290519081900360640190fd5b6004805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600554600160a060020a03163314610c0d576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03811660009081526006602052604090205460ff161515610c7f576040805160e560020a62461bcd02815260206004820152601860248201527f6164647265737320616c726561647920756e66726f7a656e0000000000000000604482015290519081900360640190fd5b600160a060020a038116600081815260066020526040808220805460ff19169055517fc3776b472ebf54114339eec9e4dc924e7ce307a97f5c1ee72b6d474e6e5e8b7c9190a250565b600754600160a060020a0316331480610ceb5750600454600160a060020a031633145b1515610d41576040805160e560020a62461bcd02815260206004820152601e60248201527f6f6e6c7920537570706c79436f6e74726f6c6c6572206f72204f776e65720000604482015290519081900360640190fd5b600160a060020a0381161515610dc7576040805160e560020a62461bcd02815260206004820152602c60248201527f63616e6e6f742073657420737570706c7920636f6e74726f6c6c657220746f2060448201527f61646472657373207a65726f0000000000000000000000000000000000000000606482015290519081900360840190fd5b600754604051600160a060020a038084169216907f40d53b0b666e4424f29d55244e7e171a1dc332acc11d04ed4abd884629d8cc9790600090a36007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045460a060020a900460ff1681565b600160a060020a031660009081526001602052604090205490565b60005460ff1615610eb6576040805160e560020a62461bcd02815260206004820152601360248201527f616c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b600480543373ffffffffffffffffffffffffffffffffffffffff199182168117909255600580548216905560006002819055600780549092169092179055805460ff19166001179055565b600454600160a060020a03163314610f63576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460a060020a900460ff1615610fc5576040805160e560020a62461bcd02815260206004820152600e60248201527f616c726561647920706175736564000000000000000000000000000000000000604482015290519081900360640190fd5b6004805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600554600160a060020a03163314611076576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03811660009081526006602052604090205460ff16156110e7576040805160e560020a62461bcd02815260206004820152601660248201527f6164647265737320616c72656164792066726f7a656e00000000000000000000604482015290519081900360640190fd5b600160a060020a038116600081815260066020526040808220805460ff19166001179055517f90811a8edd3b3c17eeaefffc17f639cc69145d41a359c9843994dc25382036909190a250565b600454600160a060020a031681565b600754600090600160a060020a031633146111a7576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79537570706c79436f6e74726f6c6c6572000000000000000000000000604482015290519081900360640190fd5b600754600160a060020a0316600090815260016020526040902054821115611219576040805160e560020a62461bcd02815260206004820152601160248201527f6e6f7420656e6f75676820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b600754600160a060020a0316600090815260016020526040902054611244908363ffffffff6119ee16565b600754600160a060020a0316600090815260016020526040902055600254611272908363ffffffff6119ee16565b600255600754604080518481529051600160a060020a03909216917f1b7e18241beced0d7f41fbab1ea8ed468732edbcb74ec4420151654ca71c8a639181900360200190a2600754604080518481529051600092600160a060020a031691600080516020611a1f833981519152919081900360200190a3506001919050565b600554600160a060020a031681565b60045460009060a060020a900460ff1615611365576040805160e560020a62461bcd02815260206004820152600d60248201527f7768656e4e6f7450617573656400000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03831615156113c5576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f74207472616e7366657220746f2061646472657373207a65726f00604482015290519081900360640190fd5b600160a060020a03831660009081526006602052604090205460ff161580156113fe57503360009081526006602052604090205460ff16155b1515611454576040805160e560020a62461bcd02815260206004820152600e60248201527f616464726573732066726f7a656e000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600160205260409020548211156114bb576040805160e560020a62461bcd02815260206004820152601260248201527f696e73756666696369656e742066756e64730000000000000000000000000000604482015290519081900360640190fd5b336000908152600160205260409020546114db908363ffffffff6119ee16565b3360009081526001602052604080822092909255600160a060020a0385168152205461150d908363ffffffff611a0516565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191923392600080516020611a1f8339815191529281900390910190a350600192915050565b600754600090600160a060020a031633146115be576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79537570706c79436f6e74726f6c6c6572000000000000000000000000604482015290519081900360640190fd5b6002546115d1908363ffffffff611a0516565b600255600754600160a060020a03166000908152600160205260409020546115ff908363ffffffff611a0516565b60078054600160a060020a03908116600090815260016020908152604091829020949094559154825186815292519116927ff5c174d57843e57fea3c649fdde37f015ef08750759cbee88060390566a98797928290030190a2600754604080518481529051600160a060020a0390921691600091600080516020611a1f833981519152919081900360200190a3506001919050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600554600090600160a060020a03163314611724576040805160e560020a62461bcd02815260206004820152601660248201527f6f6e6c794c6177456e666f7263656d656e74526f6c6500000000000000000000604482015290519081900360640190fd5b600160a060020a03821660009081526006602052604090205460ff161515611796576040805160e560020a62461bcd02815260206004820152601560248201527f61646472657373206973206e6f742066726f7a656e0000000000000000000000604482015290519081900360640190fd5b50600160a060020a038116600090815260016020526040812080549190556002546117c7908263ffffffff6119ee16565b600255604051600160a060020a038316907ffc5960f1c5a5d2b60f031bf534af053b1bf7d9881989afaeb8b1d164db23aede90600090a2604080518281529051600160a060020a038416917f1b7e18241beced0d7f41fbab1ea8ed468732edbcb74ec4420151654ca71c8a63919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611a1f8339815191529181900360200190a35050565b600160a060020a031660009081526006602052604090205460ff1690565b600754600160a060020a031681565b600454600160a060020a031633146118ff576040805160e560020a62461bcd02815260206004820152600960248201527f6f6e6c794f776e65720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0381161515611985576040805160e560020a62461bcd02815260206004820152602960248201527f63616e6e6f74207472616e73666572206f776e65727368697020746f2061646460448201527f72657373207a65726f0000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600454604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080838311156119fe57600080fd5b5050900390565b600082820183811015611a1757600080fd5b93925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c6d215efcd1577af805e38b29c638a331e584cef41962333725dcd7a9ed7b4330029
Swarm Source
bzzr://c6d215efcd1577af805e38b29c638a331e584cef41962333725dcd7a9ed7b433
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.