0 txs
309 calls
constructor
constructor(address _systemRegistry)
functions
accessController
viewfunction accessController() view returns (address)
getFnFlags
purefunction getFnFlags() pure returns (uint8)
getPoolConfig
viewfunction getPoolConfig(address pool) view returns (tuple)
getSystemRegistry
viewfunction getSystemRegistry() view returns (address)
isRebalanceToIdle
viewfunction isRebalanceToIdle(tuple params) view returns (bool)
configurePools
nonpayablefunction configurePools(address[] pools, uint256[] budgetsWad, uint256[] periodsInSeconds)
onDestinationDebtReport
nonpayablefunction onDestinationDebtReport(address, tuple)
onNavUpdate
nonpayablefunction onNavUpdate(tuple)
onRebalanceComplete
nonpayablefunction onRebalanceComplete(tuple, address)
onRebalanceDestinationVaultUpdated
nonpayablefunction onRebalanceDestinationVaultUpdated(tuple, address)
onRebalanceFeeProfitHandlingComplete
nonpayablefunction onRebalanceFeeProfitHandlingComplete(tuple, address)
onRebalanceInAssetsReturned
nonpayablefunction onRebalanceInAssetsReturned(tuple, address)
onRebalanceOutAssetsReady
nonpayablefunction onRebalanceOutAssetsReady(tuple, address)
onRebalanceStart
nonpayablefunction onRebalanceStart(tuple args, address)
onRegistered
nonpayablefunction onRegistered(bytes registrationData)
onUnregistered
nonpayablefunction onUnregistered(bytes cleanupData)
events
BudgetConfigured
event BudgetConfigured(address indexed pool, uint256 budgetWad, uint256 periodInSeconds)
BudgetPeriodReset
event BudgetPeriodReset(address indexed pool, uint256 timestamp)
SlippageConsumed
event SlippageConsumed(address indexed pool, uint256 valueOut, uint256 valueIn, uint256 aum, uint256 slippageWad, uint256 remainingBudget)
errors
AccessDenied
error AccessDenied()
BudgetExceeded
error BudgetExceeded(uint256 slippageWad, uint256 budgetWad, uint256 usedBudgetWad)
BudgetPeriodTooShort
error BudgetPeriodTooShort(uint256 period)
BudgetTooHigh
error BudgetTooHigh(uint256 budget)
InvalidParam
error InvalidParam(string paramName)
NotConfigured
error NotConfigured(address autopool)
NotImplemented
error NotImplemented()
UndefinedAddress
error UndefinedAddress()
ZeroAddress
error ZeroAddress(string paramName)
creation bytecode
0x60c060405234801562000010575f80fd5b506040516200162b3803806200162b833981016040819052620000339162000165565b80806001600160a01b031663bc43cbaf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000071573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000097919062000165565b81620000d1816040518060400160405280600f81526020016e5f73797374656d526567697374727960881b8152506200011460201b60201c565b6001600160a01b039081166080528116620000ff57604051630cbe126f60e11b815260040160405180910390fd5b6001600160a01b031660a05250620001d89050565b6001600160a01b03821662000149578060405163eac0d38960e01b81526004016200014091906200018a565b60405180910390fd5b5050565b6001600160a01b038116811462000162575f80fd5b50565b5f6020828403121562000176575f80fd5b815162000183816200014d565b9392505050565b5f602080835283518060208501525f5b81811015620001b8578581018301518582016040015282016200019a565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a051611423620002085f395f8181610188015261032b01525f81816101d70152610a5101526114235ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c8063afdac4e311610093578063f12baf5c11610063578063f12baf5c146101d5578063f1a92ac8146101fb578063f29486a11461020a578063f6c1bb7d146102df575f80fd5b8063afdac4e314610114578063bac96b231461015b578063bc43cbaf14610183578063c90ac6c0146101c2575f80fd5b80634329d847116100ce5780634329d84714610114578063608f27821461013a5780637c99468c14610114578063986f3e9f1461014d575f80fd5b806305dd3ee5146100ff578063169b3064146101145780631816b6a0146101275780633ac9a65814610114575b5f80fd5b61011261010d366004610d98565b6102ed565b005b610112610122366004610e41565b6104a4565b610112610135366004610e7f565b6104bd565b610112610148366004610e41565b610507565b610112610122366004610f6a565b61016e610169366004611012565b610861565b60405190151581526020015b60405180910390f35b6101aa7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161017a565b6101126101d0366004610e7f565b610880565b7f00000000000000000000000000000000000000000000000000000000000000006101aa565b6040516001815260200161017a565b61029c610218366004611028565b604080516080810182525f808252602082018190529181018290526060810191909152506001600160a01b03165f9081526020818152604091829020825160808101845290546001600160401b038082168352600160401b8204811693830193909352600160801b8104831693820193909352600160c01b90920416606082015290565b60405161017a919081516001600160401b039081168252602080840151821690830152604080840151821690830152606092830151169181019190915260800190565b61011261012236600461104a565b604051632474521560e21b81527fb9ee578399b30adde52e50aec40588f47e0410ff79189453eabe1223b277d01f60048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d1485490604401602060405180830381865afa158015610378573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039c91906110a2565b6103b957604051634ca8886760e01b815260040160405180910390fd5b8584811415806103c95750808314155b1561042657604051634389d5ab60e01b815260206004820152602160248201527f706f6f6c732b627564676574735761642b706572696f6473496e5365636f6e646044820152607360f81b60648201526084015b60405180910390fd5b5f5b8181101561049957610491898983818110610445576104456110bd565b905060200201602081019061045a9190611028565b88888481811061046c5761046c6110bd565b90506020020135878785818110610485576104856110bd565b905060200201356108c6565b600101610428565b505050505050505050565b60405163d623472560e01b815260040160405180910390fd5b6104c5610a4f565b61050382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610b5692505050565b5050565b61051382604001610861565b1561051c575050565b5f61052f368490038401604085016110d1565b335f90815260208181526040808320815160808101835290546001600160401b038082168352600160401b82048116948301859052600160801b82048116938301849052600160c01b90910416606082015293945061058e9190611160565b6001600160401b031642119050801561063c57602082015160408301516001600160401b039182169182916105c4911642611187565b6105ce919061119a565b6105d891906111b9565b82604001516001600160401b03166105f091906111d0565b6001600160401b03166040838101919091525f60608401525142815233907fcf799223382e2fabeb634f8bb68c379e20a999702f0a8f2963a796c606aff2ff9060200160405180910390a25b5f610654846060015185608001518660a00151610ba2565b5090505f61066e855f015186602001518760400151610ba2565b50604051635485113d60e11b81529091505f90339063a90a227a90610698906002906004016111e3565b602060405180830381865afa1580156106b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d79190611209565b90505f6106e48484610cbb565b90505f826106fa670de0b6b3a7640000846111b9565b610704919061119a565b90505f8188606001516001600160401b031661072091906111d0565b88519091506001600160401b031681111561076f578751606089015160405163191c09a960e11b8152600481018590526001600160401b0392831660248201529116604482015260640161041d565b6001600160401b0380821660608a01908152335f81815260208181526040918290208d518154928f0151938f015195518716600160c01b026001600160c01b03968816600160801b02969096166001600160801b03948816600160401b026001600160801b03199094169190971690811792909217929092169490941792909217909155907f32a3fb63c4ad83026248c140d536294b2b8c77065219376e2c605b8a3d663ad7908890889088908790610829908890611187565b604080519586526020860194909452928401919091526060830152608082015260a00160405180910390a25050505050505050505050565b5f336108706020840184611028565b6001600160a01b03161492915050565b610888610a4f565b61050382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610cdd92505050565b6108ec83604051806040016040528060048152602001631c1bdbdb60e21b815250610d06565b6109178260405180604001604052806009815260200168189d5919d95d15d85960ba1b815250610d2f565b67016345785d8a000082111561094357604051631fc667af60e01b81526004810183905260240161041d565b6201518081101561096a57604051632588617d60e01b81526004810182905260240161041d565b604080516080810182526001600160401b03808516825283811660208084019182524283168486019081525f606086018181526001600160a01b038b168083529382905290879020955186549451925191518616600160c01b026001600160c01b03928716600160801b02929092166001600160801b03938716600160401b026001600160801b031990961691909616179390931716929092171790915590517fa56a3c66ee9d78d2ddbb2dc816728bd51c91747c72c53409d44c78a1cbf398a290610a429085908590918252602082015260400190565b60405180910390a2505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663047e51386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acf9190611220565b60405163652b9b4160e01b81523360048201526001600160a01b03919091169063652b9b4190602401602060405180830381865afa158015610b13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3791906110a2565b610b5457604051634ca8886760e01b815260040160405180910390fd5b565b335f818152602081815260408083208390558051838152918201929092527fa56a3c66ee9d78d2ddbb2dc816728bd51c91747c72c53409d44c78a1cbf398a2910160405180910390a250565b5f805f846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c05919061123b565b9050336001600160a01b03871603610c2d5783610c2382600a61133b565b9250925050610cb3565b856001600160a01b031663708b0b5b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610c6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8e9190611209565b9150610c9b81600a61133b565b610ca585846111b9565b610caf919061119a565b9250505b935093915050565b5f828210610cca57505f610cd7565b610cd48284611187565b90505b92915050565b5f81806020019051810190610cf29190611349565b905061050333825f015183602001516108c6565b6001600160a01b038216610503578060405163eac0d38960e01b815260040161041d91906113a1565b815f036105035780604051634389d5ab60e01b815260040161041d91906113a1565b5f8083601f840112610d61575f80fd5b5081356001600160401b03811115610d77575f80fd5b6020830191508360208260051b8501011115610d91575f80fd5b9250929050565b5f805f805f8060608789031215610dad575f80fd5b86356001600160401b0380821115610dc3575f80fd5b610dcf8a838b01610d51565b90985096506020890135915080821115610de7575f80fd5b610df38a838b01610d51565b90965094506040890135915080821115610e0b575f80fd5b50610e1889828a01610d51565b979a9699509497509295939492505050565b6001600160a01b0381168114610e3e575f80fd5b50565b5f80828403610120811215610e54575f80fd5b61010080821215610e63575f80fd5b8493508301359050610e7481610e2a565b809150509250929050565b5f8060208385031215610e90575f80fd5b82356001600160401b0380821115610ea6575f80fd5b818501915085601f830112610eb9575f80fd5b813581811115610ec7575f80fd5b866020828501011115610ed8575f80fd5b60209290920196919550909350505050565b60405161012081016001600160401b0381118282101715610f1957634e487b7160e01b5f52604160045260245ffd5b60405290565b60405160c081016001600160401b0381118282101715610f1957634e487b7160e01b5f52604160045260245ffd5b8015158114610e3e575f80fd5b8035610f6581610f4d565b919050565b5f80828403610140811215610f7d575f80fd5b8335610f8881610e2a565b9250610120601f198201811315610f9d575f80fd5b610fa5610eea565b9150610fb360208601610f5a565b825260408501356020830152606085013560408301526080850135606083015260a0850135608083015260c085013560a083015260e085013560c08301526101008086013560e084015281860135818401525050809150509250929050565b5f60c08284031215611022575f80fd5b50919050565b5f60208284031215611038575f80fd5b813561104381610e2a565b9392505050565b5f60c0828403121561105a575f80fd5b611062610f1f565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b5f602082840312156110b2575f80fd5b815161104381610f4d565b634e487b7160e01b5f52603260045260245ffd5b5f60c082840312156110e1575f80fd5b6110e9610f1f565b82356110f481610e2a565b8152602083013561110481610e2a565b602082015260408381013590820152606083013561112181610e2a565b6060820152608083013561113481610e2a565b608082015260a0928301359281019290925250919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190808211156111805761118061114c565b5092915050565b81810381811115610cd757610cd761114c565b5f826111b457634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610cd757610cd761114c565b80820180821115610cd757610cd761114c565b602081016003831061120357634e487b7160e01b5f52602160045260245ffd5b91905290565b5f60208284031215611219575f80fd5b5051919050565b5f60208284031215611230575f80fd5b815161104381610e2a565b5f6020828403121561124b575f80fd5b815160ff81168114611043575f80fd5b600181815b8085111561129557815f190482111561127b5761127b61114c565b8085161561128857918102915b93841c9390800290611260565b509250929050565b5f826112ab57506001610cd7565b816112b757505f610cd7565b81600181146112cd57600281146112d7576112f3565b6001915050610cd7565b60ff8411156112e8576112e861114c565b50506001821b610cd7565b5060208310610133831016604e8410600b8410161715611316575081810a610cd7565b611320838361125b565b805f19048211156113335761133361114c565b029392505050565b5f610cd460ff84168361129d565b5f60408284031215611359575f80fd5b604051604081018181106001600160401b038211171561138757634e487b7160e01b5f52604160045260245ffd5b604052825181526020928301519281019290925250919050565b5f602080835283518060208501525f5b818110156113cd578581018301518582016040015282016113b1565b505f604082860101526040601f19601f830116850101925050509291505056fea2646970667358221220a9fabf9ff37ff4192cb669c9b0629e0ea26ef582e777067168647f08b536c5f664736f6c634300081800330000000000000000000000002218f90a98b0c070676f249ef44834686daa4285