0 txs
4 calls
constructor
constructor()
functions
authority
viewfunction authority() view returns (address)
getFactorySNG
viewfunction getFactorySNG() view returns (address)
getRateOracle
viewfunction getRateOracle(address _pt) view returns (address)
getRateOracleBeacon
viewfunction getRateOracleBeacon() view returns (address)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
addRateOracle
nonpayablefunction addRateOracle(address _pt, address _rateOracle)
initialize
nonpayablefunction initialize(address _initialAuthority)
removeRateOracle
nonpayablefunction removeRateOracle(address _pt, address _rateOracle)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setFactorySNG
nonpayablefunction setFactorySNG(address _factorySNG)
setRateOracleBeacon
nonpayablefunction setRateOracleBeacon(address _rateOracleBeacon)
events
AuthorityUpdated
event AuthorityUpdated(address authority)
FactorySNGChange
event FactorySNGChange(address indexed previousFactorySNG, address indexed newFactorySNG)
Initialized
event Initialized(uint64 version)
RateOracleAdded
event RateOracleAdded(address indexed pt, address indexed rateOracle)
RateOracleBeaconChange
event RateOracleBeaconChange(address indexed previousRateOracleBeacon, address indexed newRateOracleBeacon)
RateOracleRemoved
event RateOracleRemoved(address indexed pt, address indexed rateOracle)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
AddressError
error AddressError()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
PTRateOracleMismatch
error PTRateOracleMismatch()
RegistryOverwriteAttempt
error RegistryOverwriteAttempt(address _pt, address _rateOracleRegistry)
creation bytecode
0x608060405234801561000f575f80fd5b5061001861001d565b6100cf565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006d5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cc5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610af5806100dc5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063a5d040891161006e578063a5d0408914610130578063bf7e214f14610143578063c4d66de81461014b578063ce1643a91461015e578063d6215dd714610171578063de44211b14610181575f80fd5b80634842c549146100aa5780635c084ea7146100bf5780636ce4ba49146100d25780637a9e5e4b146100fc5780638fb360371461010f575b5f80fd5b6100bd6100b8366004610927565b6101ac565b005b6100bd6100cd366004610947565b61023a565b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100bd61010a366004610927565b610337565b6101176103bd565b6040516001600160e01b031990911681526020016100f3565b6100bd61013e366004610927565b6103f3565b6100df61047c565b6100bd610159366004610927565b610497565b6100bd61016c366004610947565b6105a5565b5f546001600160a01b03166100df565b6100df61018f366004610927565b6001600160a01b039081165f908152600260205260409020541690565b6101b8335b5f3661063e565b6001600160a01b0381166101df57604051630c59659760e31b815260040160405180910390fd5b6001546040516001600160a01b038084169216907f39f8bbcf8dc45a04eab29af8c1d651fe1c20b5db962520171d7be5658b1d9448905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b610243336101b1565b6001600160a01b038216158061026057506001600160a01b038116155b1561027e57604051630c59659760e31b815260040160405180910390fd5b6001600160a01b038281165f9081526002602052604090205416156102e1576001600160a01b038281165f81815260026020526040908190205490516315272a6560e01b8152600481019290925290911660248201526044015b60405180910390fd5b6001600160a01b038281165f8181526002602052604080822080546001600160a01b0319169486169485179055517fd9b351a6180d473d9b420a386582b55a1f49e71d0582d4bd6fec8c3ed2c98d5e9190a35050565b3361034061047c565b6001600160a01b0316816001600160a01b03161461037b5760405162d1953b60e31b81526001600160a01b03821660048201526024016102d8565b816001600160a01b03163b5f036103b0576040516361798f2f60e11b81526001600160a01b03831660048201526024016102d8565b6103b982610734565b5050565b5f80516020610aa083398151915280545f9190600160a01b900460ff166103e4575f6103ed565b638fb3603760e01b5b91505090565b6103fc336101b1565b6001600160a01b03811661042357604051630c59659760e31b815260040160405180910390fd5b5f80546040516001600160a01b03808516939216917fd3500dd5050d33e15f1317ee992a4ec3e3354ce9b834f684d11106501fd17d3691a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80516020610aa0833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156104dc5750825b90505f8267ffffffffffffffff1660011480156104f85750303b155b905081158015610506575080155b156105245760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561054e57845460ff60401b1916600160401b1785555b61055786610794565b831561059d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6105ae336101b1565b6001600160a01b038281165f908152600260205260409020548116908216146105ea5760405163435d75fb60e11b815260040160405180910390fd5b6001600160a01b038083165f8181526002602052604080822080546001600160a01b031916905551928416927f7d51db79162fb388ef484280c7d872f31cb2d2e60dabe0e8107882a390c25e509190a35050565b5f80516020610aa08339815191525f8061067661065961047c565b873061066860045f8a8c610978565b6106719161099f565b6107a8565b915091508161059d5763ffffffff81161561071157825460ff60a01b1916600160a01b1783556106a461047c565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016106d3939291906109cf565b5f604051808303815f87803b1580156106ea575f80fd5b505af11580156106fc573d5f803e3d5ffd5b5050845460ff60a01b191685555061059d9050565b60405162d1953b60e31b81526001600160a01b03871660048201526024016102d8565b5f80516020610aa083398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b61079c6108b0565b6107a5816108fb565b50565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516108169190610a0e565b5f60405180830381855afa9150503d805f811461084e576040519150601f19603f3d011682016040523d82523d5f602084013e610853565b606091505b509150915081156108a5576040815110610885578080602001905181019061087b9190610a49565b90945092506108a5565b60208151106108a557808060200190518101906108a29190610a86565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166108f957604051631afcd79f60e31b815260040160405180910390fd5b565b6109036108b0565b6107a581610734565b80356001600160a01b0381168114610922575f80fd5b919050565b5f60208284031215610937575f80fd5b6109408261090c565b9392505050565b5f8060408385031215610958575f80fd5b6109618361090c565b915061096f6020840161090c565b90509250929050565b5f8085851115610986575f80fd5b83861115610992575f80fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156109c75780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f82515f5b81811015610a2d5760208186018101518583015201610a13565b505f920191825250919050565b80518015158114610922575f80fd5b5f8060408385031215610a5a575f80fd5b610a6383610a3a565b9150602083015163ffffffff81168114610a7b575f80fd5b809150509250929050565b5f60208284031215610a96575f80fd5b61094082610a3a56fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220da7bc6c1d123607d64ce7f5dd9727051af3f327d5e040529473c16dfcc1fa91964736f6c63430008140033