0 txs
372 calls
constructor
constructor(address _initialRescuer, address _initialExecutor, uint96 _initialTreasuryPriceIndex, uint96 _maxTreasuryPriceIndexDelta, uint32 _minTreasuryPriceIndexTargetTimeDelta, uint96 _maxAbsTreasuryPriceIndexRateOfChange)
functions
executor
viewfunction executor() view returns (address)
explicitFunctionAccess
viewfunction explicitFunctionAccess(address, bytes4) view returns (bool)
inRescueMode
viewfunction inRescueMode() view returns (bool)
maxAbsTreasuryPriceIndexRateOfChange
viewfunction maxAbsTreasuryPriceIndexRateOfChange() view returns (uint96)
maxTreasuryPriceIndexDelta
viewfunction maxTreasuryPriceIndexDelta() view returns (uint96)
minTreasuryPriceIndexTargetTimeDelta
viewfunction minTreasuryPriceIndexTargetTimeDelta() view returns (uint32)
rescuer
viewfunction rescuer() view returns (address)
TPI_DECIMALS
viewfunction TPI_DECIMALS() view returns (uint256)
tpiData
viewfunction tpiData() view returns (uint96 startingTpi, uint32 startTime, uint96 targetTpi, uint32 targetTime, int96 tpiSlope)
treasuryPriceIndex
viewfunction treasuryPriceIndex() view returns (uint96)
acceptExecutor
nonpayablefunction acceptExecutor()
acceptRescuer
nonpayablefunction acceptRescuer()
proposeNewExecutor
nonpayablefunction proposeNewExecutor(address account)
proposeNewRescuer
nonpayablefunction proposeNewRescuer(address account)
setExplicitAccess
nonpayablefunction setExplicitAccess(address allowedCaller, tuple[] access)
setMaxAbsTreasuryPriceIndexRateOfChange
nonpayablefunction setMaxAbsTreasuryPriceIndexRateOfChange(uint96 tpiDelta, uint32 timeDelta)
setMaxTreasuryPriceIndexDelta
nonpayablefunction setMaxTreasuryPriceIndexDelta(uint96 maxDelta)
setMinTreasuryPriceIndexTargetTimeDelta
nonpayablefunction setMinTreasuryPriceIndexTargetTimeDelta(uint32 minTargetTimeDelta)
setRescueMode
nonpayablefunction setRescueMode(bool value)
setTreasuryPriceIndexAt
nonpayablefunction setTreasuryPriceIndexAt(uint96 targetTpi, uint32 targetTime)
events
ExplicitAccessSet
event ExplicitAccessSet(address indexed account, bytes4 indexed fnSelector, bool indexed value)
MaxAbsTreasuryPriceIndexRateOfChangeSet
event MaxAbsTreasuryPriceIndexRateOfChangeSet(uint96 maxAbsRateOfChange)
MaxTreasuryPriceIndexDeltaSet
event MaxTreasuryPriceIndexDeltaSet(uint256 maxDelta)
MinTreasuryPriceIndexTargetTimeDeltaSet
event MinTreasuryPriceIndexTargetTimeDeltaSet(uint32 maxTargetTimeDelta)
NewExecutorAccepted
event NewExecutorAccepted(address indexed oldExecutor, address indexed newExecutor)
NewExecutorProposed
event NewExecutorProposed(address indexed oldExecutor, address indexed oldProposedExecutor, address indexed newProposedExecutor)
NewRescuerAccepted
event NewRescuerAccepted(address indexed oldRescuer, address indexed newRescuer)
NewRescuerProposed
event NewRescuerProposed(address indexed oldRescuer, address indexed oldProposedRescuer, address indexed newProposedRescuer)
RescueModeSet
event RescueModeSet(bool indexed value)
TreasuryPriceIndexSetAt
event TreasuryPriceIndexSetAt(uint96 oldTpi, uint96 newTpiTarget, uint256 targetTime)
errors
BreachedMaxTpiDelta
error BreachedMaxTpiDelta(uint96 oldTpi, uint96 newTpi, uint256 maxDelta)
BreachedMaxTpiRateOfChange
error BreachedMaxTpiRateOfChange(uint96 targetRateOfChange, uint96 maxRateOfChange)
BreachedMinDateDelta
error BreachedMinDateDelta(uint32 targetTime, uint32 currentDate, uint32 maxTargetTimeDelta)
InvalidAccess
error InvalidAccess()
InvalidAddress
error InvalidAddress()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001b9938038062001b998339810160408190526200003491620001f9565b85856001600160a01b0382166200005e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038116620000865760405163e6c4247b60e01b815260040160405180910390fd5b816001600160a01b0316816001600160a01b031603620000b95760405163e6c4247b60e01b815260040160405180910390fd5b600080546001600160a01b039384166001600160a01b031991821617825560018054939094169216919091179091556040805160a0810182526001600160601b0396871680825263ffffffff428116602084018190529383018290526060830184905260809092019390935260058054600160e01b84026001600160e01b03600160801b808802919091166001600160801b036c010000000000000000000000009788026001600160801b031995861690991798909817979097169690961717909155600680546001600160601b031916905560078054958916909402959091169091029216939094169290921791909117600160801b600160e01b03191617905550620002849050565b80516001600160a01b0381168114620001dc57600080fd5b919050565b80516001600160601b0381168114620001dc57600080fd5b60008060008060008060c087890312156200021357600080fd5b6200021e87620001c4565b95506200022e60208801620001c4565b94506200023e60408801620001e1565b93506200024e60608801620001e1565b9250608087015163ffffffff811681146200026857600080fd5b91506200027860a08801620001e1565b90509295509295509295565b61190580620002946000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638bb43679116100cd578063d33f0e1111610081578063d9a349c111610066578063d9a349c1146103c8578063daeccc79146103db578063e903a1f11461040957600080fd5b8063d33f0e11146102fb578063d4353b7d1461030e57600080fd5b8063a47a4484116100b2578063a47a4484146102b0578063bfccf0ec146102c8578063c34c08e5146102db57600080fd5b80638bb436791461025f5780639ed384f1146102a857600080fd5b80631f2114051161012457806341400be11161010957806341400be11461022e5780635b35b384146102445780638112c4af1461025757600080fd5b80631f211405146101e157806338a63183146101e957600080fd5b80630d08d9f1116101555780630d08d9f11461019957806316164a13146101ac5780631810fe7f146101bf57600080fd5b8063032ef9011461017157806307f184f114610186575b600080fd5b61018461017f366004611464565b61043e565b005b6101846101943660046114aa565b6104ed565b6101846101a73660046114d9565b610625565b6101846101ba366004611510565b610709565b6003546101cc9060ff1681565b60405190151581526020015b60405180910390f35b610184610b49565b6000546102099073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d8565b610236601281565b6040519081526020016101d8565b610184610252366004611510565b610c68565b610184610d77565b60075461028b9070010000000000000000000000000000000090046bffffffffffffffffffffffff1681565b6040516bffffffffffffffffffffffff90911681526020016101d8565b61028b610eb7565b60075461028b906bffffffffffffffffffffffff1681565b6101846102d6366004611543565b610f5b565b6001546102099073ffffffffffffffffffffffffffffffffffffffff1681565b6101846103093660046115c9565b611162565b600554600654610381916bffffffffffffffffffffffff8082169263ffffffff6c0100000000000000000000000084048116937001000000000000000000000000000000008104909316927c010000000000000000000000000000000000000000000000000000000090041690600b0b85565b604080516bffffffffffffffffffffffff968716815263ffffffff95861660208201529590931692850192909252919091166060830152600b0b608082015260a0016101d8565b6101846103d63660046114aa565b611246565b6101cc6103e9366004611614565b600260209081526000928352604080842090915290825290205460ff1681565b600754610429906c01000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101d8565b60005473ffffffffffffffffffffffffffffffffffffffff16331461048f576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051811515907f18f4a9a726c72020fd959c636d2fd464c6cefe90afeaea3c830b971614cf70b690600090a2600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461053e576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811661058b576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff808416926101009004169033907f374d23b359cab0f8963c5c1715a6de7974f53af00aecc27de50d93906b70943e90600090a46003805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b610653336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b610689576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405163ffffffff821681527f37ae69088881f006d7a1d5fca7ba23ef053e688643b680c9167147c2555fcca29060200160405180910390a16007805463ffffffff9092166c01000000000000000000000000027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff909216919091179055565b610737336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b61076d576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610777610eb7565b9050426000610786838661166d565b6007549091506107ac906c01000000000000000000000000900463ffffffff16836116b7565b63ffffffff168463ffffffff161015610823576007546040517f7fb8ca8b00000000000000000000000000000000000000000000000000000000815263ffffffff808716600483015280851660248301526c0100000000000000000000000090920490911660448201526064015b60405180910390fd5b600061082f83866116db565b905060008083600b0b12610843578261086d565b61086d837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6116f8565b6007549091506bffffffffffffffffffffffff90811690821611156108e2576007546040517f19c8e1630000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8088166004830152808a166024830152909116604482015260640161081a565b60006108f463ffffffff841683611747565b6007549091506bffffffffffffffffffffffff7001000000000000000000000000000000009091048116908216111561098a576007546040517f290e81370000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8381166004830152700100000000000000000000000000000000909204909116602482015260440161081a565b6040518060a00160405280876bffffffffffffffffffffffff1681526020018663ffffffff168152602001896bffffffffffffffffffffffff1681526020018863ffffffff1681526020018460030b866109e49190611772565b600b0b90528051600580546020808501516040808701516060808901516bffffffffffffffffffffffff9889167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909716969096176c0100000000000000000000000063ffffffff95861602176fffffffffffffffffffffffffffffffff16700100000000000000000000000000000000928916929092027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16919091177c01000000000000000000000000000000000000000000000000000000009584169590950294909417909455608090950151600680547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691861691909117905582518b85168152938d1690840152928a16908201527f15dc305815c341e3605552d75170039c9bf00f630ed1a92e8c09b45ed87d35bd910160405180910390a15050505050505050565b60045473ffffffffffffffffffffffffffffffffffffffff163314610b9a576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005473ffffffffffffffffffffffffffffffffffffffff163303610beb576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154604051339173ffffffffffffffffffffffffffffffffffffffff16907fe963dc9c0d2165b080440a5d2665566142f2426b1ea15f3da8390b0fd336b06490600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081163317909155600480549091169055565b610c96336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b610ccc576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cde63ffffffff831684611747565b6040516bffffffffffffffffffffffff821681529091507f46bade5ee74d098ad6516e9bff8321a995c75e30b65aecf33b009aed5f4d62ea9060200160405180910390a1600780546bffffffffffffffffffffffff909216700100000000000000000000000000000000027fffffffff000000000000000000000000ffffffffffffffffffffffffffffffff9092169190911790555050565b600354610100900473ffffffffffffffffffffffffffffffffffffffff163314610dcd576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff163303610e1e576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054604051339273ffffffffffffffffffffffffffffffffffffffff909216917ff07131157ebea15896dc89264eb9a7572e67cc9fad6b855015730fcec10704e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600380547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b600554600090429063ffffffff7c0100000000000000000000000000000000000000000000000000000000909104811690821610610f1957505060055470010000000000000000000000000000000090046bffffffffffffffffffffffff1690565b6005546006546bffffffffffffffffffffffff8216600b9190910b63ffffffff6c010000000000000000000000009093049290921690920360030b0201919050565b610f89336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b610fbf576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831661100c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260008082526020820152819060005b8281101561115a5784848281811061103f5761103f6117e6565b9050604002018036038101906110559190611815565b91508160200151151582600001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff167ff5736e75de2c751f775d4c5ed517289f77074f8c337f451ba4c0c3ed1dd7f9ad60405160405180910390a460208281015173ffffffffffffffffffffffffffffffffffffffff8816600090815260028352604080822086517fffffffff000000000000000000000000000000000000000000000000000000001683529093529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905561115381611897565b9050611025565b505050505050565b611190336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b6111c6576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516bffffffffffffffffffffffff821681527fd888630b64a96cdd97f6fe3cf4f36a554f728804c3fb7e96b9b62a10b811ed0b9060200160405180910390a1600780547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff92909216919091179055565b611274336000357fffffffff000000000000000000000000000000000000000000000000000000001661138b565b6112aa576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166112f7576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460015460405173ffffffffffffffffffffffffffffffffffffffff8085169381169216907f4857570a90fe0a0fc580e89a287e77576141ac8e2e8b3710cd26db44f44156c190600090a4600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035460009060ff16156113bd575060005473ffffffffffffffffffffffffffffffffffffffff838116911614611449565b60015473ffffffffffffffffffffffffffffffffffffffff84811691161480611438575073ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b1561144557506001611449565b5060005b92915050565b8035801515811461145f57600080fd5b919050565b60006020828403121561147657600080fd5b61147f8261144f565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461145f57600080fd5b6000602082840312156114bc57600080fd5b61147f82611486565b803563ffffffff8116811461145f57600080fd5b6000602082840312156114eb57600080fd5b61147f826114c5565b80356bffffffffffffffffffffffff8116811461145f57600080fd5b6000806040838503121561152357600080fd5b61152c836114f4565b915061153a602084016114c5565b90509250929050565b60008060006040848603121561155857600080fd5b61156184611486565b9250602084013567ffffffffffffffff8082111561157e57600080fd5b818601915086601f83011261159257600080fd5b8135818111156115a157600080fd5b8760208260061b85010111156115b657600080fd5b6020830194508093505050509250925092565b6000602082840312156115db57600080fd5b61147f826114f4565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461145f57600080fd5b6000806040838503121561162757600080fd5b61163083611486565b915061153a602084016115e4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600b82810b9082900b037fffffffffffffffffffffffffffffffffffffffff80000000000000000000000081126b7fffffffffffffffffffffff821317156114495761144961163e565b63ffffffff8181168382160190808211156116d4576116d461163e565b5092915050565b63ffffffff8281168282160390808211156116d4576116d461163e565b600082600b0b82600b0b0280600b0b91508082146116d4576116d461163e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006bffffffffffffffffffffffff8084168061176657611766611718565b92169190910492915050565b600081600b0b83600b0b8061178957611789611718565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81147fffffffffffffffffffffffffffffffffffffffff800000000000000000000000831416156117dd576117dd61163e565b90059392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040828403121561182757600080fd5b6040516040810181811067ffffffffffffffff82111715611871577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405261187d836115e4565b815261188b6020840161144f565b60208201529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118c8576118c861163e565b506001019056fea26469706673582212202ab522363ca6830d0ff83f350e54cfe5a57041b171281998dbd20499691b9a4564736f6c634300081400330000000000000000000000009f90430179d9b67341bfa50559bc7b8e35629f1b00000000000000000000000094b62a27a2f23cbdc0220826a8452fb5055cf27300000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000001275000000000000000000000000000000000000000000000000000000001af2af8c84