Contract Overview
Balance:
0 ETH
ETH Value:
$0.00
My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x0d558d93fc347f31d43841f460e9516688f27022f1c6d10a16266336f5f29189 | Change Volatilit... | 54318781 | 17 days 8 hrs ago | 0xa67d0c1180e0e183f482304a9b5436a3478f0674 | IN | 0x08674f64dac31f36828b63a4468a3ac3c68db5b2 | 0 ETH | 0.00004364 | |
0x98e4fd9ac4984936ef7c6f78b350a2505fdd0c87f698df55282c6d9fb41f45ea | Change Accountin... | 25976989 | 137 days 10 hrs ago | 0xa67d0c1180e0e183f482304a9b5436a3478f0674 | IN | 0x08674f64dac31f36828b63a4468a3ac3c68db5b2 | 0 ETH | 0.00001341 | |
0x80446ee62f0e9b7da315e8f175141017f0852824c14880a34d15cae5fb16e976 | 0x60a06040 | 25976294 | 137 days 10 hrs ago | 0xa67d0c1180e0e183f482304a9b5436a3478f0674 | IN | Create: Protocol | 0 ETH | 0.00009745 |
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
Protocol
Compiler Version
v0.8.14+commit.80d49f37
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0; import "./libraries/AccessControl.sol"; /** * @title Contract used for storage of important contracts for the liquidity pool */ contract Protocol is AccessControl { //////////////////////// /// static variables /// //////////////////////// address public immutable optionRegistry; ///////////////////////////////////// /// governance settable variables /// ///////////////////////////////////// address public volatilityFeed; address public portfolioValuesFeed; address public accounting; address public priceFeed; constructor( address _optionRegistry, address _priceFeed, address _volatilityFeed, address _portfolioValuesFeed, address _authority ) AccessControl(IAuthority(_authority)) { optionRegistry = _optionRegistry; priceFeed = _priceFeed; volatilityFeed = _volatilityFeed; portfolioValuesFeed = _portfolioValuesFeed; } /////////////// /// setters /// /////////////// function changeVolatilityFeed(address _volFeed) external { _onlyGovernor(); volatilityFeed = _volFeed; } function changePortfolioValuesFeed(address _portfolioValuesFeed) external { _onlyGovernor(); portfolioValuesFeed = _portfolioValuesFeed; } function changeAccounting(address _accounting) external { _onlyGovernor(); accounting= _accounting; } function changePriceFeed(address _priceFeed) external { _onlyGovernor(); priceFeed = _priceFeed; } }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0; import "../interfaces/IAuthority.sol"; error UNAUTHORIZED(); /** * @title Contract used for access control functionality, based off of OlympusDao Access Control */ abstract contract AccessControl { /* ========== EVENTS ========== */ event AuthorityUpdated(IAuthority authority); /* ========== STATE VARIABLES ========== */ IAuthority public authority; /* ========== Constructor ========== */ constructor(IAuthority _authority) { authority = _authority; emit AuthorityUpdated(_authority); } /* ========== GOV ONLY ========== */ function setAuthority(IAuthority _newAuthority) external { _onlyGovernor(); authority = _newAuthority; emit AuthorityUpdated(_newAuthority); } /* ========== INTERNAL CHECKS ========== */ function _onlyGovernor() internal view { if (msg.sender != authority.governor()) revert UNAUTHORIZED(); } function _onlyGuardian() internal view { if (!authority.guardian(msg.sender) && msg.sender != authority.governor()) revert UNAUTHORIZED(); } function _onlyManager() internal view { if (msg.sender != authority.manager() && msg.sender != authority.governor()) revert UNAUTHORIZED(); } }
// SPDX-License-Identifier: AGPL-3.0 pragma solidity >=0.8.0; interface IAuthority { /* ========== EVENTS ========== */ event GovernorPushed(address indexed from, address indexed to); event GuardianPushed(address indexed to); event ManagerPushed(address indexed from, address indexed to); event GovernorPulled(address indexed from, address indexed to); event GuardianRevoked(address indexed to); event ManagerPulled(address indexed from, address indexed to); /* ========== VIEW ========== */ function governor() external view returns (address); function guardian(address _target) external view returns (bool); function manager() external view returns (address); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_optionRegistry","type":"address"},{"internalType":"address","name":"_priceFeed","type":"address"},{"internalType":"address","name":"_volatilityFeed","type":"address"},{"internalType":"address","name":"_portfolioValuesFeed","type":"address"},{"internalType":"address","name":"_authority","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"UNAUTHORIZED","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IAuthority","name":"authority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"inputs":[],"name":"accounting","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract IAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_accounting","type":"address"}],"name":"changeAccounting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_portfolioValuesFeed","type":"address"}],"name":"changePortfolioValuesFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_priceFeed","type":"address"}],"name":"changePriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_volFeed","type":"address"}],"name":"changeVolatilityFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"optionRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"portfolioValuesFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IAuthority","name":"_newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"volatilityFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161055238038061055283398101604081905261002f916100e7565b600080546001600160a01b0319166001600160a01b03831690811790915560405190815281907f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150506001600160a01b03938416608052600480549385166001600160a01b031994851617905560018054928516928416929092179091556002805491909316911617905561014c565b80516001600160a01b03811681146100e257600080fd5b919050565b600080600080600060a086880312156100ff57600080fd5b610108866100cb565b9450610116602087016100cb565b9350610124604087016100cb565b9250610132606087016100cb565b9150610140608087016100cb565b90509295509295909350565b6080516103ec610166600039600060e201526103ec6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063741bef1a11610071578063741bef1a1461013f5780637a9e5e4b146101525780639624e83e14610165578063b04969be14610178578063bf7e214f1461018b578063cbd3df381461019e57600080fd5b8063128e414b146100ae5780633b4567b0146100dd578063405a20081461010457806349180360146101195780635fb480c91461012c575b600080fd5b6001546100c1906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100c17f000000000000000000000000000000000000000000000000000000000000000081565b610117610112366004610375565b6101b1565b005b610117610127366004610375565b6101db565b6002546100c1906001600160a01b031681565b6004546100c1906001600160a01b031681565b610117610160366004610375565b610205565b6003546100c1906001600160a01b031681565b610117610186366004610375565b610261565b6000546100c1906001600160a01b031681565b6101176101ac366004610375565b61028b565b6101b96102b5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6101e36102b5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61020d6102b5565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6102696102b5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6102936102b5565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa158015610306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032a9190610399565b6001600160a01b0316336001600160a01b03161461035b5760405163075fd2b160e01b815260040160405180910390fd5b565b6001600160a01b038116811461037257600080fd5b50565b60006020828403121561038757600080fd5b81356103928161035d565b9392505050565b6000602082840312156103ab57600080fd5b81516103928161035d56fea2646970667358221220166cc38dd2e825164e1908f2c15901faeee563b36a0e98f8cad78ee0f92bfb0164736f6c634300080e003300000000000000000000000004706de6ce851a284b569ebae2e258225d952368000000000000000000000000a5a095f2a2beb2d53382293b0ffe0f520ddec2970000000000000000000000003099900e3e9fa62b291586f5046a09cf5b0bccb900000000000000000000000014ef340b33bd4f64c160e3bfcd2b84d67e9b33df0000000000000000000000000c83e447dc7f4045b8717d5321056d4e9e86dcd2
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000004706de6ce851a284b569ebae2e258225d952368000000000000000000000000a5a095f2a2beb2d53382293b0ffe0f520ddec2970000000000000000000000003099900e3e9fa62b291586f5046a09cf5b0bccb900000000000000000000000014ef340b33bd4f64c160e3bfcd2b84d67e9b33df0000000000000000000000000c83e447dc7f4045b8717d5321056d4e9e86dcd2
-----Decoded View---------------
Arg [0] : _optionRegistry (address): 0x04706de6ce851a284b569ebae2e258225d952368
Arg [1] : _priceFeed (address): 0xa5a095f2a2beb2d53382293b0ffe0f520ddec297
Arg [2] : _volatilityFeed (address): 0x3099900e3e9fa62b291586f5046a09cf5b0bccb9
Arg [3] : _portfolioValuesFeed (address): 0x14ef340b33bd4f64c160e3bfcd2b84d67e9b33df
Arg [4] : _authority (address): 0x0c83e447dc7f4045b8717d5321056d4e9e86dcd2
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000004706de6ce851a284b569ebae2e258225d952368
Arg [1] : 000000000000000000000000a5a095f2a2beb2d53382293b0ffe0f520ddec297
Arg [2] : 0000000000000000000000003099900e3e9fa62b291586f5046a09cf5b0bccb9
Arg [3] : 00000000000000000000000014ef340b33bd4f64c160e3bfcd2b84d67e9b33df
Arg [4] : 0000000000000000000000000c83e447dc7f4045b8717d5321056d4e9e86dcd2
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.