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.
Events (7) keyboard_arrow_up
Functions
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public onlyOwner {
owner = newOwner;
emit OwnershipTransferred(owner, newOwner);
}
lockUser keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function lockUser(address who) public onlyOwner {
blacklist[who] = true;
emit LockUser(who);
}
unlockUser keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function unlockUser(address who) public onlyOwner {
blacklist[who] = false;
emit UnlockUser(who);
}
freeze keyboard_arrow_up
unfreeze keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
allowance keyboard_arrow_up
transfer keyboard_arrow_up
Modifiers help
validLock checks for the following:
permissionCheck checks for the following:
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
Modifiers help
validLock checks for the following:
permissionCheck checks for the following:
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
Modifiers help
validLock checks for the following:
permissionCheck checks for the following:
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
Modifiers help
validLock checks for the following:
permissionCheck checks for the following:
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
Modifiers help
validLock checks for the following:
permissionCheck checks for the following:
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
Modifiers help
onlyOwner checks for the following:
Requirements help
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
transferAnyERC20Token keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
return ERC20Interface(tokenAddress).transfer(owner, tokens);
}