Blockwell

Swipe

ERC20

This contract is an ERC20 token.

Name Swipe
Symbol SXP
Decimals 18
Total Supply 299,754,135 SXP

About link description

Swipe is a multi-asset digital wallet application and Visa debit card that enables users buy, sell, and spend various cryptocurrencies. Swipe utilizes the Ethereum blockchain to operate the Swipe Network. Swipe uses a two-layer approach for its users to combine off-chain and on-chain function on its platform which is powered by the Swipe Token (SXP). For off-chain usage, supported cryptocurrencies can be instantly converted to fiat and used on point of sale. When the Swipe Network is activated in the platform, users receive a smart contract wallet which uses SXP directly on-chain to perform its functions. As functions are being called on the Swipe Network, 80% of those SXP fees are automatically burned creating a deflationary supply model. Users may use SXP today in the following ways: • Currency: When users select SXP as a funding source it may be used on the Swipe Visa card to be converted to Euros and spent at millions of merchants. • Staking: To receive the higher tier cards, discounts, and rewards enhancements, users must stake SXP which is locked on-chain. • Fees: If the Swipe Network is activated within the platform, users are able to use SXP towards all fees on the platform such as conversion fee and withdrawal fees

Stats

Public Functions 16
Event Types 7
Code Size 12,490 bytes

Library Use

Uses SafeMath for uint.

Approval Event

Parameters help
tokenOwner
address help
spender
address help
tokens
uint help

Freezed Event

Parameters help

LockUser Event

Parameters help
who
address help

OwnershipTransferred Event

Parameters help
_from
address help
_to
address help

Transfer Event

Parameters help
from
address help
to
address help
tokens
uint help

UnFreezed Event

Parameters help

UnlockUser Event

Parameters help
who
address help

Functions Expand All Collapse All

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function transferOwnership(address newOwner) public onlyOwner {

        owner = newOwner;
        emit OwnershipTransferred(owner, newOwner);

    }

lockUser keyboard_arrow_up

Parameters help

Name Type
who
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function lockUser(address who) public onlyOwner {
        blacklist[who] = true;
        
        emit LockUser(who);
    }

unlockUser keyboard_arrow_up

Parameters help

Name Type
who
address help

Properties

Visibility help public
Mutability help transaction
Source Code
    function unlockUser(address who) public onlyOwner {
        blacklist[who] = false;
        
        emit UnlockUser(who);
    }

freeze keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function freeze() public onlyOwner {
        isLocked = 1;
        
        emit Freezed();
    }

unfreeze keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
    function unfreeze() public onlyOwner {
        isLocked = 0;
        
        emit UnFreezed();
    }

totalSupply keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
    function totalSupply() public view returns (uint) {

        return _totalSupply.sub(balances[address(0)]);

    }

balanceOf keyboard_arrow_up

Parameters help

Name Type
tokenOwner
address help

Properties

Visibility help public
Mutability help view
Source Code
    function balanceOf(address tokenOwner) public view returns (uint balance) {

        return balances[tokenOwner];

    }

allowance keyboard_arrow_up

Parameters help

Name Type
tokenOwner
address help
spender
address help

Properties

Visibility help public
Mutability help view
Source Code
    function allowance(address tokenOwner, address spender) public view returns (uint remaining) {

        return allowed[tokenOwner][spender];

    }

transfer keyboard_arrow_up

Parameters help

Name Type
to
address help
tokens
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function transfer(address to, uint tokens) public validLock permissionCheck returns (bool success) {

        balances[msg.sender] = balances[msg.sender].sub(tokens);

        balances[to] = balances[to].add(tokens);

        emit Transfer(msg.sender, to, tokens);

        return true;

    }

approve keyboard_arrow_up

Parameters help

Name Type
spender
address help
tokens
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function approve(address spender, uint tokens) public validLock permissionCheck returns (bool success) {

        allowed[msg.sender][spender] = tokens;

        emit Approval(msg.sender, spender, tokens);

        return true;

    }

transferFrom keyboard_arrow_up

Parameters help

Name Type
from
address help
to
address help
tokens
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function transferFrom(address from, address to, uint tokens) public validLock permissionCheck returns (bool success) {

        balances[from] = balances[from].sub(tokens);

        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);

        balances[to] = balances[to].add(tokens);

        emit Transfer(from, to, tokens);

        return true;

    }

burn keyboard_arrow_up

Parameters help

Name Type
value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
    function burn(uint256 value) public validLock permissionCheck returns (bool success) {
        require(msg.sender != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        balances[msg.sender] = balances[msg.sender].sub(value);
        emit Transfer(msg.sender, address(0), value);
        return true;
    }

approveAndCall keyboard_arrow_up

Parameters help

Name Type
spender
address help
tokens
uint help
data
bytes help

Properties

Visibility help public
Mutability help transaction
Source Code
    function approveAndCall(address spender, uint tokens, bytes memory data) public validLock permissionCheck returns (bool success) {

        allowed[msg.sender][spender] = tokens;

        emit Approval(msg.sender, spender, tokens);

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);

        return true;

    }

burnForAllowance keyboard_arrow_up

Parameters help

Name Type
account
address help
feeAccount
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
    function burnForAllowance(address account, address feeAccount, uint256 amount) public onlyOwner returns (bool success) {
        require(account != address(0), "burn from the zero address");
        require(balanceOf(account) >= amount, "insufficient balance");

        uint feeAmount = amount.mul(2).div(10);
        uint burnAmount = amount.sub(feeAmount);
        
        _totalSupply = _totalSupply.sub(burnAmount);
        balances[account] = balances[account].sub(amount);
        balances[feeAccount] = balances[feeAccount].add(feeAmount);
        emit Transfer(account, address(0), burnAmount);
        emit Transfer(account, msg.sender, feeAmount);
        return true;
    }

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help payable
Source Code
    function () external payable {

        revert();

    }

transferAnyERC20Token keyboard_arrow_up

Parameters help

Name Type
tokenAddress
address help
tokens
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {

        return ERC20Interface(tokenAddress).transfer(owner, tokens);

    }