SANtiment network token
ERC20
This contract is an ERC20 token.
Name
SANtiment network token
Symbol
SAN
Decimals
18
Total Supply
83,337,000 SAN
About link
Santiment Network Token (SAN) is a cryptocurrency and operates on the Ethereum platform. Santiment Network Token has a current supply of 83,337,000 with 63,293,578.95697954 in circulation. The last known price of Santiment Network Token is 0.22747741 USD and is up 3.26 over the last 24 hours. It is currently trading on 8 active market(s) with $287,453.79 traded over the last 24 hours. More information can be found at https://santiment.net/.
Stats
Public Functions
22
Event Types
4
Code Size
12,464 bytes
Events (4) keyboard_arrow_up
Constants (9) keyboard_arrow_up
State Variables (13) keyboard_arrow_up
Functions
max keyboard_arrow_up
min keyboard_arrow_up
transferOwnership keyboard_arrow_up
acceptOwnership keyboard_arrow_up
transfer keyboard_arrow_up
Source Code
function transfer(address _to, uint256 _value)
isStartedOnly
returns (bool success)
{
if (
balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]
) {
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
} else {
return false;
}
}
transferFrom keyboard_arrow_up
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) isStartedOnly returns (bool success) {
if (
balances[_from] >= _value &&
allowed[_from][msg.sender] >= _value &&
balances[_to] + _value > balances[_to]
) {
balances[_to] += _value;
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
return true;
} else {
return false;
}
}
balanceOf keyboard_arrow_up
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value)
isStartedOnly
returns (bool success)
{
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
allowance keyboard_arrow_up
constructor keyboard_arrow_up
setBeneficiary keyboard_arrow_up
Modifiers help
only checks for the following:
Source Code
function setBeneficiary(address newBeneficiary) external only(owner) {
beneficiary = newBeneficiary;
}
attachSubscriptionModule keyboard_arrow_up
Modifiers help
noAnyReentrancy checks for the following:
only checks for the following:
Source Code
function attachSubscriptionModule(SubscriptionModule subModule)
external
noAnyReentrancy
only(owner)
{
SUBSCRIPTION_MODULE = subModule;
if (address(subModule) > 0) subModule.attachToken(this);
}
setPlatformFeePer10000 keyboard_arrow_up
Modifiers help
only checks for the following:
Source Code
function setPlatformFeePer10000(uint256 newFee) external only(owner) {
require(newFee <= 10000); //formally maximum fee is 100% (completely insane but technically possible)
PLATFORM_FEE_PER_10000 = newFee;
}
startToken keyboard_arrow_up
getRate keyboard_arrow_up
getCode keyboard_arrow_up
_fulfillPreapprovedPayment keyboard_arrow_up
Parameters help
Modifiers help
onlyTrusted checks for the following:
Source Code
function _fulfillPreapprovedPayment(
address _from,
address _to,
uint256 _value,
address msg_sender
) public onlyTrusted returns (bool success) {
success = _from != msg_sender && allowed[_from][msg_sender] >= _value;
if (!success) {
Payment(
_from,
_to,
_value,
_fee(_value),
msg_sender,
PaymentStatus.APPROVAL_ERROR,
0
);
} else {
success = _fulfillPayment(_from, _to, _value, 0, msg_sender);
if (success) {
allowed[_from][msg_sender] -= _value;
}
}
return success;
}
_fulfillPayment keyboard_arrow_up
Parameters help
Modifiers help
onlyTrusted checks for the following:
Source Code
function _fulfillPayment(
address _from,
address _to,
uint256 _value,
uint256 subId,
address msg_sender
) public onlyTrusted returns (bool success) {
var fee = _fee(_value);
assert(fee <= _value); //internal sanity check
if (balances[_from] >= _value && balances[_to] + _value > balances[_to]) {
balances[_from] -= _value;
balances[_to] += _value - fee;
balances[beneficiary] += fee;
Payment(_from, _to, _value, fee, msg_sender, PaymentStatus.OK, subId);
return true;
} else {
Payment(
_from,
_to,
_value,
fee,
msg_sender,
PaymentStatus.BALANCE_ERROR,
subId
);
return false;
}
}
_mintFromDeposit keyboard_arrow_up
Modifiers help
onlyTrusted checks for the following:
Source Code
function _mintFromDeposit(address owner, uint256 amount) public onlyTrusted {
balances[owner] += amount;
totalOnDeposit -= amount;
totalInCirculation += amount;
}
_burnForDeposit keyboard_arrow_up
Modifiers help
onlyTrusted checks for the following:
Source Code
function _burnForDeposit(address owner, uint256 amount)
public
onlyTrusted
returns (bool success)
{
if (balances[owner] >= amount) {
balances[owner] -= amount;
totalOnDeposit += amount;
totalInCirculation -= amount;
return true;
} else {
return false;
}
}
mint keyboard_arrow_up
Modifiers help
onlyCrowdsaleMinter checks for the following:
isNotStartedOnly checks for the following:
Source Code
function mint(uint256 amount, address account)
onlyCrowdsaleMinter
isNotStartedOnly
{
totalSupply += amount;
balances[account] += amount;
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.