Blockwell

Akropolis

About link description

Akropolis (AKRO) is a cryptocurrency and operates on the Ethereum platform. Akropolis has a current supply of 4,000,000,000 with 3,126,730,139.8809524 in circulation. The last known price of Akropolis is 0.01901216 USD and is down -2.54 over the last 24 hours. It is currently trading on 52 active market(s) with $14,093,738.37 traded over the last 24 hours. More information can be found at https://akropolis.io/.

Stats

Public Functions 7
Event Types 2
Code Size 12,916 bytes

Events (2) keyboard_arrow_up

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Upgraded Event

Parameters help
implementation
address help

IMPLEMENTATION_SLOT Constant

bytes32 help
0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3

balances Variable

address help

allowances Variable

address help

name Variable

string help

decimals Variable

uint8 help

symbol Variable

string help

owner Variable

address help

pendingOwner Variable

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

Requirements help

Source Code
function transferOwnership(address _newOwner) public onlyOwner {
  require(_newOwner != address(0), "Empty address");
  pendingOwner = _newOwner;
}

claimOwnership keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function claimOwnership() public onlyPendingOwner {
  emit OwnershipTransferred(owner, pendingOwner);
  owner = pendingOwner;
  pendingOwner = address(0);
}

claimBalanceOwnership keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function claimBalanceOwnership() public {
  balances.claimOwnership();
}

claimAllowanceOwnership keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function claimAllowanceOwnership() public {
  allowances.claimOwnership();
}

constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

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

upgradeTo keyboard_arrow_up

Parameters help

Name Type
newImplementation
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function upgradeTo(address newImplementation) public onlyOwner {
  _upgradeTo(newImplementation);
}

implementation keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function implementation() public view returns (address) {
  return _implementation();
}

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 UpgradeabilityProxy._implementation keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _implementation() internal view returns (address impl) {
  bytes32 slot = IMPLEMENTATION_SLOT;
  assembly {
    impl := sload(slot)
  }
}

internal UpgradeabilityProxy._upgradeTo keyboard_arrow_up

Parameters help

Name Type
newImplementation
address help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _upgradeTo(address newImplementation) internal {
  _setImplementation(newImplementation);
  emit Upgraded(newImplementation);
}

internal UpgradeabilityProxy._setImplementation keyboard_arrow_up

Parameters help

Name Type
newImplementation
address help

Properties

Visibility help private
Mutability help transaction
Source Code
function _setImplementation(address newImplementation) private {
  require(
    AddressUtils.isContract(newImplementation),
    "Cannot set a proxy implementation to a non-contract address"
  );

  bytes32 slot = IMPLEMENTATION_SLOT;

  assembly {
    sstore(slot, newImplementation)
  }
}

internal Proxy._implementation keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _implementation() internal view returns (address);

internal Proxy._delegate keyboard_arrow_up

Parameters help

Name Type
implementation
address help

Properties

Visibility help internal
Mutability help transaction
Source Code
function _delegate(address implementation) internal {
  assembly {
    // Copy msg.data. We take full control of memory in this inline assembly
    // block because it will not return to Solidity code. We overwrite the
    // Solidity scratch pad at memory position 0.
    calldatacopy(0, 0, calldatasize)

    // Call the implementation.
    // out and outsize are 0 because we don't know the size yet.
    let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0)

    // Copy the returned data.
    returndatacopy(0, 0, returndatasize)

    switch result
    // delegatecall returns 0 on error.
    case 0 {
      revert(0, returndatasize)
    }
    default {
      return(0, returndatasize)
    }
  }
}

internal Proxy._willFallback keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction
Source Code
function _willFallback() internal {}

internal Proxy._fallback keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction
Source Code
function _fallback() internal {
  _willFallback();
  _delegate(_implementation());
}