0 txs
10 calls
constructor
constructor(address _systemRegistry)
functions
accessController
viewfunction accessController() view returns (address)
destination
viewfunction destination() view returns (address)
getAddressId
viewfunction getAddressId() view returns (address)
getAprId
viewfunction getAprId() view returns (bytes32)
getSystemRegistry
viewfunction getSystemRegistry() view returns (address)
lpToken
viewfunction lpToken() view returns (address)
lstStats
viewfunction lstStats(uint256) view returns (address)
shouldSnapshot
purefunction shouldSnapshot() pure returns (bool)
current
nonpayablefunction current() returns (tuple retData)
initialize
nonpayablefunction initialize(bytes32[] dependentAprIds, bytes initData)
setDestination
nonpayablefunction setDestination(address _destination)
snapshot
nonpayablefunction snapshot()
events
DexSnapshotTaken
event DexSnapshotTaken(uint256 snapshotTimestamp, uint256 priorFeeApr, uint256 newFeeApr, uint256 unfilteredFeeApr)
Initialized
event Initialized(uint8 version)
errors
AccessDenied
error AccessDenied()
AlreadySet
error AlreadySet(string param)
CalculatorAssetMismatch
error CalculatorAssetMismatch(bytes32 aprId, address calculator, address coin)
DependentAprIdsMismatchTokens
error DependentAprIdsMismatchTokens(uint256 numDependentAprIds, uint256 numCoins)
MissingRole
error MissingRole(bytes32 role, address user)
NoSnapshotTaken
error NoSnapshotTaken()
UndefinedAddress
error UndefinedAddress()
ZeroAddress
error ZeroAddress(string paramName)
creation bytecode
0x60c060405234801562000010575f80fd5b50604051620016a6380380620016a683398101604081905262000033916200022a565b8080816001600160a01b031663bc43cbaf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000072573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200009891906200022a565b6001600160a01b038116620000c057604051630cbe126f60e11b815260040160405180910390fd5b6001600160a01b031660805260408051808201909152600f81526e5f73797374656d526567697374727960881b6020820152620000ff9082906200011d565b6001600160a01b031660a0526200011562000156565b50506200029d565b6001600160a01b03821662000152578060405163eac0d38960e01b81526004016200014991906200024f565b60405180910390fd5b5050565b5f54610100900460ff1615620001bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840162000149565b5f5460ff908116101562000210575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b038116811462000227575f80fd5b50565b5f602082840312156200023b575f80fd5b8151620002488162000212565b9392505050565b5f602080835283518060208501525f5b818110156200027d578581018301518582016040015282016200025f565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a0516113cb620002db5f395f81816101a5015281816104d3015261085501525f8181610160015281816102070152610b8001526113cb5ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c80639fa6a6e31161006e5780639fa6a6e314610133578063b269681d14610148578063bc43cbaf1461015b578063ca08c66314610182578063cbd0a0cd14610195578063f12baf5c146101a3575f80fd5b80630a0a05e6146100b55780630a4df617146100ca578063243a6cdf146100e05780632b5663ec146100f35780635fcbd285146101185780639711715a1461012b575b5f80fd5b6100c86100c3366004610d30565b6101c9565b005b6001546040519081526020015b60405180910390f35b6100c86100ee366004610d52565b610332565b6004546001600160a01b03165b6040516001600160a01b0390911681526020016100d7565b600454610100906001600160a01b031681565b6100c86107c2565b61013b61084a565b6040516100d79190610f03565b600554610100906001600160a01b031681565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b61010061019036600461100a565b610b03565b6040515f81526020016100d7565b7f0000000000000000000000000000000000000000000000000000000000000000610100565b604051632474521560e21b81527f9bc78ebd2be8e1b5ecf0fba1af429ab710a93f07f75036d7a13bee869f42bc9760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d1485490604401602060405180830381865afa158015610254573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102789190611021565b61029557604051634ca8886760e01b815260040160405180910390fd5b6102c2826040518060400160405280600b81526020016a3232b9ba34b730ba34b7b760a91b815250610b2b565b6005546001600160a01b03161561030f576040516318e330f560e21b815260206004820152600b60248201526a3232b9ba34b730ba34b7b760a91b60448201526064015b60405180910390fd5b50600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff161580801561035057505f54600160ff909116105b806103695750303b15801561036957505f5460ff166001145b6103cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610306565b5f805460ff1916600117905580156103ed575f805461ff0019166101001790555b5f6103fa838501856110a1565b905061042c815f01516040518060400160405280600b81526020016a1d1bdad95b951bd21bdb1960aa1b815250610b2b565b8051600480546001600160a01b0319166001600160a01b039092169190911790556001851461047857604051638736773d60e01b81526004810186905260016024820152604401610306565b8051604080516020808201839052600a6060830152690686f6c642d65726332360b41b6080808401919091526001600160a01b03909416828401528251808303909401845260a090910190915281519101206001819055505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632fd784fe6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055191906110eb565b90505f87875f81811061056657610566611106565b9050602002013590505f826001600160a01b031663e46df757836040518263ffffffff1660e01b815260040161059e91815260200190565b602060405180830381865afa1580156105b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105dd91906110eb565b9050835f01516001600160a01b0316816001600160a01b0316632b5663ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610628573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064c91906110eb565b6001600160a01b03161461069057835160405163032f97c960e31b8152600481018490526001600160a01b0380841660248301529091166044820152606401610306565b6040805160018082528183019092529060208083019080368337505081516106bf926003925060200190610bf4565b508060035f815481106106d4576106d4611106565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550835f01516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610762919061111a565b61076d90600a61122e565b6002555050821591506107bb9050575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6107ec7fb24d60b8ec6e13b591c36c81b8ba9e01422aace0ada340f101db25935eac6d9433610b58565b610831576040516301d4003760e61b81527fb24d60b8ec6e13b591c36c81b8ba9e01422aace0ada340f101db25935eac6d946004820152336024820152604401610306565b60405163e80707e160e01b815260040160405180910390fd5b610852610c57565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f3c274f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d391906110eb565b6040805160018082528183019092529192505f9190816020015b6108f5610cb5565b8152602001906001900390816108ed5750506040805160018082528183019092529192505f91906020808301908036833701905050905060035f8154811061093f5761093f611106565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316639fa6a6e36040518163ffffffff1660e01b81526004016101c0604051808303815f875af1158015610997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bb9190611255565b825f815181106109cd576109cd611106565b602002602001018190525060025460055f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4f91906112fc565b600480546040516334ff2eeb60e01b81526001600160a01b03918216928101929092528616906334ff2eeb906024016020604051808303815f875af1158015610a9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abe91906112fc565b610ac89190611313565b610ad2919061132a565b815f81518110610ae457610ae4611106565b6020908102919091010152428452608084019190915260408301525090565b60038181548110610b12575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b038216610b54578060405163eac0d38960e01b81526004016103069190611349565b5050565b604051632474521560e21b8152600481018390526001600160a01b0382811660248301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906391d1485490604401602060405180830381865afa158015610bc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610beb9190611021565b90505b92915050565b828054828255905f5260205f20908101928215610c47579160200282015b82811115610c4757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610c12565b50610c53929150610ce6565b5090565b6040518060a001604052805f81526020015f815260200160608152602001610ca86040518060a001604052805f81526020016060815260200160608152602001606081526020015f60ff1681525090565b8152602001606081525090565b6040518060a001604052805f81526020015f81526020015f8152602001610cda610cfa565b81525f60209091015290565b5b80821115610c53575f8155600101610ce7565b604051806101400160405280600a906020820280368337509192915050565b6001600160a01b0381168114610d2d575f80fd5b50565b5f60208284031215610d40575f80fd5b8135610d4b81610d19565b9392505050565b5f805f8060408587031215610d65575f80fd5b843567ffffffffffffffff80821115610d7c575f80fd5b818701915087601f830112610d8f575f80fd5b813581811115610d9d575f80fd5b8860208260051b8501011115610db1575f80fd5b602092830196509450908601359080821115610dcb575f80fd5b818701915087601f830112610dde575f80fd5b813581811115610dec575f80fd5b886020828501011115610dfd575f80fd5b95989497505060200194505050565b5f815180845260208085019450602084015f5b83811015610e3b57815187529582019590820190600101610e1f565b509495945050505050565b5f815180845260208085019450602084015f5b83811015610e3b57815164ffffffffff1687529582019590820190600101610e59565b5f8151808452602080850194508084015f5b83811015610e3b57815180518852838101518489015260408082015190890152606080820151908901905f5b600a811015610edc57815162ffffff1683529186019190860190600101610eba565b5050506080015164ffffffffff166101a08801526101c09096019590820190600101610e8e565b5f6020808352835181840152808401516040840152604084015160a06060850152610f3160c0850182610e0c565b90506060850151601f198086840301608087015260a08301825184528483015160a08686015281815180845260c08701915087830193505f92505b80831015610f955783516001600160a01b03168252928701926001929092019190870190610f6c565b50604085015196508581036040870152610faf8188610e0c565b965050505060608201518385036060850152610fcb8582610e46565b94505060808201519150610fe4608084018360ff169052565b60808701519250808685030160a087015250506110018282610e7c565b95945050505050565b5f6020828403121561101a575f80fd5b5035919050565b5f60208284031215611031575f80fd5b81518015158114610d4b575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405160a0810167ffffffffffffffff8111828210171561107757611077611040565b60405290565b604051610140810167ffffffffffffffff8111828210171561107757611077611040565b5f602082840312156110b1575f80fd5b6040516020810181811067ffffffffffffffff821117156110d4576110d4611040565b60405282356110e281610d19565b81529392505050565b5f602082840312156110fb575f80fd5b8151610d4b81610d19565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561112a575f80fd5b815160ff81168114610d4b575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561118857815f190482111561116e5761116e61113a565b8085161561117b57918102915b93841c9390800290611153565b509250929050565b5f8261119e57506001610bee565b816111aa57505f610bee565b81600181146111c057600281146111ca576111e6565b6001915050610bee565b60ff8411156111db576111db61113a565b50506001821b610bee565b5060208310610133831016604e8410600b8410161715611209575081810a610bee565b611213838361114e565b805f19048211156112265761122661113a565b029392505050565b5f610beb60ff841683611190565b805164ffffffffff81168114611250575f80fd5b919050565b5f6101c08284031215611266575f80fd5b61126e611054565b8251815260208084015160208301526040840151604083015284607f850112611295575f80fd5b61129d61107d565b806101a08601878111156112af575f80fd5b606087015b818110156112db57805162ffffff811681146112ce575f80fd5b84529284019284016112b4565b508160608601526112eb8161123c565b608086015250929695505050505050565b5f6020828403121561130c575f80fd5b5051919050565b8082028115828204841417610bee57610bee61113a565b5f8261134457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b8181101561137557858101830151858201604001528201611359565b505f604082860101526040601f19601f830116850101925050509291505056fea264697066735822122038f5d45561dabf9d18cd92a9492ac77f293f9853a9739aa05a8ded04069a239264736f6c634300081800330000000000000000000000002218f90a98b0c070676f249ef44834686daa4285