Address Contract Partially Verified
Address
0xbaA70614C7AAfB568a93E62a98D55696bcc85DFE
Balance
0 ETH
Nonce
1
Code Size
5203 bytes
Creator
0x316eB64c...A119 at tx 0xb42d8939...6df35a
Indexed Transactions
0
Contract Bytecode
5203 bytes
0x6080604052600436106101455763ffffffff60e060020a60003504166305d2035b811461014a57806306fdde0314610173578063095ea7b3146101fd57806318160ddd146102215780631e89d5451461024857806323b872dd146102d657806327e235e314610300578063313ce56714610321578063355274ea1461034c57806340c10f191461036157806342966c68146103855780634552b04f1461039f578063522f6815146103d057806366188463146103f45780636cf7ccac1461041857806370a0823114610448578063757b8cf41461046957806379ba50971461049357806379cc6790146104a85780637d64bcb4146104cc5780638da5cb5b146104e157806395d89b41146104f6578063a9059cbb1461050b578063d73dd6231461052f578063dd62ed3e14610553578063f0595dd11461057a578063f2fde38b146105a4575b600080fd5b34801561015657600080fd5b5061015f6105c5565b604080519115158252519081900360200190f35b34801561017f57600080fd5b506101886105e6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c25781810151838201526020016101aa565b50505050905090810190601f1680156101ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020957600080fd5b5061015f600160a060020a0360043516602435610673565b34801561022d57600080fd5b5061023661072a565b60408051918252519081900360200190f35b34801561025457600080fd5b506040805160206004803580820135838102808601850190965280855261015f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506107309650505050505050565b3480156102e257600080fd5b5061015f600160a060020a036004358116906024351660443561079b565b34801561030c57600080fd5b50610236600160a060020a0360043516610902565b34801561032d57600080fd5b50610336610914565b6040805160ff9092168252519081900360200190f35b34801561035857600080fd5b5061023661091d565b34801561036d57600080fd5b5061015f600160a060020a0360043516602435610923565b34801561039157600080fd5b5061039d600435610959565b005b3480156103ab57600080fd5b506103b4610966565b60408051600160a060020a039092168252519081900360200190f35b3480156103dc57600080fd5b5061039d600160a060020a0360043516602435610975565b34801561040057600080fd5b5061015f600160a060020a0360043516602435610a29565b34801561042457600080fd5b5061039d600160a060020a0360043581169060243581169060443516606435610b3f565b34801561045457600080fd5b50610236600160a060020a0360043516610c07565b34801561047557600080fd5b5061039d600160a060020a0360043581169060243516604435610c22565b34801561049f57600080fd5b5061039d610cd8565b3480156104b457600080fd5b5061039d600160a060020a0360043516602435610d7a565b3480156104d857600080fd5b5061015f610e10565b3480156104ed57600080fd5b506103b4610eb6565b34801561050257600080fd5b50610188610ec5565b34801561051757600080fd5b5061015f600160a060020a0360043516602435610f1d565b34801561053b57600080fd5b5061015f600160a060020a0360043516602435610fee565b34801561055f57600080fd5b50610236600160a060020a03600435811690602435166110ab565b34801561058657600080fd5b5061039d600160a060020a03600435811690602435166044356110d6565b3480156105b057600080fd5b5061039d600160a060020a0360043516611150565b60075474010000000000000000000000000000000000000000900460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561066b5780601f106106405761010080835404028352916020019161066b565b820191906000526020600020905b81548152906001019060200180831161064e57829003601f168201915b505050505081565b6000600160a060020a038316151561068a57600080fd5b8115806106b85750336000908152600560209081526040808320600160a060020a0387168452909152902054155b15156106c357600080fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60005490565b6000808251845114151561074357600080fd5b5060005b835181101561079157610788848281518110151561076157fe5b90602001906020020151848381518110151561077957fe5b90602001906020020151610f1d565b50600101610747565b5060019392505050565b6000600160a060020a03831615156107b257600080fd5b600160a060020a0384166000908152600460205260409020548211156107d757600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561080757600080fd5b600160a060020a038416600090815260046020526040902054610830908363ffffffff61117016565b600160a060020a038086166000908152600460205260408082209390935590851681522054610865908363ffffffff61118716565b600160a060020a0380851660009081526004602090815260408083209490945591871681526005825282812033825290915220546108a9908363ffffffff61117016565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020611408833981519152929181900390910190a35060019392505050565b60046020526000908152604090205481565b60035460ff1681565b60085481565b600060085461093d8360005461118790919063ffffffff16565b111561094857600080fd5b6109528383611199565b9392505050565b61096333826112a3565b50565b600754600160a060020a031681565b600654600160a060020a0316331461098c57600080fd5b600160a060020a03821615156109a157600080fd5b30318111156109af57600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156109e5573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fdb35132c111efe920cede025e819975671cfd1b8fcc1174762c8670c4e94c211919081900360200190a25050565b600080600160a060020a0384161515610a4157600080fd5b60008311610a4e57600080fd5b50336000908152600560209081526040808320600160a060020a038716845290915290205480831115610aa457336000908152600560209081526040808320600160a060020a0388168452909152812055610ad9565b610ab4818463ffffffff61117016565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600654600160a060020a03163314610b5657600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b158015610bca57600080fd5b505af1158015610bde573d6000803e3d6000fd5b505050506040513d6020811015610bf457600080fd5b50511515610c0157600080fd5b50505050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a03163314610c3957600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c9c57600080fd5b505af1158015610cb0573d6000803e3d6000fd5b505050506040513d6020811015610cc657600080fd5b50511515610cd357600080fd5b505050565b600754600160a060020a031615801590610cfc5750600754600160a060020a031633145b1515610d0757600080fd5b600754600654604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546006805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600160a060020a0382166000908152600560209081526040808320338452909152902054811115610daa57600080fd5b600160a060020a0382166000908152600560209081526040808320338452909152902054610dde908263ffffffff61117016565b600160a060020a0383166000908152600560209081526040808320338452909152902055610e0c82826112a3565b5050565b600654600090600160a060020a03163314610e2a57600080fd5b60075474010000000000000000000000000000000000000000900460ff1615610e5257600080fd5b6007805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600654600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561066b5780601f106106405761010080835404028352916020019161066b565b6000600160a060020a0383161515610f3457600080fd5b33600090815260046020526040902054821115610f5057600080fd5b33600090815260046020526040902054610f70908363ffffffff61117016565b3360009081526004602052604080822092909255600160a060020a03851681522054610fa2908363ffffffff61118716565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233926000805160206114088339815191529281900390910190a350600192915050565b6000600160a060020a038316151561100557600080fd5b6000821161101257600080fd5b336000908152600560209081526040808320600160a060020a0387168452909152902054611046908363ffffffff61118716565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600654600160a060020a031633146110ed57600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c9c57600080fd5b600654600160a060020a0316331461116757600080fd5b61096381611393565b6000808383111561118057600080fd5b5050900390565b60008282018381101561095257600080fd5b600654600090600160a060020a031633146111b357600080fd5b60075474010000000000000000000000000000000000000000900460ff16156111db57600080fd5b6000546111ee908363ffffffff61118716565b6000908155600160a060020a038416815260046020526040902054611219908363ffffffff61118716565b600160a060020a038416600081815260046020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206114088339815191529181900360200190a350600192915050565b600160a060020a0382166000908152600460205260409020548111156112c857600080fd5b600160a060020a0382166000908152600460205260409020546112f1908263ffffffff61117016565b600160a060020a0383166000908152600460205260408120919091555461131e908263ffffffff61117016565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206114088339815191529181900360200190a35050565b600160a060020a03811615156113a857600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116918217909255600654604051919216907f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca90600090a3505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058205379dda09c4f27334944a4c21a861f244e9c57e0af63bf00030d0da85adaddd60029
Verified Source Code Partial Match
Compiler: v0.4.25+commit.59dbf8f1
EVM: byzantium
Optimization: Yes (200 runs)
Token.sol 281 lines
/*! ucap.token.sol | (c) 2018 Develop by BelovITLab LLC, author @stupidlovejoy | License: MIT */
pragma solidity 0.4.25;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns(uint256) {
if(a == 0) return 0;
uint256 c = a * b;
require(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns(uint256) {
require(b > 0);
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns(uint256) {
require(b <= a);
uint256 c = a - b;
return c;
}
function add(uint256 a, uint256 b) internal pure returns(uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
function mod(uint256 a, uint256 b) internal pure returns(uint256) {
require(b != 0);
return a % b;
}
}
contract Ownable {
address public owner;
address public new_owner;
event OwnershipTransfer(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
modifier onlyOwner() { require(msg.sender == owner); _; }
constructor() public {
owner = msg.sender;
}
function _transferOwnership(address _to) internal {
require(_to != address(0));
new_owner = _to;
emit OwnershipTransfer(owner, _to);
}
function acceptOwnership() public {
require(new_owner != address(0) && msg.sender == new_owner);
emit OwnershipTransferred(owner, new_owner);
owner = new_owner;
new_owner = address(0);
}
function transferOwnership(address _to) public onlyOwner {
_transferOwnership(_to);
}
}
contract ERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() public view returns(uint256);
function balanceOf(address who) public view returns(uint256);
function transfer(address to, uint256 value) public returns(bool);
function transferFrom(address from, address to, uint256 value) public returns(bool);
function allowance(address owner, address spender) public view returns(uint256);
function approve(address spender, uint256 value) public returns(bool);
}
contract StandardToken is ERC20 {
using SafeMath for uint256;
uint256 internal totalSupply_;
string public name;
string public symbol;
uint8 public decimals;
mapping(address => uint256) public balances;
mapping(address => mapping(address => uint256)) internal allowed;
constructor(string _name, string _symbol, uint8 _decimals) public {
name = _name;
symbol = _symbol;
decimals = _decimals;
}
function totalSupply() public view returns(uint256) {
return totalSupply_;
}
function balanceOf(address _owner) public view returns(uint256) {
return balances[_owner];
}
function transfer(address _to, uint256 _value) public returns(bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
function multiTransfer(address[] _to, uint256[] _value) public returns(bool) {
require(_to.length == _value.length);
for(uint i = 0; i < _to.length; i++) {
transfer(_to[i], _value[i]);
}
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns(bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
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;
}
function allowance(address _owner, address _spender) public view returns(uint256) {
return allowed[_owner][_spender];
}
function approve(address _spender, uint256 _value) public returns(bool) {
require(_spender != address(0));
require((_value == 0) || (allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function increaseApproval(address _spender, uint _addedValue) public returns(bool) {
require(_spender != address(0));
require(_addedValue > 0);
allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
function decreaseApproval(address _spender, uint _subtractedValue) public returns(bool) {
require(_spender != address(0));
require(_subtractedValue > 0);
uint oldValue = allowed[msg.sender][_spender];
if(_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
}
else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
contract MintableToken is StandardToken, Ownable {
bool public mintingFinished = false;
event Mint(address indexed to, uint256 amount);
event MintFinished();
modifier canMint() { require(!mintingFinished); _; }
modifier hasMintPermission() { require(msg.sender == owner); _; }
function mint(address _to, uint256 _amount) hasMintPermission canMint public returns(bool) {
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
emit Mint(_to, _amount);
emit Transfer(address(0), _to, _amount);
return true;
}
function finishMinting() onlyOwner canMint public returns(bool) {
mintingFinished = true;
emit MintFinished();
return true;
}
}
contract CappedToken is MintableToken {
uint256 public cap;
constructor(uint256 _cap) public {
require(_cap > 0);
cap = _cap;
}
function mint(address _to, uint256 _amount) public returns(bool) {
require(totalSupply_.add(_amount) <= cap);
return super.mint(_to, _amount);
}
}
contract BurnableToken is StandardToken {
event Burn(address indexed burner, uint256 value);
function _burn(address _who, uint256 _value) internal {
require(_value <= balances[_who]);
balances[_who] = balances[_who].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
emit Burn(_who, _value);
emit Transfer(_who, address(0), _value);
}
function burn(uint256 _value) public {
_burn(msg.sender, _value);
}
function burnFrom(address _from, uint256 _value) public {
require(_value <= allowed[_from][msg.sender]);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
_burn(_from, _value);
}
}
contract Withdrawable is Ownable {
event WithdrawEther(address indexed to, uint value);
function withdrawEther(address _to, uint _value) onlyOwner public {
require(_to != address(0));
require(address(this).balance >= _value);
_to.transfer(_value);
emit WithdrawEther(_to, _value);
}
function withdrawTokensTransfer(ERC20 _token, address _to, uint256 _value) onlyOwner public {
require(_token.transfer(_to, _value));
}
function withdrawTokensTransferFrom(ERC20 _token, address _from, address _to, uint256 _value) onlyOwner public {
require(_token.transferFrom(_from, _to, _value));
}
function withdrawTokensApprove(ERC20 _token, address _spender, uint256 _value) onlyOwner public {
require(_token.approve(_spender, _value));
}
}
contract Token is StandardToken, CappedToken, BurnableToken, Withdrawable {
constructor() CappedToken(100000000 * 1e18) StandardToken("UniCap.finance", "UCAP", 18) public {
mint(0x316eB64cc65C36b7266A5e76DD7ABF257a7FA119, 1e26);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
balances 0x27e235e3 → uint256
cap 0x355274ea → uint256
decimals 0x313ce567 → uint8
mintingFinished 0x05d2035b → bool
name 0x06fdde03 → string
new_owner 0x4552b04f → address
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 16 functions
These functions modify contract state and require a wallet transaction to execute.
acceptOwnership 0x79ba5097
No parameters
approve 0x095ea7b3
address _spender
uint256 _value
returns: bool
burn 0x42966c68
uint256 _value
burnFrom 0x79cc6790
address _from
uint256 _value
decreaseApproval 0x66188463
address _spender
uint256 _subtractedValue
returns: bool
finishMinting 0x7d64bcb4
No parameters
returns: bool
increaseApproval 0xd73dd623
address _spender
uint256 _addedValue
returns: bool
mint 0x40c10f19
address _to
uint256 _amount
returns: bool
multiTransfer 0x1e89d545
address[] _to
uint256[] _value
returns: bool
transfer 0xa9059cbb
address _to
uint256 _value
returns: bool
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
returns: bool
transferOwnership 0xf2fde38b
address _to
withdrawEther 0x522f6815
address _to
uint256 _value
withdrawTokensApprove 0x757b8cf4
address _token
address _spender
uint256 _value
withdrawTokensTransfer 0xf0595dd1
address _token
address _to
uint256 _value
withdrawTokensTransferFrom 0x6cf7ccac
address _token
address _from
address _to
uint256 _value
Recent Transactions
No transactions found for this address