19 txs
20 calls
constructor
constructor()
functions
DEFAULT_SALT
viewfunction DEFAULT_SALT() view returns (bytes32)
irm
viewfunction irm() view returns (address)
morpho
viewfunction morpho() view returns (address)
oracleFactory
viewfunction oracleFactory() view returns (address)
createMarketAndOracle
nonpayablefunction createMarketAndOracle(address loanAsset, address collateralAsset, uint256 lltv, address baseFeed1, address baseFeed2, address quoteFeed1, address quoteFeed2, uint256 baseVaultConversionSample, uint256 quoteVaultConversionSample, bytes32 salt, uint256 expectedPrice, uint256 allowedError) returns (tuple)
createMarketAndOracle
nonpayablefunction createMarketAndOracle(address loanAsset, address collateralAsset, uint256 lltv, address baseFeed1, address baseFeed2, address quoteFeed1, address quoteFeed2, uint256 baseVaultConversionSample, uint256 quoteVaultConversionSample, uint256 expectedPrice, uint256 allowedError) returns (tuple)
createMarketWithExistingOracle
nonpayablefunction createMarketWithExistingOracle(address loanAsset, address collateralAsset, uint256 lltv, address oracleAddress, uint256 expectedPrice, uint256 allowedError) returns (tuple)
events
MarketCreated
event MarketCreated(address indexed oracle, bytes32 indexed marketId, address indexed marketCreator, address loanAsset, address collateralAsset, uint256 lltv, uint256 expectedPrice, uint256 actualPrice, uint256 error, uint256 allowedError)
errors
ExpectedPriceMustBeGreaterThanZero
error ExpectedPriceMustBeGreaterThanZero()
FeedDecimalsMustBeGreaterThanZero
error FeedDecimalsMustBeGreaterThanZero()
FeedMustImplementDecimals
error FeedMustImplementDecimals()
FeedMustImplementLatestRoundData
error FeedMustImplementLatestRoundData()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
OracleScaleFactorInvalid
error OracleScaleFactorInvalid(uint256 scaleFactor)
PriceErrorExceedsAllowed
error PriceErrorExceedsAllowed(uint256 actualPrice, uint256 expectedPrice, uint256 error, uint256 allowedError)
UnsupportedChainId
error UnsupportedChainId()
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
creation bytecode
0x60e0806040523461010657466001036100a0575073bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb608052733a7bb36ee3f3ee32a60e9f2b33c1e5f2e83ad76660a05273870ac11d48b15db9a138cf899d20f13f79ba00bc60c0525b6040516110f9908161010b8239608051818181607b0152610cb0015260a05181818160c3015281816103b00152610812015260c0518181816105de0152610c830152f35b46612105036100f7575073bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb608052732dc205f24bcb6b311e5cdf0745b0741648aebd3d60a0527346415998764c29ab2a25cbea6254146d50d2268760c05261005c565b63c08c729760e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630e157ed61461060d57806328e8fe7d146105c95780633394e76d146101a25780636ed136381461010c578063a1fbf4b6146100f2578063c7f7fb90146100ae5763d8fbc83314610066575f80fd5b346100aa575f3660031901126100aa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b346100aa575f3660031901126100aa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100aa575f3660031901126100aa5760206040515f8152f35b346100aa5760c03660031901126100aa5761019e61015561012b610a00565b610133610a16565b61013b610a2c565b610143610ad6565b5060a435926084359260443591610bac565b6040519182918291909160808060a083019460018060a01b0380825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b0390f35b346100aa576101603660031901126100aa576101bc610a00565b6101c4610a16565b906101cd610a2c565b6101d5610a42565b906101de610a58565b6101e6610a6e565b9060e435936101f3610ad6565b506101fc610ad6565b5061010435938561020c82610fc5565b61021583610fc5565b61021e84610fc5565b61022785610fc5565b158015906105ba575b15610560576040516338d52e0f60e01b81526001600160a01b03891696906020816004818b5afa908115610447576004916020915f91610543575b5060405163313ce56760e01b815292839182906001600160a01b03165afa80156104475760ff915f91610524575b5016908061051f57506305f5e1005b925b6101043515801590610510575b156104b3576040516338d52e0f60e01b81526001600160a01b038a169390602081600481885afa908115610447576004916020915f91610486575b5060405163313ce56760e01b815292839182906001600160a01b03165afa80156104475760ff915f91610457575b5016978061045257506305f5e1005b945b604051632ccb377d60e21b81526001600160a01b039a8b166004820152602481019190915290891660448201529088166064820152608481019190915290861660a482015260c481019190915290841660e48201529083166101048201526101248101919091525f6101448201819052909160209183916101649183917f0000000000000000000000000000000000000000000000000000000000000000165af1908115610447575f91610402575b61019e61015561014435610124356001600160a01b0386166044358989610bac565b90506020813d821161043f575b8161041c60209383610ab4565b810103126100aa5751906001600160a01b03821682036100aa579061019e6103e0565b3d915061040f565b6040513d5f823e3d90fd5b61032f565b610479915060203d60201161047f575b6104718183610ab4565b810190610b00565b8d610320565b503d610467565b6104a69150823d84116104ac575b61049e8183610ab4565b810190610b19565b8e6102f2565b503d610494565b60405163313ce56760e01b81529296505f926020816004816001600160a01b038e165afa80156104475760ff915f916104f2575b501696600194610331565b61050a915060203d811161047f576104718183610ab4565b8c6104e7565b5061051a89610b38565b6102b7565b6102a8565b61053d915060203d60201161047f576104718183610ab4565b8b610299565b61055a9150823d84116104ac5761049e8183610ab4565b8c61026b565b60405163313ce56760e01b81525f96506020816004816001600160a01b038d165afa80156104475760ff915f9161059c575b50166001926102aa565b6105b4915060203d811161047f576104718183610ab4565b8a610592565b506105c488610b38565b610230565b346100aa575f3660031901126100aa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100aa576101803660031901126100aa57610627610a00565b61062f610a16565b90610638610a2c565b610640610a42565b90610649610a58565b610651610a6e565b9060e4359361065e610ad6565b50610667610ad6565b5061010435938561067782610fc5565b61068083610fc5565b61068984610fc5565b61069285610fc5565b158015906109f1575b15610997576040516338d52e0f60e01b81526001600160a01b0389811697916020816004818c5afa8015610447576020915f9161097a575b5060046040518094819363313ce56760e01b8352165afa80156104475760ff915f9161095b575b5016908061095657506305f5e1005b925b6101043515801590610947575b156108ea576040516338d52e0f60e01b81526001600160a01b038a169390602081600481885afa908115610447576004916020915f916108cd575b5060405163313ce56760e01b815292839182906001600160a01b03165afa80156104475760ff915f916108ae575b501697806108a957506305f5e1005b945b604051632ccb377d60e21b81526001600160a01b039a8b166004820152602481019190915290891660448201529088166064820152608481019190915290861660a482015260c481019190915290841660e48201529083166101048201526101248082019290925290356101448201529060209082906101649082905f907f0000000000000000000000000000000000000000000000000000000000000000165af1908115610447575f91610864575b61019e61015561016435610144356001600160a01b0386166044358989610bac565b90506020813d82116108a1575b8161087e60209383610ab4565b810103126100aa5751906001600160a01b03821682036100aa579061019e610842565b3d9150610871565b610790565b6108c7915060203d60201161047f576104718183610ab4565b8d610781565b6108e49150823d84116104ac5761049e8183610ab4565b8e610753565b60405163313ce56760e01b81529296505f926020816004816001600160a01b038e165afa80156104475760ff915f91610929575b501696600194610792565b610941915060203d811161047f576104718183610ab4565b8c61091e565b5061095189610b38565b610718565b610709565b610974915060203d60201161047f576104718183610ab4565b8b6106fa565b6109919150823d84116104ac5761049e8183610ab4565b8c6106d3565b60405163313ce56760e01b81525f96506020816004816001600160a01b038d165afa80156104475760ff915f916109d3575b501660019261070b565b6109eb915060203d811161047f576104718183610ab4565b8a6109c9565b506109fb88610b38565b61069b565b600435906001600160a01b03821682036100aa57565b602435906001600160a01b03821682036100aa57565b606435906001600160a01b03821682036100aa57565b608435906001600160a01b03821682036100aa57565b60a435906001600160a01b03821682036100aa57565b60c435906001600160a01b03821682036100aa57565b60a0810190811067ffffffffffffffff821117610aa057604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610aa057604052565b60405190610ae382610a84565b5f6080838281528260208201528260408201528260608201520152565b908160209103126100aa575160ff811681036100aa5790565b908160209103126100aa57516001600160a01b03811681036100aa5790565b60405160208101916338d52e0f60e01b835260048252604082019067ffffffffffffffff9383831085841117610aa0575f9384936040525191612710fa903d15610ba8573d908111610aa05760405190610b9c601f8201601f191660200183610ab4565b81525f60203d92013e90565b5090565b929391949094610bba610ad6565b506001600160a01b039384169485158015610ed3575b610ec1578416925f90801580610eb6575b610ea4576040928351636725addf60e11b81526020816004818a5afa908115610e9a578491610e64575b5080158015610e45575b610e2e5750835163501ad8ff60e11b81526020816004818a5afa938415610e23578094610de9575b505081831115610dd557610c5a82610c558186610edd565b610efe565b935b858511610dac578781519a610c708c610a84565b8a8c5216978860208c015287828c0152807f00000000000000000000000000000000000000000000000000000000000000001660608c01528260808c01527f000000000000000000000000000000000000000000000000000000000000000016803b156100aa578151634609ac5160e11b81528b516001600160a01b03908116600483015260208d01518116602483015260408d01518116604483015260608d015116606482015260808c01516084820152905f90829060a490829084905af18015610da257610d8b575b5060a08a20978151998a5260208a01528801526060870152608086015260a085015260c08401527f4f42eb788d994d4dabcd08fd18b44385bfa0f3126a4c279a501e325fed037b8c60e03394a490565b67ffffffffffffffff8111610aa05781525f610d3b565b82513d5f823e3d90fd5b838686856084945193638646292b60e01b85526004850152602484015260448301526064820152fd5b610de382610c558582610edd565b93610c5c565b909193506020823d602011610e1b575b81610e0660209383610ab4565b81010312610e18575051915f80610c3d565b80fd5b3d9150610df9565b8551903d90823e3d90fd5b6024908551906314590f3f60e11b82526004820152fd5b5074446c3b15f9926687d2c40534fdb564000000000000811015610c15565b90506020813d602011610e92575b81610e7f60209383610ab4565b81010312610e8e57515f610c0b565b8380fd5b3d9150610e72565b85513d86823e3d90fd5b604051631fb80c6b60e21b8152600490fd5b505f19841415610be1565b6040516342bcdf7f60e11b8152600490fd5b5084871615610bd0565b91908203918211610eea57565b634e487b7160e01b5f52601160045260245ffd5b90670de0b6b3a764000080830291905f1984820993838086109503948086039514610f8c5784831115610f7a57829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b60405163227bc15360e01b8152600490fd5b505080925015610f9a570490565b634e487b7160e01b5f52601260045260245ffd5b519069ffffffffffffffffffff821682036100aa57565b6001600160a01b031680156110c057604051633fabe5a360e21b815260a081600481855afa908161107b575b50611008576040516308787b4760e31b8152600490fd5b60206004916040519283809263313ce56760e01b82525afa5f918161105b575b5061103f57604051638ea420e760e01b8152600490fd5b60ff161561104957565b60405163dff4edbd60e01b8152600490fd5b61107491925060203d811161047f576104718183610ab4565b905f611028565b60a0813d82116110b8575b8161109360a09383610ab4565b810103126100aa576080816110aa6110b193610fae565b5001610fae565b505f610ff1565b3d9150611086565b5056fea2646970667358221220a20b0f9248d1eeada64e5d154a97dab6cef182ce25e0dc249a0219189090aaa964736f6c63430008150033