Blockwell

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

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint256 help

OwnershipTransferred Event

Parameters help
_from
address help
_to
address help

Payment Event

Parameters help
_from
address help
_to
address help
_value
uint help
_fee
uint help
caller
address help
status
PaymentStatus help
subId
uint help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help

name Constant

string help
SANtiment network token

symbol Constant

string help
SAN

decimals Constant

uint8 help
18

L00 Constant

uint help
UNKNOWN VALUE

L01 Constant

uint help
UNKNOWN VALUE

L02 Constant

uint help
UNKNOWN VALUE

L03 Constant

uint help
UNKNOWN VALUE

L04 Constant

uint help
UNKNOWN VALUE

L05 Constant

uint help
UNKNOWN VALUE

SUBSCRIPTION_MODULE Variable

address help

beneficiary Variable

address help

PLATFORM_FEE_PER_10000 Variable

uint help

totalOnDeposit Variable

uint help

totalInCirculation Variable

uint help

owner Variable

address help

newOwner Variable

address help

totalSupply Variable

uint256 help

isStarted Variable

bool help

CROWDSALE_MINTER Variable

address help
Internal Variable

bitlocks Variable

uint help
Internal Variable

balances Variable

mapping(address => uint256) help
Internal Variable

allowed Variable

mapping(address => mapping(address => uint256)) help
Internal Variable

Functions Expand All Collapse All

Parameters help

Name Type
a
uint help
b
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function max(uint256 a, uint256 b) returns (uint256) {
  return a >= b ? a : b;
}

Parameters help

Name Type
a
uint help
b
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function min(uint256 a, uint256 b) returns (uint256) {
  return a <= b ? a : b;
}

Parameters help

Name Type
_newOwner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferOwnership(address _newOwner) only(owner) {
  newOwner = _newOwner;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function acceptOwnership() only(newOwner) {
  OwnershipTransferred(owner, newOwner);
  owner = newOwner;
}

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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;
  }
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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;
  }
}

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
function balanceOf(address _owner) constant returns (uint256 balance) {
  return balances[_owner];
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function approve(address _spender, uint256 _value)
  isStartedOnly
  returns (bool success)
{
  allowed[msg.sender][_spender] = _value;
  Approval(msg.sender, _spender, _value);
  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant
Source Code
function allowance(address _owner, address _spender)
  constant
  returns (uint256 remaining)
{
  return allowed[_owner][_spender];
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function() {
  throw;
}

Parameters help

Name Type
newBeneficiary
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setBeneficiary(address newBeneficiary) external only(owner) {
  beneficiary = newBeneficiary;
}

Parameters help

Name Type
subModule
SubscriptionModule help

Properties

Visibility help public
Mutability help transaction
Source Code
function attachSubscriptionModule(SubscriptionModule subModule)
  external
  noAnyReentrancy
  only(owner)
{
  SUBSCRIPTION_MODULE = subModule;
  if (address(subModule) > 0) subModule.attachToken(this);
}

Parameters help

Name Type
newFee
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

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;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function startToken() isNotStartedOnly only(owner) {
  totalInCirculation = totalSupply;
  isStarted = true;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function getRate() returns (uint32, uint32) {
  return (1, 1);
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function getCode() public returns (string) {
  return symbol;
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help
msg_sender
address help

Properties

Visibility help public
Mutability help transaction
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;
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help
subId
uint help
msg_sender
address help

Properties

Visibility help public
Mutability help transaction
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;
  }
}

Parameters help

Name Type
owner
address help
amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
function _mintFromDeposit(address owner, uint256 amount) public onlyTrusted {
  balances[owner] += amount;
  totalOnDeposit -= amount;
  totalInCirculation += amount;
}

Parameters help

Name Type
owner
address help
amount
uint help

Properties

Visibility help public
Mutability help transaction
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;
  }
}

Parameters help

Name Type
amount
uint help
account
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function mint(uint256 amount, address account)
  onlyCrowdsaleMinter
  isNotStartedOnly
{
  totalSupply += amount;
  balances[account] += amount;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function start() onlyCrowdsaleMinter isNotStartedOnly {
  totalInCirculation = totalSupply;
  isStarted = true;
}

Internal Functions Expand All Collapse All

Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.

internal SAN._fee keyboard_arrow_up

Parameters help

Name Type
_value
uint help

Properties

Visibility help internal
Mutability help constant
Source Code
function _fee(uint256 _value) internal constant returns (uint256 fee) {
  return (_value * PLATFORM_FEE_PER_10000) / 10000;
}

internal Base.isContract keyboard_arrow_up

Parameters help

Name Type
_addr
address help

Properties

Visibility help internal
Mutability help constant
Source Code
function isContract(address _addr) internal constant returns (bool) {
  if (_addr == 0) return false;
  uint256 size;
  assembly {
    size := extcodesize(_addr)
  }
  return (size > 0);
}

internal Base.isContract keyboard_arrow_up

Parameters help

Name Type
_addr
address help

Properties

Visibility help internal
Mutability help constant
Source Code
function isContract(address _addr) internal constant returns (bool) {
  if (_addr == 0) return false;
  uint256 size;
  assembly {
    size := extcodesize(_addr)
  }
  return (size > 0);
}