Blockwell

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

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

BurnEvent Event

Parameters help
owner
address help
value
uint256 help

CallExecutedEvent Event

Parameters help
target
address help
suppliedGas
uint256 help
ethValue
uint256 help
transactionBytecodeHash
bytes32 help

CrydrControllerChangedEvent Event

Parameters help
crydrcontroller
address help

DelegatecallExecutedEvent Event

Parameters help
target
address help
suppliedGas
uint256 help
transactionBytecodeHash
bytes32 help

ManagerDisabledEvent Event

Parameters help
manager
address help

ManagerEnabledEvent Event

Parameters help
manager
address help

ManagerPermissionGrantedEvent Event

Parameters help
manager
address help
permission
string help

ManagerPermissionRevokedEvent Event

Parameters help
manager
address help
permission
string help

MintEvent Event

Parameters help
owner
address help
value
uint256 help

OwnerAssignedEvent Event

Parameters help
newowner
address help

OwnershipOfferAcceptedEvent Event

Parameters help
currentowner
address help
proposedowner
address help

OwnershipOfferCancelledEvent Event

Parameters help
currentowner
address help
proposedowner
address help

OwnershipOfferCreatedEvent Event

Parameters help
currentowner
address help
proposedowner
address help

PauseEvent Event

Parameters help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

UnpauseEvent Event

Parameters help

assetID Variable

string help
Internal Variable

owner Variable

address help
Internal Variable

proposedOwner Variable

address help
Internal Variable

managerEnabled Variable

mapping(address => bool) help
Internal Variable

managerPermissions Variable

mapping(address => mapping(string => bool)) help
Internal Variable

paused Variable

bool help
Internal Variable

underExecution Variable

bool help
Internal Variable

crydrController Variable

address help
Internal Variable

crydrViewStandardName Variable

string help
Internal Variable

tokenName Variable

string help
Internal Variable

tokenSymbol Variable

string help
Internal Variable

tokenDecimals Variable

uint8 help
Internal Variable

Functions Expand All Collapse All

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function name() external constant returns (string) {
  return tokenName;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function symbol() external constant returns (string) {
  return tokenSymbol;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function decimals() external constant returns (uint8) {
  return tokenDecimals;
}

getNameHash keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getNameHash() external constant returns (bytes32) {
  return keccak256(tokenName);
}

getSymbolHash keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getSymbolHash() external constant returns (bytes32) {
  return keccak256(tokenSymbol);
}

setName keyboard_arrow_up

Parameters help

Name Type
_name
string help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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

Parameters help

Name Type
_symbol
string help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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

Parameters help

Name Type
_decimals
uint8 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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.

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function pauseContract()
  public
  onlyAllowedManager("pause_contract")
  whenContractNotPaused
{
  paused = true;
  PauseEvent();
}

unpauseContract keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Modifiers help

Source Code
function unpauseContract()
  public
  onlyAllowedManager("unpause_contract")
  whenContractPaused
{
  paused = false;
  UnpauseEvent();
}

getPaused keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getPaused() public constant returns (bool) {
  return paused;
}

isManagerAllowed keyboard_arrow_up

Parameters help

Name Type
_manager
address help
_permissionName
string help

Properties

Visibility help public
Mutability help constant

Modifiers help

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

Parameters help

Name Type
_owner
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function emitMintEvent(address _owner, uint256 _value) external {
  require(msg.sender == getCrydrController());

  MintEvent(_owner, _value);
}

emitBurnEvent keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function emitBurnEvent(address _owner, uint256 _value) external {
  require(msg.sender == getCrydrController());

  BurnEvent(_owner, _value);
}

setCrydrController keyboard_arrow_up

Parameters help

Name Type
_crydrController
address help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getCrydrController() public constant returns (address) {
  return crydrController;
}

getCrydrViewStandardName keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getCrydrViewStandardName() public constant returns (string) {
  return crydrViewStandardName;
}

getCrydrViewStandardNameHash keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getCrydrViewStandardNameHash() public constant returns (bytes32) {
  return keccak256(crydrViewStandardName);
}

emitTransferEvent keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

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

Parameters help

Name Type
_owner
address help
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function emitApprovalEvent(
  address _owner,
  address _spender,
  uint256 _value
) external {
  require(msg.sender == getCrydrController());

  Approval(_owner, _spender, _value);
}

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)
  external
  whenContractNotPaused
  onlyPayloadSize(2 * 32)
  returns (bool)
{
  CrydrControllerERC20Interface(getCrydrController()).transfer(
    msg.sender,
    _to,
    _value
  );
  return true;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function totalSupply() external constant returns (uint256) {
  return CrydrControllerERC20Interface(getCrydrController()).getTotalSupply();
}

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant

Modifiers help

Source Code
function balanceOf(address _owner)
  external
  constant
  onlyPayloadSize(1 * 32)
  returns (uint256)
{
  return CrydrControllerERC20Interface(getCrydrController()).getBalance(_owner);
}

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)
  external
  whenContractNotPaused
  onlyPayloadSize(2 * 32)
  returns (bool)
{
  CrydrControllerERC20Interface(getCrydrController()).approve(
    msg.sender,
    _spender,
    _value
  );
  return true;
}

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
) external whenContractNotPaused onlyPayloadSize(3 * 32) returns (bool) {
  CrydrControllerERC20Interface(getCrydrController()).transferFrom(
    msg.sender,
    _from,
    _to,
    _value
  );
  return true;
}

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help constant

