Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 184 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 21520158 | 421 days ago | IN | 0 ETH | 0.00017713 | ||||
| Transfer | 18503807 | 843 days ago | IN | 0 ETH | 0.00084022 | ||||
| Transfer | 16913634 | 1066 days ago | IN | 0 ETH | 0.00065805 | ||||
| Transfer | 16709209 | 1095 days ago | IN | 0 ETH | 0.00065577 | ||||
| Transfer | 16274985 | 1156 days ago | IN | 0 ETH | 0.00048525 | ||||
| Transfer | 16244010 | 1160 days ago | IN | 0 ETH | 0.00066256 | ||||
| Transfer | 15242662 | 1306 days ago | IN | 0 ETH | 0.0003174 | ||||
| Transfer | 15237308 | 1307 days ago | IN | 0 ETH | 0.00056172 | ||||
| Transfer | 14630384 | 1405 days ago | IN | 0 ETH | 0.0016936 | ||||
| Transfer | 14494160 | 1427 days ago | IN | 0 ETH | 0.00116594 | ||||
| Transfer | 14402444 | 1441 days ago | IN | 0 ETH | 0.00066553 | ||||
| Transfer | 14332711 | 1452 days ago | IN | 0 ETH | 0.00063501 | ||||
| Transfer | 14198149 | 1473 days ago | IN | 0 ETH | 0.00177625 | ||||
| Transfer | 14177008 | 1476 days ago | IN | 0 ETH | 0.00184157 | ||||
| Transfer | 14102491 | 1487 days ago | IN | 0 ETH | 0.00283127 | ||||
| Transfer | 13671793 | 1555 days ago | IN | 0 ETH | 0.0040786 | ||||
| Transfer | 13638032 | 1560 days ago | IN | 0 ETH | 0.00484674 | ||||
| Transfer | 13560933 | 1572 days ago | IN | 0 ETH | 0.00254829 | ||||
| Transfer | 13556628 | 1573 days ago | IN | 0 ETH | 0.00461374 | ||||
| Transfer | 13527050 | 1577 days ago | IN | 0 ETH | 0.00358336 | ||||
| Transfer | 13484846 | 1584 days ago | IN | 0 ETH | 0.00323394 | ||||
| Transfer | 13330894 | 1608 days ago | IN | 0 ETH | 0.00247969 | ||||
| Transfer | 13330623 | 1608 days ago | IN | 0 ETH | 0.00353715 | ||||
| Transfer | 13320717 | 1610 days ago | IN | 0 ETH | 0.00172407 | ||||
| Transfer | 13276732 | 1617 days ago | IN | 0 ETH | 0.00353596 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
FPRUpgradeabilityProxy
Compiler Version
v0.4.21+commit.dfe3193c
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.