ETH Price: $2,071.60 (+11.68%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215201582024-12-31 4:46:23421 days ago1735620383IN
0x07E47d03...0d80f5e6D
0 ETH0.000177133.42801037
Transfer185038072023-11-05 5:44:47843 days ago1699163087IN
0x07E47d03...0d80f5e6D
0 ETH0.0008402216.11469375
Transfer169136342023-03-26 19:19:351066 days ago1679858375IN
0x07E47d03...0d80f5e6D
0 ETH0.0006580518.90953988
Transfer167092092023-02-26 1:41:231095 days ago1677375683IN
0x07E47d03...0d80f5e6D
0 ETH0.0006557718.72139281
Transfer162749852022-12-27 8:47:351156 days ago1672130855IN
0x07E47d03...0d80f5e6D
0 ETH0.0004852513.85332604
Transfer162440102022-12-23 1:03:591160 days ago1671757439IN
0x07E47d03...0d80f5e6D
0 ETH0.0006625612.76024818
Transfer152426622022-07-30 8:18:481306 days ago1659169128IN
0x07E47d03...0d80f5e6D
0 ETH0.00031747.97423636
Transfer152373082022-07-29 12:21:491307 days ago1659097309IN
0x07E47d03...0d80f5e6D
0 ETH0.0005617216.03647814
Transfer146303842022-04-21 20:15:521405 days ago1650572152IN
0x07E47d03...0d80f5e6D
0 ETH0.001693648.35006807
Transfer144941602022-03-31 13:13:571427 days ago1648732437IN
0x07E47d03...0d80f5e6D
0 ETH0.0011659433.28609299
Transfer144024442022-03-17 6:39:561441 days ago1647499196IN
0x07E47d03...0d80f5e6D
0 ETH0.0006655319
Transfer143327112022-03-06 10:09:141452 days ago1646561354IN
0x07E47d03...0d80f5e6D
0 ETH0.0006350118.12876007
Transfer141981492022-02-13 13:49:571473 days ago1644760197IN
0x07E47d03...0d80f5e6D
0 ETH0.0017762550.70946619
Transfer141770082022-02-10 7:30:571476 days ago1644478257IN
0x07E47d03...0d80f5e6D
0 ETH0.0018415752.57433672
Transfer141024912022-01-29 19:17:381487 days ago1643483858IN
0x07E47d03...0d80f5e6D
0 ETH0.0028312780.82894158
Transfer136717932021-11-23 16:03:231555 days ago1637683403IN
0x07E47d03...0d80f5e6D
0 ETH0.0040786116.43841983
Transfer136380322021-11-18 7:44:401560 days ago1637221480IN
0x07E47d03...0d80f5e6D
0 ETH0.00484674138.36777087
Transfer135609332021-11-06 4:39:271572 days ago1636173567IN
0x07E47d03...0d80f5e6D
0 ETH0.0025482972.75032684
Transfer135566282021-11-05 12:38:211573 days ago1636115901IN
0x07E47d03...0d80f5e6D
0 ETH0.00461374131.7159054
Transfer135270502021-10-31 20:58:351577 days ago1635713915IN
0x07E47d03...0d80f5e6D
0 ETH0.00358336111.14657553
Transfer134848462021-10-25 6:03:431584 days ago1635141823IN
0x07E47d03...0d80f5e6D
0 ETH0.0032339492.32454629
Transfer133308942021-10-01 2:58:171608 days ago1633057097IN
0x07E47d03...0d80f5e6D
0 ETH0.0024796970.76766762
Transfer133306232021-10-01 1:54:171608 days ago1633053257IN
0x07E47d03...0d80f5e6D
0 ETH0.0035371567.83958787
Transfer133207172021-09-29 12:40:311610 days ago1632919231IN
0x07E47d03...0d80f5e6D
0 ETH0.0017240749.21990472
Transfer132767322021-09-22 16:53:371617 days ago1632329617IN
0x07E47d03...0d80f5e6D
0 ETH0.00353596100.94669191
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FPRUpgradeabilityProxy

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-12-22
*/

// File: contracts\Proxy.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.4.21;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract Proxy {
  /**
  * @dev Tells the address of the implementation where every call will be delegated.
  * @return address of the implementation to which it will be delegated
  */
  function implementation() public view returns (address);

  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
  function () payable public {
    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) }
    }
  }
}

// File: contracts\UpgradeabilityProxy.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.4.21;


/**
 * @title UpgradeabilityProxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract UpgradeabilityProxy is 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.zeppelinos.proxy.implementation");

  /**
   * @dev Constructor function
   */
  function UpgradeabilityProxy() 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 {
    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);
    setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }
}

// File: contracts\FPRUpgradeabilityProxy.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.4.21;


/**
 * @title FPRUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities for FPR token
 */
contract FPRUpgradeabilityProxy is UpgradeabilityProxy {
  /**
  * @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.zeppelinos.proxy.owner");

  /**
  * @dev the constructor sets the original owner of the contract to the sender account.
  */
  function FPRUpgradeabilityProxy() 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);
  }

}

Contract Security Audit

Contract ABI

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

