Token Nexxo Tokens

 

Overview [ERC-20]

Price
$0.00 @ 0.000000 Eth
Fully Diluted Market Cap
Max Total Supply:
100,000,000,000 NEXXO

Holders:
5 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

A global blockchain-powered small business financial solution platform.

Market

Volume (24H):$0.00
Market Capitalization:$2,386,928.05
Circulating Supply:214,654,884.00 NEXXO
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Oct 1, 2018
ICO End Date : Mar 31, 2019
ICO Price  : $0.001 | 0.00000329 ETH
Country : Singapore

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NexxoProxyV1

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-08-05
*/

pragma solidity 0.5.17;


/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

}

/**
 * @title Proxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract Proxy {

  /**
   * @dev This event will be emitted every time the implementation gets upgraded
   * @param implementation representing the address of the upgraded implementation
   */
  event Upgraded(address indexed implementation);

  // Storage position of the address of the current implementation
  bytes32 private constant implementationPosition = keccak256("org.nexxo.proxy.implementation");

  /**
   * @dev Constructor function
   */
  constructor() public {}

  /*
   * @dev Tells the address of the current implementation
   * @return address of the current implementation
   */
  function implementation() public view returns (address impl) {
    bytes32 position = implementationPosition;
    assembly {
      impl := sload(position)
    }
  }

  /**
   * @dev Sets the address of the current implementation
   * @param newImplementation address representing the new implementation to be set
   */
  function setImplementation(address newImplementation) internal {
   require(Address.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");
    bytes32 position = implementationPosition;
    assembly {
      sstore(position, newImplementation)
    }
  }

  /**
   * @dev Upgrades the implementation address
   * @param newImplementation representing the address of the new implementation to be set
   */
  function _upgradeTo(address newImplementation) internal {
    address currentImplementation = implementation();
    require(currentImplementation != newImplementation, "New implementation can't be same with current implementation.");
    setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }
}


