Jibrel Network Token
ERC20
This contract is an ERC20 token.
Name
Jibrel Network Token
Symbol
JNT
Decimals
18
Total Supply
200,000,000 JNT
About
Stats
Public Functions
41
Event Types
17
Code Size
25,860 bytes
Events (17) keyboard_arrow_up
State Variables (12) keyboard_arrow_up
Functions
name keyboard_arrow_up
symbol keyboard_arrow_up
decimals keyboard_arrow_up
getNameHash keyboard_arrow_up
getSymbolHash keyboard_arrow_up
setName keyboard_arrow_up
Modifiers help
whenContractPaused checks for the following:
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
Requirements help
Source Code
function setName(string _name)
external
whenContractPaused
onlyAllowedManager("set_crydr_name")
{
require(bytes(_name).length > 0);
tokenName = _name;
}
setSymbol keyboard_arrow_up
Modifiers help
whenContractPaused checks for the following:
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
Requirements help
Source Code
function setSymbol(string _symbol)
external
whenContractPaused
onlyAllowedManager("set_crydr_symbol")
{
require(bytes(_symbol).length > 0);
tokenSymbol = _symbol;
}
setDecimals keyboard_arrow_up
Modifiers help
whenContractPaused checks for the following:
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
Source Code
function setDecimals(uint8 _decimals)
external
whenContractPaused
onlyAllowedManager("set_crydr_decimals")
{
tokenDecimals = _decimals;
}
pauseContract keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
whenContractNotPaused checks for the following:
Source Code
function pauseContract()
public
onlyAllowedManager("pause_contract")
whenContractNotPaused
{
paused = true;
PauseEvent();
}
unpauseContract keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
whenContractPaused checks for the following:
Source Code
function unpauseContract()
public
onlyAllowedManager("unpause_contract")
whenContractPaused
{
paused = false;
UnpauseEvent();
}
getPaused keyboard_arrow_up
isManagerAllowed keyboard_arrow_up
Modifiers help
onlyValidManagerAddress checks for the following:
onlyValidPermissionName checks for the following:
Source Code
function isManagerAllowed(address _manager, string _permissionName)
public
constant
onlyValidManagerAddress(_manager)
onlyValidPermissionName(_permissionName)
returns (bool)
{
return (managerEnabled[_manager] &&
managerPermissions[_manager][_permissionName]);
}
emitMintEvent keyboard_arrow_up
Requirements help
Source Code
function emitMintEvent(address _owner, uint256 _value) external {
require(msg.sender == getCrydrController());
MintEvent(_owner, _value);
}
emitBurnEvent keyboard_arrow_up
Requirements help
Source Code
function emitBurnEvent(address _owner, uint256 _value) external {
require(msg.sender == getCrydrController());
BurnEvent(_owner, _value);
}
setCrydrController keyboard_arrow_up
Modifiers help
onlyContractAddress checks for the following:
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
whenContractPaused checks for the following:
Requirements help
Source Code
function setCrydrController(address _crydrController)
external
onlyContractAddress(_crydrController)
onlyAllowedManager("set_crydr_controller")
whenContractPaused
{
require(crydrController != _crydrController);
crydrController = _crydrController;
CrydrControllerChangedEvent(_crydrController);
}
getCrydrController keyboard_arrow_up
getCrydrViewStandardName keyboard_arrow_up
getCrydrViewStandardNameHash keyboard_arrow_up
emitTransferEvent keyboard_arrow_up
Requirements help
Source Code
function emitTransferEvent(
address _from,
address _to,
uint256 _value
) external {
require(msg.sender == getCrydrController());
Transfer(_from, _to, _value);
}
emitApprovalEvent keyboard_arrow_up
Requirements help
Source Code
function emitApprovalEvent(
address _owner,
address _spender,
uint256 _value
) external {
require(msg.sender == getCrydrController());
Approval(_owner, _spender, _value);
}
transfer keyboard_arrow_up
Modifiers help
whenContractNotPaused checks for the following:
onlyPayloadSize checks for the following:
Source Code
function transfer(address _to, uint256 _value)
external
whenContractNotPaused
onlyPayloadSize(2 * 32)
returns (bool)
{
CrydrControllerERC20Interface(getCrydrController()).transfer(
msg.sender,
_to,
_value
);
return true;
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function balanceOf(address _owner)
external
constant
onlyPayloadSize(1 * 32)
returns (uint256)
{
return CrydrControllerERC20Interface(getCrydrController()).getBalance(_owner);
}
approve keyboard_arrow_up
Modifiers help
whenContractNotPaused checks for the following:
onlyPayloadSize checks for the following:
Source Code
function approve(address _spender, uint256 _value)
external
whenContractNotPaused
onlyPayloadSize(2 * 32)
returns (bool)
{
CrydrControllerERC20Interface(getCrydrController()).approve(
msg.sender,
_spender,
_value
);
return true;
}
transferFrom keyboard_arrow_up
Modifiers help
whenContractNotPaused checks for the following:
onlyPayloadSize checks for the following:
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) external whenContractNotPaused onlyPayloadSize(3 * 32) returns (bool) {
CrydrControllerERC20Interface(getCrydrController()).transferFrom(
msg.sender,
_from,
_to,
_value
);
return true;
}
allowance keyboard_arrow_up
Modifiers help
onlyPayloadSize checks for the following:
Source Code
function allowance(address _owner, address _spender)
external
constant
onlyPayloadSize(2 * 32)
returns (uint256)
{
return
CrydrControllerERC20Interface(getCrydrController()).getAllowance(
_owner,
_spender
);
}
getAssetID keyboard_arrow_up
getAssetIDHash keyboard_arrow_up
executeCall keyboard_arrow_up
Parameters help
Modifiers help
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
Requirements help
Source Code
function executeCall(
address _target,
uint256 _suppliedGas,
uint256 _ethValue,
bytes _transactionBytecode
) external onlyAllowedManager("execute_call") {
require(underExecution == false);
underExecution = true; // Avoid recursive calling
_target.call.gas(_suppliedGas).value(_ethValue)(_transactionBytecode);
underExecution = false;
CallExecutedEvent(
_target,
_suppliedGas,
_ethValue,
keccak256(_transactionBytecode)
);
}
executeDelegatecall keyboard_arrow_up
Parameters help
Modifiers help
onlyAllowedManager checks for the following:
the result of calling isManagerAllowed with the sender's address, "set_crydr_name"
must be equal to
true
Requirements help
Source Code
function executeDelegatecall(
address _target,
uint256 _suppliedGas,
bytes _transactionBytecode
) external onlyAllowedManager("execute_delegatecall") {
require(underExecution == false);
underExecution = true; // Avoid recursive calling
_target.delegatecall.gas(_suppliedGas)(_transactionBytecode);
underExecution = false;
DelegatecallExecutedEvent(
_target,
_suppliedGas,
keccak256(_transactionBytecode)
);
}
getOwner keyboard_arrow_up
enableManager keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
onlyValidManagerAddress checks for the following:
Requirements help
Source Code
function enableManager(address _manager)
external
onlyOwner
onlyValidManagerAddress(_manager)
{
require(managerEnabled[_manager] == false);
managerEnabled[_manager] = true;
ManagerEnabledEvent(_manager);
}
disableManager keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
onlyValidManagerAddress checks for the following:
Requirements help
Source Code
function disableManager(address _manager)
external
onlyOwner
onlyValidManagerAddress(_manager)
{
require(managerEnabled[_manager] == true);
managerEnabled[_manager] = false;
ManagerDisabledEvent(_manager);
}
grantManagerPermission keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
onlyValidManagerAddress checks for the following:
onlyValidPermissionName checks for the following:
Requirements help
Source Code
function grantManagerPermission(address _manager, string _permissionName)
external
onlyOwner
onlyValidManagerAddress(_manager)
onlyValidPermissionName(_permissionName)
{
require(managerPermissions[_manager][_permissionName] == false);
managerPermissions[_manager][_permissionName] = true;
ManagerPermissionGrantedEvent(_manager, _permissionName);
}
revokeManagerPermission keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
onlyValidManagerAddress checks for the following:
onlyValidPermissionName checks for the following:
Requirements help
Source Code
function revokeManagerPermission(address _manager, string _permissionName)
external
onlyOwner
onlyValidManagerAddress(_manager)
onlyValidPermissionName(_permissionName)
{
require(managerPermissions[_manager][_permissionName] == true);
managerPermissions[_manager][_permissionName] = false;
ManagerPermissionRevokedEvent(_manager, _permissionName);
}
isManagerEnabled keyboard_arrow_up
Modifiers help
onlyValidManagerAddress checks for the following:
Source Code
function isManagerEnabled(address _manager)
public
constant
onlyValidManagerAddress(_manager)
returns (bool)
{
return managerEnabled[_manager];
}
isPermissionGranted keyboard_arrow_up
Modifiers help
onlyValidManagerAddress checks for the following:
onlyValidPermissionName checks for the following:
Source Code
function isPermissionGranted(address _manager, string _permissionName)
public
constant
onlyValidManagerAddress(_manager)
onlyValidPermissionName(_permissionName)
returns (bool)
{
return managerPermissions[_manager][_permissionName];
}
createOwnershipOffer keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
Source Code
function createOwnershipOffer(address _proposedOwner) external onlyOwner {
require(proposedOwner == address(0x0));
require(_proposedOwner != address(0x0));
require(_proposedOwner != address(this));
proposedOwner = _proposedOwner;
OwnershipOfferCreatedEvent(owner, _proposedOwner);
}
acceptOwnershipOffer keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function acceptOwnershipOffer() external {
require(proposedOwner != address(0x0));
require(msg.sender == proposedOwner);
address _oldOwner = owner;
owner = proposedOwner;
proposedOwner = address(0x0);
OwnerAssignedEvent(owner);
OwnershipOfferAcceptedEvent(_oldOwner, owner);
}
cancelOwnershipOffer keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
One or more of the following:
-
proposedOwner
must be equal to
the sender's address
- OR
owner
must be equal to
the sender's address
Source Code
function cancelOwnershipOffer() external {
require(proposedOwner != address(0x0));
require(msg.sender == owner || msg.sender == proposedOwner);
address _oldProposedOwner = proposedOwner;
proposedOwner = address(0x0);
OwnershipOfferCancelledEvent(owner, _oldProposedOwner);
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.
internal CommonModifiers.isContract keyboard_arrow_up
Requirements help
Source Code
function isContract(address _targetAddress) internal constant returns (bool) {
require(_targetAddress != address(0x0));
uint256 length;
assembly {
//retrieve the size of the code on target address, this needs assembly
length := extcodesize(_targetAddress)
}
return (length > 0);
}