6060604052341561000f57600080fd5b610025336401000000006102f461002a82021704565b610065565b60006040517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152601a016040519081900390209190915550565b6103bc806100746000396000f3006060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100a75780633659cfe6146100d65780635c60da1b146100f7578063f1739cae1461010a575b600061006b610129565b9050600160a060020a038116151561008257600080fd5b60405136600082376000803683855af43d806000843e8180156100a3578184f35b8184fd5b34156100b257600080fd5b6100ba61018b565b604051600160a060020a03909116815260200160405180910390f35b34156100e157600080fd5b6100f5600160a060020a03600435166101c7565b005b341561010257600080fd5b6100ba610129565b341561011557600080fd5b6100f5600160a060020a03600435166101fa565b6000806040517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e000000000000000000000000000000000000000000000000000000000060208201526023016040519081900390205492915050565b6000806040517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152601a016040519081900390205492915050565b6101cf61018b565b600160a060020a031633600160a060020a03161415156101ee57600080fd5b6101f78161028c565b50565b61020261018b565b600160a060020a031633600160a060020a031614151561022157600080fd5b600160a060020a038116151561023657600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961025f61018b565b82604051600160a060020a039283168152911660208201526040908101905180910390a16101f7816102f4565b6000610296610129565b9050600160a060020a0380821690831614156102b157600080fd5b6102ba8261032f565b81600160a060020a03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25050565b60006040517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152601a016040519081900390209190915550565b60006040517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e0000000000000000000000000000000000000000000000000000000000602082015260230160405190819003902091909155505600a165627a7a723058205c13cf055768fce493a542f9c29e1cc42789c8fcc8065fef2a105163369291730029

Deployed Bytecode

0x6060604052600436106100615763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100a75780633659cfe6146100d65780635c60da1b146100f7578063f1739cae1461010a575b600061006b610129565b9050600160a060020a038116151561008257600080fd5b60405136600082376000803683855af43d806000843e8180156100a3578184f35b8184fd5b34156100b257600080fd5b6100ba61018b565b604051600160a060020a03909116815260200160405180910390f35b34156100e157600080fd5b6100f5600160a060020a03600435166101c7565b005b341561010257600080fd5b6100ba610129565b341561011557600080fd5b6100f5600160a060020a03600435166101fa565b6000806040517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e000000000000000000000000000000000000000000000000000000000060208201526023016040519081900390205492915050565b6000806040517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152601a016040519081900390205492915050565b6101cf61018b565b600160a060020a031633600160a060020a03161415156101ee57600080fd5b6101f78161028c565b50565b61020261018b565b600160a060020a031633600160a060020a031614151561022157600080fd5b600160a060020a038116151561023657600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961025f61018b565b82604051600160a060020a039283168152911660208201526040908101905180910390a16101f7816102f4565b6000610296610129565b9050600160a060020a0380821690831614156102b157600080fd5b6102ba8261032f565b81600160a060020a03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25050565b60006040517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152601a016040519081900390209190915550565b60006040517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617481527f696f6e0000000000000000000000000000000000000000000000000000000000602082015260230160405190819003902091909155505600a165627a7a723058205c13cf055768fce493a542f9c29e1cc42789c8fcc8065fef2a105163369291730029

Deployed Bytecode Sourcemap

3226:2024:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:13;682:16;:14;:16::i;:::-;666:32;-1:-1:-1;;;;;;713:19:0;;;;705:28;;;;;;777:4;771:11;811:12;808:1;803:3;790:34;893:1;890;876:12;871:3;864:5;859:3;846:49;915:14;960:4;957:1;952:3;937:28;982:6;996:28;;;;1054:4;1049:3;1042:17;996:28;1017:4;1012:3;1005:17;4169:163;;;;;;;;;;;;;;;-1:-1:-1;;;;;4169:163:0;;;;;;;;;;;;;;5141:104;;;;;;;;;;-1:-1:-1;;;;;5141:104:0;;;;;;;2013:169;;;;;;;;;;;;4736:216;;;;;;;;;;-1:-1:-1;;;;;4736:216:0;;;;;2013:169;2060:12;2081:16;1741:48;;;;;;;;;;;;;;;;;;;;2155:15;;2138:39;-1:-1:-1;;2138:39:0:o;4169:163::-;4212:13;4234:16;3667:39;;;;;;;;;;;;;;;4305:15;;4287:40;-1:-1:-1;;4287:40:0:o;5141:104::-;4041:12;:10;:12::i;:::-;-1:-1:-1;;;;;4027:26:0;:10;-1:-1:-1;;;;;4027:26:0;;4019:35;;;;;;;;5213:26;5224:14;5213:10;:26::i;:::-;5141:104;:::o;4736:216::-;4041:12;:10;:12::i;:::-;-1:-1:-1;;;;;4027:26:0;:10;-1:-1:-1;;;;;4027:26:0;;4019:35;;;;;;;;-1:-1:-1;;;;;4823:22:0;;;;4815:31;;;;;;4858:49;4884:12;:10;:12::i;:::-;4898:8;4858:49;;-1:-1:-1;;;;;4858:49:0;;;;;;;;;;;;;;;;;;;;;;4914:32;4937:8;4914:22;:32::i;2687:257::-;2750:29;2782:16;:14;:16::i;:::-;2750:48;-1:-1:-1;;;;;;2813:42:0;;;;;;;;2805:51;;;;;;2863:36;2881:17;2863;:36::i;:::-;2920:17;-1:-1:-1;;;;;2911:27:0;;;;;;;;;;;2687:257;;:::o;4393:176::-;4464:16;3667:39;;;;;;;;;;;;;;;4526:31;;;;-1:-1:-1;4517:47:0:o;2345:183::-;2415:16;1741:48;;;;;;;;;;;;;;;;;;;;2481:35;;;;-1:-1:-1;2472:51:0:o

Swarm Source

bzzr://5c13cf055768fce493a542f9c29e1cc42789c8fcc8065fef2a10516336929173

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.