Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 116 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Boost To Max | 18227633 | 891 days ago | IN | 0 ETH | 0.00074291 | ||||
| Boost To Max | 18052285 | 916 days ago | IN | 0 ETH | 0.0003394 | ||||
| Boost To Max | 18007195 | 922 days ago | IN | 0 ETH | 0.00069863 | ||||
| Boost To Max | 17939123 | 931 days ago | IN | 0 ETH | 0.00075606 | ||||
| Boost To Max | 17901564 | 937 days ago | IN | 0 ETH | 0.00047291 | ||||
| Boost To Max | 17893380 | 938 days ago | IN | 0 ETH | 0.00089993 | ||||
| Boost To Max | 17882739 | 939 days ago | IN | 0 ETH | 0.00049138 | ||||
| Boost To Max | 17880714 | 940 days ago | IN | 0 ETH | 0.00107113 | ||||
| Boost To Max | 17880021 | 940 days ago | IN | 0 ETH | 0.00071825 | ||||
| Boost To Max | 17874810 | 940 days ago | IN | 0 ETH | 0.00063445 | ||||
| Boost To Max | 17874683 | 940 days ago | IN | 0 ETH | 0.00059312 | ||||
| Boost To Max | 17868595 | 941 days ago | IN | 0 ETH | 0.0005878 | ||||
| Boost To Max | 17866741 | 942 days ago | IN | 0 ETH | 0.00059916 | ||||
| Boost To Max | 17864058 | 942 days ago | IN | 0 ETH | 0.0016747 | ||||
| Boost To Max | 17860216 | 942 days ago | IN | 0 ETH | 0.00046266 | ||||
| Deposit By Month... | 17847240 | 944 days ago | IN | 0 ETH | 0.00253955 | ||||
| Boost To Max | 17844454 | 945 days ago | IN | 0 ETH | 0.00054719 | ||||
| Boost To Max | 17811951 | 949 days ago | IN | 0 ETH | 0.00057331 | ||||
| Increase Amount ... | 17793520 | 952 days ago | IN | 0 ETH | 0.00695882 | ||||
| Boost To Max | 17793490 | 952 days ago | IN | 0 ETH | 0.00151512 | ||||
| Boost To Max | 17790476 | 952 days ago | IN | 0 ETH | 0.00076437 | ||||
| Boost To Max | 17787929 | 953 days ago | IN | 0 ETH | 0.00083166 | ||||
| Boost To Max | 17780729 | 954 days ago | IN | 0 ETH | 0.00083404 | ||||
| Boost To Max | 17779680 | 954 days ago | IN | 0 ETH | 0.00124298 | ||||
| Boost To Max | 17776425 | 954 days ago | IN | 0 ETH | 0.0006968 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PProxy
Compiler Version
v0.8.16+commit.07a7930e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.0;
import "./PProxyStorage.sol";
contract PProxy is PProxyStorage {
bytes32 constant IMPLEMENTATION_SLOT = keccak256(abi.encodePacked("IMPLEMENTATION_SLOT"));
bytes32 constant OWNER_SLOT = keccak256(abi.encodePacked("OWNER_SLOT"));
modifier onlyProxyOwner() {
require(msg.sender == readAddress(OWNER_SLOT), "PProxy.onlyProxyOwner: msg sender not owner");
_;
}
constructor () public {
setAddress(OWNER_SLOT, msg.sender);
}
function getProxyOwner() public view returns (address) {
return readAddress(OWNER_SLOT);
}
function setProxyOwner(address _newOwner) onlyProxyOwner public {
setAddress(OWNER_SLOT, _newOwner);
}
function getImplementation() public view returns (address) {
return readAddress(IMPLEMENTATION_SLOT);
}
function setImplementation(address _newImplementation) onlyProxyOwner public {
setAddress(IMPLEMENTATION_SLOT, _newImplementation);
}
fallback () external payable {
return internalFallback();
}
function internalFallback() internal virtual {
address contractAddr = readAddress(IMPLEMENTATION_SLOT);
assembly {
let ptr := mload(0x40)
calldatacopy(ptr, 0, calldatasize())
let result := delegatecall(gas(), contractAddr, ptr, calldatasize(), 0, 0)
let size := returndatasize()
returndatacopy(ptr, 0, size)
switch result
case 0 { revert(ptr, size) }
default { return(ptr, size) }
}
}
}pragma solidity ^0.8.0;
contract PProxyStorage {
function readBool(bytes32 _key) public view returns(bool) {
return storageRead(_key) == bytes32(uint256(1));
}
function setBool(bytes32 _key, bool _value) internal {
if(_value) {
storageSet(_key, bytes32(uint256(1)));
} else {
storageSet(_key, bytes32(uint256(0)));
}
}
function readAddress(bytes32 _key) public view returns(address) {
return bytes32ToAddress(storageRead(_key));
}
function setAddress(bytes32 _key, address _value) internal {
storageSet(_key, addressToBytes32(_value));
}
function storageRead(bytes32 _key) public view returns(bytes32) {
bytes32 value;
//solium-disable-next-line security/no-inline-assembly
assembly {
value := sload(_key)
}
return value;
}
function storageSet(bytes32 _key, bytes32 _value) internal {
// targetAddress = _address; // No!
bytes32 implAddressStorageKey = _key;
//solium-disable-next-line security/no-inline-assembly
assembly {
sstore(implAddressStorageKey, _value)
}
}
function bytes32ToAddress(bytes32 _value) public pure returns(address) {
return address(uint160(uint256(_value)));
}
function addressToBytes32(address _value) public pure returns(bytes32) {
return bytes32(uint256(uint160(_value)));
}
}{
"remappings": [
"@bridge/=src/modules/vedough-bridge/",
"@forge-std/=lib/forge-std/src/",
"@governance/=src/modules/governance/",
"@interfaces/=src/interfaces/",
"@mocks/=test/mocks/",
"@oracles/=src/modules/reward-policies/",
"@oz-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@oz/=lib/openzeppelin-contracts/contracts/",
"@pproxy/=lib/pie-proxy/contracts/",
"@prv/=src/modules/PRV/",
"@rewards/=src/modules/rewards/",
"@src/=src/",
"@test/=test/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"pie-proxy/=lib/pie-proxy/contracts/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "london",
"libraries": {
"src/modules/PRV/bitfield.sol": {
"Bitfields": "0x013b49b72da7f746eec30c7bca848bd788c4fcfe"
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_value","type":"address"}],"name":"addressToBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"bytes32ToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"readAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"readBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setProxyOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"storageRead","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506040516913d5d3915497d4d313d560b21b602082015261005090602a01604051602081830303815290604052805190602001203361005560201b60201c565b610062565b6001600160a01b03169055565b6104ae806100716000396000f3fe6080604052600436106100865760003560e01c80639d84ae69116100595780639d84ae6914610134578063aaf10f4214610154578063bb15ac8e14610169578063caaee91c14610199578063d784d426146101b957610086565b80631ab7710d1461009057806337a440e6146100c25780635ced058e146100ef57806382c947b71461010d575b61008e6101d9565b005b34801561009c57600080fd5b506100a5610249565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce57600080fd5b506100e16100dd3660046103e4565b5490565b6040519081526020016100b9565b3480156100fb57600080fd5b506100a561010a3660046103e4565b90565b34801561011957600080fd5b506100e16101283660046103fd565b6001600160a01b031690565b34801561014057600080fd5b506100a561014f3660046103e4565b610273565b34801561016057600080fd5b506100a5610286565b34801561017557600080fd5b506101896101843660046103e4565b6102b4565b60405190151581526020016100b9565b3480156101a557600080fd5b5061008e6101b43660046103fd565b6102c7565b3480156101c557600080fd5b5061008e6101d43660046103fd565b610367565b6000610222604051602001610207907212535413115351539510551253d397d4d313d5606a1b815260130190565b60405160208183030381529060405280519060200120610273565b905060405136600082376000803683855af43d806000843e818015610245578184f35b8184fd5b600061026e604051602001610207906913d5d3915497d4d313d560b21b8152600a0190565b905090565b600061028061010a835490565b92915050565b600061026e604051602001610207907212535413115351539510551253d397d4d313d5606a1b815260130190565b600060016102c0835490565b1492915050565b6040516913d5d3915497d4d313d560b21b60208201526102e990602a01610207565b6001600160a01b0316336001600160a01b0316146103225760405162461bcd60e51b81526004016103199061042d565b60405180910390fd5b6040516913d5d3915497d4d313d560b21b602082015261036490602a015b60405160208183030381529060405280519060200120826001600160a01b03169055565b50565b6040516913d5d3915497d4d313d560b21b602082015261038990602a01610207565b6001600160a01b0316336001600160a01b0316146103b95760405162461bcd60e51b81526004016103199061042d565b6040517212535413115351539510551253d397d4d313d5606a1b602082015261036490603301610340565b6000602082840312156103f657600080fd5b5035919050565b60006020828403121561040f57600080fd5b81356001600160a01b038116811461042657600080fd5b9392505050565b6020808252602b908201527f5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646560408201526a39103737ba1037bbb732b960a91b60608201526080019056fea2646970667358221220ca719e95db069c9f0a47ee239b2bc79b412ed0afae289b3ec91594cbe1f3e65664736f6c63430008100033
Deployed Bytecode
0x6080604052600436106100865760003560e01c80639d84ae69116100595780639d84ae6914610134578063aaf10f4214610154578063bb15ac8e14610169578063caaee91c14610199578063d784d426146101b957610086565b80631ab7710d1461009057806337a440e6146100c25780635ced058e146100ef57806382c947b71461010d575b61008e6101d9565b005b34801561009c57600080fd5b506100a5610249565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce57600080fd5b506100e16100dd3660046103e4565b5490565b6040519081526020016100b9565b3480156100fb57600080fd5b506100a561010a3660046103e4565b90565b34801561011957600080fd5b506100e16101283660046103fd565b6001600160a01b031690565b34801561014057600080fd5b506100a561014f3660046103e4565b610273565b34801561016057600080fd5b506100a5610286565b34801561017557600080fd5b506101896101843660046103e4565b6102b4565b60405190151581526020016100b9565b3480156101a557600080fd5b5061008e6101b43660046103fd565b6102c7565b3480156101c557600080fd5b5061008e6101d43660046103fd565b610367565b6000610222604051602001610207907212535413115351539510551253d397d4d313d5606a1b815260130190565b60405160208183030381529060405280519060200120610273565b905060405136600082376000803683855af43d806000843e818015610245578184f35b8184fd5b600061026e604051602001610207906913d5d3915497d4d313d560b21b8152600a0190565b905090565b600061028061010a835490565b92915050565b600061026e604051602001610207907212535413115351539510551253d397d4d313d5606a1b815260130190565b600060016102c0835490565b1492915050565b6040516913d5d3915497d4d313d560b21b60208201526102e990602a01610207565b6001600160a01b0316336001600160a01b0316146103225760405162461bcd60e51b81526004016103199061042d565b60405180910390fd5b6040516913d5d3915497d4d313d560b21b602082015261036490602a015b60405160208183030381529060405280519060200120826001600160a01b03169055565b50565b6040516913d5d3915497d4d313d560b21b602082015261038990602a01610207565b6001600160a01b0316336001600160a01b0316146103b95760405162461bcd60e51b81526004016103199061042d565b6040517212535413115351539510551253d397d4d313d5606a1b602082015261036490603301610340565b6000602082840312156103f657600080fd5b5035919050565b60006020828403121561040f57600080fd5b81356001600160a01b038116811461042657600080fd5b9392505050565b6020808252602b908201527f5050726f78792e6f6e6c7950726f78794f776e65723a206d73672073656e646560408201526a39103737ba1037bbb732b960a91b60608201526080019056fea2646970667358221220ca719e95db069c9f0a47ee239b2bc79b412ed0afae289b3ec91594cbe1f3e65664736f6c63430008100033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.