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 is a financial market data and content platform for the cryptoasset and blockchain space. Santiment offers datafeeds and content streams (including newswires) alongside a regularly updated database of cryptocurrency projects. The Santiment Network Token Prototype (SAN) is reportedly a coupon issued in Switzerland according to FINMA regulation. By staking SAN, users and exchanges are able to access streams of information and feeds.

Stats

Public Functions 22
Event Types 4
Code Size 12,464 bytes

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

Functions Expand All Collapse All

max keyboard_arrow_up

Parameters help

Name Type
a
uint help
b
uint help

Properties

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

min keyboard_arrow_up

Parameters help

Name Type
a
uint help
b
uint help

Properties

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

transferOwnership keyboard_arrow_up

Parameters help

Name Type
_newOwner
address help

Properties

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

acceptOwnership keyboard_arrow_up

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

transfer keyboard_arrow_up

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

transferFrom keyboard_arrow_up

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

balanceOf keyboard_arrow_up

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

approve keyboard_arrow_up

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

allowance keyboard_arrow_up

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

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

setBeneficiary keyboard_arrow_up

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

attachSubscriptionModule keyboard_arrow_up

Parameters help

Name Type
subModule
SubscriptionModule help

Properties

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

setPlatformFeePer10000 keyboard_arrow_up

Parameters help

Name Type
newFee
uint help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function setPlatformFeePer10000(uint 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

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

getRate keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

getCode keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

_fulfillPreapprovedPayment keyboard_arrow_up

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, uint _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

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, uint _value, uint 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

Parameters help

Name Type
owner
address help
amount
uint help

Properties

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

_burnForDeposit keyboard_arrow_up

Parameters help

Name Type
owner
address help
amount
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function _burnForDeposit(address owner, uint 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

Parameters help

Name Type
amount
uint help
account
address help

Properties

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

start keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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