0 txs
141 calls
constructor
constructor(address evc, address admin)
functions
CAPS_EMERGENCY_ROLE
viewfunction CAPS_EMERGENCY_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
EVC
viewfunction EVC() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
getRoleMembers
viewfunction getRoleMembers(bytes32 role) view returns (address[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
HOOK_EMERGENCY_ROLE
viewfunction HOOK_EMERGENCY_ROLE() view returns (bytes32)
isGovernorAccessControl
purefunction isGovernorAccessControl() pure returns (bytes4)
LTV_EMERGENCY_ROLE
viewfunction LTV_EMERGENCY_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
WILD_CARD
viewfunction WILD_CARD() view returns (bytes32)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address admin)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCaps
nonpayablefunction setCaps(uint16 supplyCap, uint16 borrowCap)
setHookConfig
nonpayablefunction setHookConfig(address newHookTarget, uint32 newHookedOps)
setLTV
nonpayablefunction setLTV(address collateral, uint16 borrowLTV, uint16 liquidationLTV, uint32 rampDuration)
events
Initialized
event Initialized(uint64 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
ControllerDisabled
error ControllerDisabled()
EVC_InvalidAddress
error EVC_InvalidAddress()
InvalidInitialization
error InvalidInitialization()
MsgDataInvalid
error MsgDataInvalid()
NotAuthorized
error NotAuthorized()
NotInitializing
error NotInitializing()
creation bytecode
0x60a060405234801562000010575f80fd5b506040516200212e3803806200212e833981016040819052620000339162000391565b81818181816001600160a01b0381166200006057604051638133abd160e01b815260040160405180910390fd5b6001600160a01b0316608052620000785f826200008f565b5062000083620000ec565b50505050505062000404565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200081620000be8585620001a0565b90508015620000e2575f858152602083905260409020620000e0908562000272565b505b9150505b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156200013d5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146200019d5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff1662000268575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556200021d6200028f565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050620000e6565b5f915050620000e6565b5f62000288836001600160a01b0384166200029f565b9392505050565b5f6200029a620002ee565b905090565b5f818152600183016020526040812054620002e657508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155620000e6565b505f620000e6565b6080515f9033906001600160a01b031681036200037557608051604051630c281d0f60e11b81525f60048201526001600160a01b03909116906318503a1e906024016040805180830381865afa1580156200034b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003719190620003c7565b5090505b919050565b80516001600160a01b038116811462000375575f80fd5b5f8060408385031215620003a3575f80fd5b620003ae836200037a565b9150620003be602084016200037a565b90509250929050565b5f8060408385031215620003d9575f80fd5b620003e4836200037a565b915060208301518015158114620003f9575f80fd5b809150509250929050565b608051611cee620004405f395f818161034701528181610ca301528181610ccc01528181610e5601528181611347015261139b0152611cee5ff3fe608060405234801561000f575f80fd5b506004361061016a575f3560e01c8063a70354a1116100cb578063d547741f1161007f578063d9b1b6d411610064578063d9b1b6d4146103f1578063ead740b214610418578063ef5dd37c1461043f5761016a565b8063d547741f146103cb578063d87f780f146103de5761016a565b8063c4d66de8116100b0578063c4d66de814610392578063ca15c873146103a5578063d1a3a308146103b85761016a565b8063a70354a114610345578063acbe5ee41461036b5761016a565b806385c9a1121161012257806391d148541161010757806391d14854146102ba578063a217fddf1461031e578063a3246ad3146103255761016a565b806385c9a112146102545780639010d07c146102825761016a565b80632f2ff15d116101535780632f2ff15d1461021b57806336568abe1461022e5780634bca3d5b146102415761016a565b806301ffc9a7146101a4578063248a9ca3146101cc575b610172610466565b5f61017b61047b565b905060143603805f80375f80825f80865af190503d5f803e80801561019e573d5ff35b3d5ffd5b005b6101b76101b23660046118ec565b6104e1565b60405190151581526020015b60405180910390f35b61020d6101da36600461192b565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b6040519081526020016101c3565b6101a2610229366004611963565b61053c565b6101a261023c366004611963565b610555565b6101a261024f3660046119b1565b61056a565b6040517f85c9a1120000000000000000000000000000000000000000000000000000000081526020016101c3565b610295610290366004611a0a565b610754565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c3565b6101b76102c8366004611963565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61020d5f81565b61033861033336600461192b565b610794565b6040516101c39190611a2a565b7f0000000000000000000000000000000000000000000000000000000000000000610295565b61020d7f63c206f88dfe835408c4d0a05b023c1a3d796c1f9d8136eb42612d21a98cdada81565b6101a26103a0366004611a83565b6107d7565b61020d6103b336600461192b565b610957565b6101a26103c6366004611a9e565b61098e565b6101a26103d9366004611963565b610ab3565b6101a26103ec366004611aca565b610ac8565b61020d7f6d27321c8241b2f568cfa0ad73007fb312b79f68b63d2548d229ce726ffa77e781565b61020d7f0ee15ff728af848bb6b800e6994570cc612892773bb0b8ddbcad181a431bda2081565b61020d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6104706001610c8b565b50610479610f5a565b565b5f601436116104b6576040517f972dd62600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610536575061053682611065565b92915050565b6105466001610c8b565b5061055182826110fb565b5050565b61055f6001610c8b565b506105518282611144565b6105746001610c8b565b505f61057e61047b565b6040517f33708d0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301529192505f91829182918516906333708d0c9060240160a060405180830381865afa1580156105f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106159190611af6565b50935050925092505f8361ffff168861ffff1610801561063c57508261ffff168761ffff16145b905080801561067257506106727f0ee15ff728af848bb6b800e6994570cc612892773bb0b8ddbcad181a431bda206102c86111bf565b156106a757428265ffffffffffff16111561069e576106994265ffffffffffff8416611b9e565b6106a0565b5f5b95506106af565b6106af610466565b6040517f4bca3d5b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015261ffff808b1660248401528916604483015263ffffffff88166064830152861690634bca3d5b906084015f604051808303815f87803b158015610733575f80fd5b505af1158015610745573d5f803e3d5ffd5b50505050505050505050505050565b5f8281527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200060208190526040822061078c90846111cd565b949350505050565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200060208190526040909120606091906107d0906111d8565b9392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156108215750825b90505f8267ffffffffffffffff16600114801561083d5750303b155b90508115801561084b575080155b15610882576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156108e35784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6108ed5f876111e4565b50831561094f5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320006020819052604082206107d090611239565b6109986001610c8b565b505f6109a261047b565b90505f73ffffffffffffffffffffffffffffffffffffffff84161580156109e057506109d16001618000611bb1565b63ffffffff168363ffffffff16145b9050801580610a185750610a167f6d27321c8241b2f568cfa0ad73007fb312b79f68b63d2548d229ce726ffa77e76102c86111bf565b155b15610a2557610a25610466565b6040517fd1a3a30800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015263ffffffff8516602483015283169063d1a3a308906044015f604051808303815f87803b158015610a97575f80fd5b505af1158015610aa9573d5f803e3d5ffd5b5050505050505050565b610abd6001610c8b565b506105518282611242565b610ad26001610c8b565b505f610adc61047b565b90505f610aec8461ffff16611285565b90505f610afc8461ffff16611285565b90505f808473ffffffffffffffffffffffffffffffffffffffff166318e22d986040518163ffffffff1660e01b81526004016040805180830381865afa158015610b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c9190611bce565b61ffff9182169350169050610b8082611285565b9150610b8f8161ffff16611285565b90505f82851080610b9f57508184105b8015610bb65750828511158015610bb65750818411155b9050801580610bee5750610bec7f63c206f88dfe835408c4d0a05b023c1a3d796c1f9d8136eb42612d21a98cdada6102c86111bf565b155b15610bfb57610bfb610466565b6040517fd87f780f00000000000000000000000000000000000000000000000000000000815261ffff808a1660048301528816602482015273ffffffffffffffffffffffffffffffffffffffff87169063d87f780f906044015f604051808303815f87803b158015610c6b575f80fd5b505af1158015610c7d573d5f803e3d5ffd5b505050505050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610f53575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633a1a3a1d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d579190611bfb565b905077ff00000000000000000000000000000000000000000000008116151580610d99575076ff00000000000000000000000000000000000000000000811615155b80610dbb575075ff000000000000000000000000000000000000000000811615155b15610df2576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811683156107d0576040517f442b172c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063442b172c90602401602060405180830381865afa158015610e9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec19190611c12565b905073ffffffffffffffffffffffffffffffffffffffff811615801590610f1457508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610f4b576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b509392505050565b5033919050565b5f610f636111bf565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fd6a0f0d02e80afe4d392b914d5dbae549d11e7861a9d75e7a6bf529698624689602052604090205490915060ff1615801561102b57505f80357fffffffff000000000000000000000000000000000000000000000000000000001681527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611062576040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610536565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154611134816112d1565b61113e83836111e4565b50505050565b61114c6111bf565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111b0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ba82826112e2565b505050565b5f6111c861132e565b905090565b5f6107d08383611421565b60605f6107d083611447565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320008161121185856114a0565b9050801561078c575f85815260208390526040902061123090856115c6565b50949350505050565b5f610536825490565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015461127b816112d1565b61113e83836112e2565b5f61ffff82168082036112ba57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b6064603f8216600a0a600683901c02049392505050565b611062816112dd6111bf565b6115e7565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320008161130f8585611691565b9050801561078c575f85815260208390526040902061123090856117a5565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016810361141c576040517f18503a1e0000000000000000000000000000000000000000000000000000000081525f60048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906318503a1e906024016040805180830381865afa1580156113f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114189190611c2d565b5090505b919050565b5f825f01828154811061143657611436611c5e565b905f5260205f200154905092915050565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561149457602002820191905f5260205f20905b815481526020019060010190808311611480575b50505050509050919050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff166115b6575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556115526111bf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610536565b5f915050610536565b5092915050565b5f6107d08373ffffffffffffffffffffffffffffffffffffffff84166117c6565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610551576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810183905260440160405180910390fd5b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff16156115b6575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556117416111bf565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001915050610536565b5f6107d08373ffffffffffffffffffffffffffffffffffffffff8416611812565b5f81815260018301602052604081205461180b57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610536565b505f610536565b5f81815260018301602052604081205480156115b6575f611834600183611b9e565b85549091505f9061184790600190611b9e565b90508082146118a6575f865f01828154811061186557611865611c5e565b905f5260205f200154905080875f01848154811061188557611885611c5e565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806118b7576118b7611c8b565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610536565b5f602082840312156118fc575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146107d0575f80fd5b5f6020828403121561193b575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611062575f80fd5b5f8060408385031215611974575f80fd5b82359150602083013561198681611942565b809150509250929050565b61ffff81168114611062575f80fd5b63ffffffff81168114611062575f80fd5b5f805f80608085870312156119c4575f80fd5b84356119cf81611942565b935060208501356119df81611991565b925060408501356119ef81611991565b915060608501356119ff816119a0565b939692955090935050565b5f8060408385031215611a1b575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b81811015611a7757835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611a45565b50909695505050505050565b5f60208284031215611a93575f80fd5b81356107d081611942565b5f8060408385031215611aaf575f80fd5b8235611aba81611942565b91506020830135611986816119a0565b5f8060408385031215611adb575f80fd5b8235611ae681611991565b9150602083013561198681611991565b5f805f805f60a08688031215611b0a575f80fd5b8551611b1581611991565b6020870151909550611b2681611991565b6040870151909450611b3781611991565b606087015190935065ffffffffffff81168114611b52575f80fd5b6080870151909250611b63816119a0565b809150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561053657610536611b71565b63ffffffff8281168282160390808211156115bf576115bf611b71565b5f8060408385031215611bdf575f80fd5b8251611bea81611991565b602084015190925061198681611991565b5f60208284031215611c0b575f80fd5b5051919050565b5f60208284031215611c22575f80fd5b81516107d081611942565b5f8060408385031215611c3e575f80fd5b8251611c4981611942565b60208401519092508015158114611986575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea26469706673582212203d4a9d71c823621304685369968ce3e44c45200c5ee21d397afabf1e4cf9703464736f6c634300081800330000000000000000000000000c9a3dd6b8f28529d72d7f9ce918d493519ee383000000000000000000000000ee009faf00cf54c1b4387829af7a8dc5f0c8c8c5