FirstBlood Token
ERC20
This contract is an ERC20 token.
Name
FirstBlood Token
Symbol
1ST
Decimals
18
Total Supply
93,468,684 1ST
About
link
FirstBlood (1ST) is a cryptocurrency token and operates on the Ethereum platform. FirstBlood has a current supply of 93,468,691 with 85,558,370.5 in circulation. The last known price of FirstBlood is $0.098281 USD and is up 30.49% over the last 24 hours. It is currently trading on 4 active market(s) with $2,703.63 traded over the last 24 hours. More information can be found at https://firstblood.io/.
Stats
Public Functions
16
Event Types
6
Code Size
14,189 bytes
Events (6) keyboard_arrow_up
Functions
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
One or more of the following:
-
founder
must be equal to
the sender's address
- OR
block.number
must be greater than
endBlock + transferLockup
Source Code
function transfer(address _to, uint256 _value) returns (bool success) {
if (block.number <= endBlock + transferLockup && msg.sender!=founder) throw;
return super.transfer(_to, _value);
}
transferFrom keyboard_arrow_up
Requirements help
One or more of the following:
-
founder
must be equal to
the sender's address
- OR
block.number
must be greater than
endBlock + transferLockup
Source Code
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
if (block.number <= endBlock + transferLockup && msg.sender!=founder) throw;
return super.transferFrom(_from, _to, _value);
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value) returns (bool success) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
allowance keyboard_arrow_up
price keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function price() constant returns(uint) {
if (block.number>=startBlock && block.number<startBlock+250) return 170; //power hour
if (block.number<startBlock || block.number>endBlock) return 100; //default price
return 100 + 4*(endBlock - block.number)/(endBlock - startBlock + 1)*67/4; //crowdsale price
}
testPrice keyboard_arrow_up
Source Code
function testPrice(uint blockNumber) constant returns(uint) {
if (blockNumber>=startBlock && blockNumber<startBlock+250) return 170; //power hour
if (blockNumber<startBlock || blockNumber>endBlock) return 100; //default price
return 100 + 4*(endBlock - blockNumber)/(endBlock - startBlock + 1)*67/4; //crowdsale price
}
buy keyboard_arrow_up
Requirements help
etherCap
must be greater than or equal to
the result of calling safeAdd with presaleEtherRaised, msg.value
Source Code
function buy(uint8 v, bytes32 r, bytes32 s) {
buyRecipient(msg.sender, v, r, s);
}
buyRecipient keyboard_arrow_up
Requirements help
etherCap
must be greater than or equal to
the result of calling safeAdd with presaleEtherRaised, msg.value
Source Code
function buyRecipient(address recipient, uint8 v, bytes32 r, bytes32 s) {
bytes32 hash = sha256(msg.sender);
if (ecrecover(hash,v,r,s) != signer) throw;
if (block.number<startBlock || block.number>endBlock || safeAdd(presaleEtherRaised,msg.value)>etherCap || halted) throw;
uint tokens = safeMul(msg.value, price());
balances[recipient] = safeAdd(balances[recipient], tokens);
totalSupply = safeAdd(totalSupply, tokens);
presaleEtherRaised = safeAdd(presaleEtherRaised, msg.value);
if (!founder.call.value(msg.value)()) throw; //immediately send Ether to founder address
Buy(recipient, msg.value, tokens);
}
allocateFounderTokens keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function allocateFounderTokens() {
if (msg.sender!=founder) throw;
if (block.number <= endBlock + founderLockup) throw;
if (founderAllocated) throw;
if (!bountyAllocated || !ecosystemAllocated) throw;
balances[founder] = safeAdd(balances[founder], presaleTokenSupply * founderAllocation / (1 ether));
totalSupply = safeAdd(totalSupply, presaleTokenSupply * founderAllocation / (1 ether));
founderAllocated = true;
AllocateFounderTokens(msg.sender);
}
allocateBountyAndEcosystemTokens keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function allocateBountyAndEcosystemTokens() {
if (msg.sender!=founder) throw;
if (block.number <= endBlock) throw;
if (bountyAllocated || ecosystemAllocated) throw;
presaleTokenSupply = totalSupply;
balances[founder] = safeAdd(balances[founder], presaleTokenSupply * ecosystemAllocation / (1 ether));
totalSupply = safeAdd(totalSupply, presaleTokenSupply * ecosystemAllocation / (1 ether));
balances[founder] = safeAdd(balances[founder], bountyAllocation);
totalSupply = safeAdd(totalSupply, bountyAllocation);
bountyAllocated = true;
ecosystemAllocated = true;
AllocateBountyAndEcosystemTokens(msg.sender);
}