Modifiers help

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

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getAssetID() public constant returns (string) {
  return assetID;
}

getAssetIDHash keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getAssetIDHash() public constant returns (bytes32) {
  return keccak256(assetID);
}

executeCall keyboard_arrow_up

Parameters help

Name Type
_target
address help
_suppliedGas
uint256 help
_ethValue
uint256 help
_transactionBytecode
bytes help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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

Name Type
_target
address help
_suppliedGas
uint256 help
_transactionBytecode
bytes help

Properties

Visibility help public
Mutability help transaction

Modifiers help

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

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getOwner() public constant returns (address) {
  return owner;
}

enableManager keyboard_arrow_up

Parameters help

Name Type
_manager
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function enableManager(address _manager)
  external
  onlyOwner
  onlyValidManagerAddress(_manager)
{
  require(managerEnabled[_manager] == false);

  managerEnabled[_manager] = true;
  ManagerEnabledEvent(_manager);
}

disableManager keyboard_arrow_up

Parameters help

Name Type
_manager
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function disableManager(address _manager)
  external
  onlyOwner
  onlyValidManagerAddress(_manager)
{
  require(managerEnabled[_manager] == true);

  managerEnabled[_manager] = false;
  ManagerDisabledEvent(_manager);
}

grantManagerPermission keyboard_arrow_up

Parameters help

Name Type
_manager
address help
_permissionName
string help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

Name Type
_manager
address help
_permissionName
string help

Properties

Visibility help public
Mutability help transaction
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

Parameters help

Name Type
_manager
address help

Properties

Visibility help public
Mutability help constant

Modifiers help

Source Code
function isManagerEnabled(address _manager)
  public
  constant
  onlyValidManagerAddress(_manager)
  returns (bool)
{
  return managerEnabled[_manager];
}

isPermissionGranted keyboard_arrow_up

Parameters help

Name Type
_manager
address help
_permissionName
string help

Properties

Visibility help public
Mutability help constant

Modifiers help

Source Code
function isPermissionGranted(address _manager, string _permissionName)
  public
  constant
  onlyValidManagerAddress(_manager)
  onlyValidPermissionName(_permissionName)
  returns (bool)
{
  return managerPermissions[_manager][_permissionName];
}

createOwnershipOffer keyboard_arrow_up

Parameters help

Name Type
_proposedOwner
address help

Properties

Visibility help public
Mutability help transaction

Modifiers 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.

Properties

Visibility help public
Mutability help transaction
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.

Properties

Visibility help public
Mutability help transaction
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);
}

getProposedOwner keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help constant
Source Code
function getProposedOwner() public constant returns (address) {
  return proposedOwner;
}

Internal Functions Expand All Collapse All

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

Parameters help

Name Type
_targetAddress
address help

Properties

Visibility help internal
Mutability help constant

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

internal CommonModifiersInterface.isContract keyboard_arrow_up

Parameters help

Name Type
_targetAddress
address help

Properties

Visibility help internal
Mutability help constant
Source Code
function isContract(address _targetAddress) internal constant returns (bool);

internal CommonModifiersInterface.isContract keyboard_arrow_up

Parameters help

Name Type
_targetAddress
address help

Properties

Visibility help internal
Mutability help constant
Source Code
function isContract(address _targetAddress) internal constant returns (bool);