Address Contract Partially Verified
Address
0xa7DE087329BFcda5639247F96140f9DAbe3DeED1
Balance
0 ETH
Nonce
1
Code Size
3216 bytes
Creator
0x43189898...9c65 at tx 0xdad0f559...759c3b
Last Active
Indexed Transactions
582 (10,632,635 → 24,322,281)
Gas Used (indexed)
473,756
Contract Bytecode
3216 bytes
0x6080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df57806309260db714610169578063095ea7b3146101a557806318160ddd146101f257806323b872dd14610207578063313ce5671461024a57806333393efa1461027557806370a08231146102b057806395d89b41146102e35780639d118770146102f8578063a9059cbb14610322578063c5ac0ded1461035b578063dd62ed3e14610370578063df401a96146103ab578063e5981a42146103e4575b600080fd5b3480156100eb57600080fd5b506100f461041d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b506101936004803603602081101561018c57600080fd5b50356104b3565b60408051918252519081900360200190f35b3480156101b157600080fd5b506101de600480360360408110156101c857600080fd5b50600160a060020a0381351690602001356104fe565b604080519115158252519081900360200190f35b3480156101fe57600080fd5b5061019361057d565b34801561021357600080fd5b506101de6004803603606081101561022a57600080fd5b50600160a060020a03813581169160208101359091169060400135610583565b34801561025657600080fd5b5061025f610768565b6040805160ff9092168252519081900360200190f35b34801561028157600080fd5b506102ae6004803603604081101561029857600080fd5b50600160a060020a038135169060200135610771565b005b3480156102bc57600080fd5b50610193600480360360208110156102d357600080fd5b5035600160a060020a0316610807565b3480156102ef57600080fd5b506100f4610822565b34801561030457600080fd5b506102ae6004803603602081101561031b57600080fd5b5035610882565b34801561032e57600080fd5b506101de6004803603604081101561034557600080fd5b50600160a060020a03813516906020013561088f565b34801561036757600080fd5b506101936109c2565b34801561037c57600080fd5b506101936004803603604081101561039357600080fd5b50600160a060020a03813581169160200135166109c8565b3480156103b757600080fd5b506101de600480360360408110156103ce57600080fd5b50600160a060020a0381351690602001356109f3565b3480156103f057600080fd5b506101de6004803603604081101561040757600080fd5b50600160a060020a038135169060200135610aa3565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104cb60065484610aee90919063ffffffff16565b905060006104f66127106104ea60065485610b2890919063ffffffff16565b9063ffffffff610b5716565b949350505050565b6000600160a060020a038316151561051557600080fd5b336000818152600460209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60055490565b600160a060020a0383166000908152600360205260408120548211156105a857600080fd5b600160a060020a03841660009081526004602090815260408083203384529091529020548211156105d857600080fd5b600160a060020a03831615156105ed57600080fd5b600160a060020a038416600090815260036020526040902054610616908363ffffffff610b6e16565b600160a060020a03851660009081526003602052604081209190915561063b836104b3565b9050600061064f848363ffffffff610b6e16565b600160a060020a03861660009081526003602052604090205490915061067b908263ffffffff610b8016565b600160a060020a0386166000908152600360205260409020556005546106a7908363ffffffff610b6e16565b600555600160a060020a03861660009081526004602090815260408083203384529091529020546106de908563ffffffff610b6e16565b600160a060020a0380881660008181526004602090815260408083203384528252918290209490945580518581529051928916939192600080516020610c45833981519152929181900390910190a3604080518381529051600091600160a060020a03891691600080516020610c458339815191529181900360200190a350600195945050505050565b60025460ff1690565b600160a060020a03821660009081526004602090815260408083203384529091529020548111156107a157600080fd5b600160a060020a03821660009081526004602090815260408083203384529091529020546107d5908263ffffffff610b6e16565b600160a060020a03831660009081526004602090815260408083203384529091529020556108038282610b8f565b5050565b600160a060020a031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a95780601f1061047e576101008083540402835291602001916104a9565b61088c3382610b8f565b50565b336000908152600360205260408120548211156108ab57600080fd5b600160a060020a03831615156108c057600080fd5b60006108cb836104b3565b905060006108df848363ffffffff610b6e16565b33600090815260036020526040902054909150610902908563ffffffff610b6e16565b3360009081526003602052604080822092909255600160a060020a03871681522054610934908263ffffffff610b8016565b600160a060020a038616600090815260036020526040902055600554610960908363ffffffff610b6e16565b600555604080518281529051600160a060020a038716913391600080516020610c458339815191529181900360200190a36040805183815290516000913391600080516020610c458339815191529181900360200190a3506001949350505050565b60065481565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b6000600160a060020a0383161515610a0a57600080fd5b336000908152600460209081526040808320600160a060020a0387168452909152902054610a3e908363ffffffff610b6e16565b336000818152600460209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a0383161515610aba57600080fd5b336000908152600460209081526040808320600160a060020a0387168452909152902054610a3e908363ffffffff610b8016565b600080610afb8484610b80565b90506000610b0a826001610b6e565b9050610b1f610b198286610b57565b85610b28565b95945050505050565b6000821515610b3957506000610577565b828202828482811515610b4857fe5b0414610b5057fe5b9392505050565b6000808284811515610b6557fe5b04949350505050565b600082821115610b7a57fe5b50900390565b600082820183811015610b5057fe5b801515610b9b57600080fd5b600160a060020a038216600090815260036020526040902054811115610bc057600080fd5b600554610bd3908263ffffffff610b6e16565b600555600160a060020a038216600090815260036020526040902054610bff908263ffffffff610b6e16565b600160a060020a038316600081815260036020908152604080832094909455835185815293519193600080516020610c45833981519152929081900390910190a3505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c21e285495e5f930f2fbb6e2214beca6d388d59bd79cf8e6750aa11e6f1edecf0029
Verified Source Code Partial Match
Compiler: v0.5.0+commit.1d4f565a
EVM: byzantium
Optimization: Yes (200 runs)
Statera.sol 194 lines
/*
* statera.sol
* STA V3 deflationary index token smart contract
* 2020-05-29
**/
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
uint256 c = add(a,m);
uint256 d = sub(c,1);
return mul(div(d,m),m);
}
}
contract ERC20Detailed is IERC20 {
string private _name;
string private _symbol;
uint8 private _decimals;
constructor(string memory name, string memory symbol, uint8 decimals) public {
_name = name;
_symbol = symbol;
_decimals = decimals;
}
function name() public view returns(string memory) {
return _name;
}
function symbol() public view returns(string memory) {
return _symbol;
}
function decimals() public view returns(uint8) {
return _decimals;
}
}
contract Statera is ERC20Detailed {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowed;
string constant tokenName = "Statera";
string constant tokenSymbol = "STA";
uint8 constant tokenDecimals = 18;
uint256 _totalSupply = 101000000000000000000000000;
uint256 public basePercent = 100;
constructor() public payable ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) {
_issue(msg.sender, _totalSupply);
}
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
function balanceOf(address owner) public view returns (uint256) {
return _balances[owner];
}
function allowance(address owner, address spender) public view returns (uint256) {
return _allowed[owner][spender];
}
function cut(uint256 value) public view returns (uint256) {
uint256 roundValue = value.ceil(basePercent);
uint256 cutValue = roundValue.mul(basePercent).div(10000);
return cutValue;
}
function transfer(address to, uint256 value) public returns (bool) {
require(value <= _balances[msg.sender]);
require(to != address(0));
uint256 tokensToBurn = cut(value);
uint256 tokensToTransfer = value.sub(tokensToBurn);
_balances[msg.sender] = _balances[msg.sender].sub(value);
_balances[to] = _balances[to].add(tokensToTransfer);
_totalSupply = _totalSupply.sub(tokensToBurn);
emit Transfer(msg.sender, to, tokensToTransfer);
emit Transfer(msg.sender, address(0), tokensToBurn);
return true;
}
function approve(address spender, uint256 value) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value) public returns (bool) {
require(value <= _balances[from]);
require(value <= _allowed[from][msg.sender]);
require(to != address(0));
_balances[from] = _balances[from].sub(value);
uint256 tokensToBurn = cut(value);
uint256 tokensToTransfer = value.sub(tokensToBurn);
_balances[to] = _balances[to].add(tokensToTransfer);
_totalSupply = _totalSupply.sub(tokensToBurn);
_allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
emit Transfer(from, to, tokensToTransfer);
emit Transfer(from, address(0), tokensToBurn);
return true;
}
function upAllowance(address spender, uint256 addedValue) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue));
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
function downAllowance(address spender, uint256 subtractedValue) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
function _issue(address account, uint256 amount) internal {
require(amount != 0);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
function destroy(uint256 amount) external {
_destroy(msg.sender, amount);
}
function _destroy(address account, uint256 amount) internal {
require(amount != 0);
require(amount <= _balances[account]);
_totalSupply = _totalSupply.sub(amount);
_balances[account] = _balances[account].sub(amount);
emit Transfer(account, address(0), amount);
}
function destroyFrom(address account, uint256 amount) external {
require(amount <= _allowed[account][msg.sender]);
_allowed[account][msg.sender] = _allowed[account][msg.sender].sub(amount);
_destroy(account, amount);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
basePercent 0xc5ac0ded → uint256
cut 0x09260db7 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 value
returns: bool
destroy 0x9d118770
uint256 amount
destroyFrom 0x33393efa
address account
uint256 amount
downAllowance 0xdf401a96
address spender
uint256 subtractedValue
returns: bool
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool
upAllowance 0xe5981a42
address spender
uint256 addedValue
returns: bool
Top Interactions
| Address | Txns | Sent | Received |
|---|---|---|---|
| 0xFC9C4551...0b35 | 2 | 2 | |
| 0x00f1b458...25E6 | 1 | 1 | |
| 0x9c1f5336...71d5 | 1 | 1 | |
| 0xdcae5886...924f | 1 | 1 | |
| 0xfC9E52db...da5a | 1 | 1 | |
| 0xC6F0e5BE...0B7e | 1 | 1 | |
| 0xeCD1ED4e...C3F3 | 1 | 1 | |
| 0x5581a71e...Fb5A | 1 | 1 |
Token Balances (5)
View Transfers →Recent Transactions
|
| Hash | Block | Age | From/To | Value | |
|---|---|---|---|---|---|
| 0x09473fc4...7cfe22 | 24,322,281 | IN | 0xeCD1ED4e...C3F3 | 0 ETH | |
| 0x836c1402...568060 | 10,632,964 | IN | 0x9c1f5336...71d5 | 0 ETH | |
| 0x2dd77a3e...66f35d | 10,632,866 | IN | 0xFC9C4551...0b35 | 0 ETH | |
| 0xe59d1fc3...c91f65 | 10,632,834 | IN | 0x5581a71e...Fb5A | 0 ETH | |
| 0x1fff8826...6ba5d7 | 10,632,721 | IN | 0xFC9C4551...0b35 | 0 ETH | |
| 0x83f3b3f7...0474a6 | 10,632,678 | IN | 0xdcae5886...924f | 0 ETH | |
| 0x247e789e...c92fb3 | 10,632,654 | IN | 0x00f1b458...25E6 | 0 ETH | |
| 0x870f2d2c...299b68 | 10,632,654 | IN | 0xD540fC0A...Ee51 | 0 ETH | |
| 0x303ac441...5002d4 | 10,632,647 | IN | 0xfC9E52db...da5a | 0 ETH | |
| 0xa132b2b2...5f71f1 | 10,632,635 | IN | 0xC6F0e5BE...0B7e | 0 ETH |