/**
 * @title NexxoProxyV1
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract NexxoProxyV1 is Proxy {

  /**
  * @dev Event to show ownership has been transferred
  * @param previousOwner representing the address of the previous owner
  * @param newOwner representing the address of the new owner
  */
  event ProxyOwnershipTransferred(address previousOwner, address newOwner);

  // Storage position of the owner of the contract
  bytes32 private constant proxyOwnerPosition = keccak256("org.nexxo.proxy.owner");

  /**
  * @dev the constructor sets the original owner of the contract to the sender account.
  */
  constructor() public {
    setUpgradeabilityOwner(msg.sender);
  }

  /**
  * @dev Throws if called by any account other than the owner.
  */
  modifier onlyProxyOwner() {
    require(msg.sender == proxyOwner());
    _;
  }

  /*
   * @dev Tells the address of the owner
   * @return the address of the owner
   */
  function proxyOwner() public view returns (address owner) {
    bytes32 position = proxyOwnerPosition;
    assembly {
      owner := sload(position)
    }
  }

  /**
   * @dev Sets the address of the owner
   */
  function setUpgradeabilityOwner(address newProxyOwner) internal {
    bytes32 position = proxyOwnerPosition;
    assembly {
      sstore(position, newProxyOwner)
    }
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferProxyOwnership(address newOwner) public onlyProxyOwner {
    require(newOwner != address(0));
    emit ProxyOwnershipTransferred(proxyOwner(), newOwner);
    setUpgradeabilityOwner(newOwner);
  }

  /**
   * @dev Allows the proxy owner to upgrade the current version of the proxy.
   * @param implementation representing the address of the new implementation to be set.
   */
  function upgradeTo(address implementation) public onlyProxyOwner {
    _upgradeTo(implementation);
  }


  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
   function() external payable {
    address _impl = implementation();
    require(_impl != address(0));

   assembly {
      let ptr := mload(0x40)
      calldatacopy(ptr, 0, calldatasize)
      let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
      let size := returndatasize
      returndatacopy(ptr, 0, size)

      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }

  }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506100203361002560201b60201c565b610066565b600060405180807f6f72672e6e6578786f2e70726f78792e6f776e657200000000000000000000008152506015019050604051809103902090508181555050565b6106a9806100756000396000f3fe60806040526004361061003f5760003560e01c8063025313a2146100ac5780633659cfe6146101035780635c60da1b14610154578063f1739cae146101ab575b60006100496101fc565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561008557600080fd5b60405136600082376000803683855af43d806000843e81600081146100a8578184f35b8184fd5b3480156100b857600080fd5b506100c161023f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010f57600080fd5b506101526004803603602081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610282565b005b34801561016057600080fd5b506101696101fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b757600080fd5b506101fa600480360360208110156101ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102cd565b005b60008060405180807f6f72672e6e6578786f2e70726f78792e696d706c656d656e746174696f6e0000815250601e01905060405180910390209050805491505090565b60008060405180807f6f72672e6e6578786f2e70726f78792e6f776e65720000000000000000000000815250601501905060405180910390209050805491505090565b61028a61023f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102c157600080fd5b6102ca816103f0565b50565b6102d561023f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461030c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561034657600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961036f61023f565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16103ed816104d1565b50565b60006103fa6101fc565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180610638603d913960400191505060405180910390fd5b61048a82610512565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25050565b600060405180807f6f72672e6e6578786f2e70726f78792e6f776e657200000000000000000000008152506015019050604051809103902090508181555050565b61051b816105b1565b610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001806105fd603b913960400191505060405180910390fd5b600060405180807f6f72672e6e6578786f2e70726f78792e696d706c656d656e746174696f6e0000815250601e019050604051809103902090508181555050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156105f357506000801b8214155b9250505091905056fe43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573734e657720696d706c656d656e746174696f6e2063616e27742062652073616d6520776974682063757272656e7420696d706c656d656e746174696f6e2ea265627a7a7231582057e5920b8678300f0505c40e70e485ffe2bee8033c409360527cdd8e430188a664736f6c63430005110032

Deployed ByteCode Sourcemap

3363:2607:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5555:13;5571:16;:14;:16::i;:::-;5555:32;;5619:1;5602:19;;:5;:19;;;;5594:28;;;;;;5665:4;5659:11;5699:12;5696:1;5691:3;5678:34;5781:1;5778;5764:12;5759:3;5752:5;5747:3;5734:49;5803:14;5848:4;5845:1;5840:3;5825:28;5870:6;5889:1;5884:28;;;;5942:4;5937:3;5930:17;5884:28;5905:4;5900:3;5893:17;4258:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4258:163:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5230:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5230:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5230:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2104:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2104:169:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4825:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4825:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4825:216:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2104:169;2151:12;2172:16;1855:43;;;;;;;;;;;;;;;;;;;2172:41;;2252:8;2246:15;2238:23;;2229:39;;:::o;4258:163::-;4301:13;4323:16;3782:34;;;;;;;;;;;;;;;;;;;4323:37;;4400:8;4394:15;4385:24;;4376:40;;:::o;5230:104::-;4131:12;:10;:12::i;:::-;4117:26;;:10;:26;;;4109:35;;;;;;5302:26;5313:14;5302:10;:26::i;:::-;5230:104;:::o;4825:216::-;4131:12;:10;:12::i;:::-;4117:26;;:10;:26;;;4109:35;;;;;;4932:1;4912:22;;:8;:22;;;;4904:31;;;;;;4947:49;4973:12;:10;:12::i;:::-;4987:8;4947:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:32;5026:8;5003:22;:32::i;:::-;4825:216;:::o;2893:322::-;2956:29;2988:16;:14;:16::i;:::-;2956:48;;3044:17;3019:42;;:21;:42;;;;3011:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3134:36;3152:17;3134;:36::i;:::-;3191:17;3182:27;;;;;;;;;;;;2893:322;;:::o;4482:176::-;4553:16;3782:34;;;;;;;;;;;;;;;;;;;4553:37;;4632:13;4622:8;4615:31;4606:47;;:::o;2436:298::-;2513:37;2532:17;2513:18;:37::i;:::-;2505:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2621:16;1855:43;;;;;;;;;;;;;;;;;;;2621:41;;2704:17;2694:8;2687:35;2678:51;;:::o;710:619::-;770:4;1032:16;1059:19;1081:66;1059:88;;;;1250:7;1238:20;1226:32;;1290:11;1278:8;:23;;:42;;;;;1317:3;1305:15;;:8;:15;;1278:42;1270:51;;;;710:619;;;:::o

Swarm Source

bzzr://57e5920b8678300f0505c40e70e485ffe2bee8033c409360527cdd8e430188a6

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.