0 txs
193 calls
constructor
No constructor.
functions
getMarketCollateralAmount
viewfunction getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)
getMarketCollateralValue
viewfunction getMarketCollateralValue(uint128 marketId) view returns (uint256)
getMaximumMarketCollateral
viewfunction getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)
configureMaximumMarketCollateral
nonpayablefunction configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)
depositMarketCollateral
nonpayablefunction depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)
withdrawMarketCollateral
nonpayablefunction withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)
events
MarketCollateralDeposited
event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)
MarketCollateralWithdrawn
event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)
MaximumMarketCollateralConfigured
event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)
errors
CollateralNotFound
error CollateralNotFound()
DeprecatedDeposit
error DeprecatedDeposit()
EmptyRevertReason
error EmptyRevertReason()
FailedTransfer
error FailedTransfer(address from, address to, uint256 value)
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InsufficientMarketCollateralDepositable
error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)
InsufficientMarketCollateralWithdrawable
error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)
OverflowInt256ToUint256
error OverflowInt256ToUint256()
OverflowUint256ToInt256
error OverflowUint256ToInt256()
PrecisionLost
error PrecisionLost(uint256 tokenAmount, uint8 decimals)
Unauthorized
error Unauthorized(address addr)
creation bytecode
0x608060405234801561001057600080fd5b50611727806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806312e1c67314610067578063a3aa8b511461008c578063a4e6306b146100a1578063c2b0cf41146100b4578063d4f88381146100c7578063dbdea94c146100da575b600080fd5b61007a6100753660046112d8565b6100ed565b60405190815260200160405180910390f35b61009f61009a36600461130b565b61011f565b005b61009f6100af36600461130b565b61039d565b61007a6100c23660046112d8565b61057d565b61007a6100d5366004611347565b610601565b61009f6100e836600461130b565b61062b565b6000806100f9846106c1565b6001600160a01b0384166000908152600e90910160205260409020549150505b92915050565b6101487f77697468647261774d61726b6574436f6c6c61746572616c0000000000000000610737565b6000610153846106c1565b9050600061016a836101648661076b565b906107d9565b60018301549091506001600160a01b0316610183610949565b6001600160a01b0316146101c357610199610949565b60405163472511eb60e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b60006101cf8386610986565b9050600083600d0182815481106101e8576101e8611362565b906000526020600020906002020190508060010154831115610223578686866040516348c49e4560e01b81526004016101ba93929190611378565b8281600101600082825461023791906113b8565b909155508590506102516001600160a01b03881630610a5a565b101561027057604051637e54d70360e11b815260040160405180910390fd5b60008061027c86610acf565b9150915060008061028c88610bb9565b9150915061029983610c73565b6102a281610c73565b60006102ad85610c83565b60028a01546102c69190600160801b9004600f0b6113cb565b905060008112156102f0578b8b8b6040516348c49e4560e01b81526004016101ba93929190611378565b600189015461030c906001600160a01b038d811691168c610cb1565b610314610949565b60028a0154604080518d8152600160801b8304600f90810b60208301529290920b9082015260608101879052608081018590526001600160a01b03918216918d16906001600160801b038f16907f88eb4cc1feb3af3a3e45798dc1d42ec34ef453093ffe0c56fc36e27abd2cc4d79060a0015b60405180910390a4505050505050505050505050565b6103c67f6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000610737565b60006103d1846106c1565b60018101549091506001600160a01b03166103ea610949565b6001600160a01b03161461040057610199610949565b600061040f836101648661076b565b6001600160a01b0385166000908152600e840160205260408120549192506104378487610986565b9050600084600d01828154811061045057610450611362565b906000526020600020906002020190508284826001015461047191906113f3565b111561049657878787604051632182552b60e11b81526004016101ba93929190611378565b838160010160008282546104aa91906113f3565b909155505060018501546104cc906001600160a01b0389811691163089610dba565b6000806104d887610acf565b915091506000806104e889610bb9565b915091506104f583610c73565b6104fe81610c73565b610506610949565b60028a0154604080518d8152600160801b8304600f90810b60208301529290920b9082015260608101869052608081018490526001600160a01b03918216918d16906001600160801b038f16907f0268c0025d1310f8cbf9a431c755af708633271b9b5902855857297267d6f41b9060a001610387565b600080610589846106c1565b9050600d810160005b81548110156105f85760008282815481106105af576105af611362565b6000918252602090912060029091020180549091506001600160a01b038088169116036105e55760010154935061011992505050565b50806105f081611406565b915050610592565b50505092915050565b6000806000610617610612856106c1565b610acf565b9150915061062481610c73565b5092915050565b610633610ece565b600061063e846106c1565b6001600160a01b0384166000908152600e8201602052604090208390559050610665610949565b6001600160a01b0316836001600160a01b0316856001600160801b03167f499c8fcfbc4341c37dcf444c890d42ef888d46aa586f97ceb20577c2635c8075856040516106b391815260200190565b60405180910390a450505050565b6000808260405160200161071891906040808252601d908201527f696f2e73796e7468657469782e73796e7468657469782e4d61726b657400000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b61074881610743610949565b610f0b565b61076857604051637e023fb760e01b8152600481018290526024016101ba565b50565b6000808260405160200161071891906040808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e436f6c6c617465726160608201526d3621b7b73334b3bab930ba34b7b760911b60808201526001600160a01b0391909116602082015260a00190565b60058201546000906001600160a01b031661080757604051635b348b0760e11b815260040160405180910390fd5b8260050160009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610878575060408051601f3d908101601f191682019092526108759181019061141f565b60015b610883575080610119565b8060ff1660120361089657829150610624565b60128160ff1610156108d0576108ad81600a611526565b6108bf670de0b6b3a764000085611535565b6108c99190611562565b9150610624565b6108db601282611576565b6108e690600a611526565b6108f0908461158f565b1561091a5760405163286d272760e11b81526004810184905260ff821660248201526044016101ba565b61092581600a611526565b610937670de0b6b3a764000085611535565b6109419190611562565b949350505050565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e3314801561096f575060143610155b15610981575060131936013560601c90565b503390565b6000600d8301815b81548110156109ef5760008282815481106109ab576109ab611362565b6000918252602090912060029091020180549091506001600160a01b038087169116036109dc575091506101199050565b50806109e781611406565b91505061098e565b50604080518082019091526001600160a01b03848116825260006020808401828152600d8901805460018082018355828652939094209551600290940290950180546001600160a01b03191693909416929092178355905191810191909155905461094191906113b8565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a0823190602401602060405180830381865afa158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac891906115a3565b9392505050565b600060606000805b600d850154811015610bb057600085600d018281548110610afa57610afa611362565b600091825260208083206040805180820190915260029093020180546001600160a01b031680845260019091015491830191909152909250610b3b9061076b565b90508160200151600003610b50575050610b9e565b600080610b61838560200151610f51565b8051919350915015610b7d576000999098509650505050505050565b6020840151610b8d9083906110e5565b610b9790876113f3565b9550505050505b80610ba881611406565b915050610ad7565b50939092509050565b6001810154815460405163bcec0d0f60e01b81526001600160801b0390911660048201526000916060916001600160a01b039091169063bcec0d0f90602401602060405180830381865afa925050508015610c31575060408051601f3d908101601f19168201909252610c2e918101906115a3565b60015b610c6c573d808015610c5f576040519150601f19603f3d011682016040523d82523d6000602084013e610c64565b606091505b509050915091565b9150915091565b8051156107685761076881611104565b60006001600160ff1b03821115610cad5760405163677c430560e11b815260040160405180910390fd5b5090565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610d0d91906115bc565b6000604051808303816000865af19150503d8060008114610d4a576040519150601f19603f3d011682016040523d82523d6000602084013e610d4f565b606091505b5091509150811580610d7d5750805115801590610d7d575080806020019051810190610d7b91906115eb565b155b15610db357604051633210e1d960e01b81523060048201526001600160a01b0385166024820152604481018490526064016101ba565b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610e1e91906115bc565b6000604051808303816000865af19150503d8060008114610e5b576040519150601f19603f3d011682016040523d82523d6000602084013e610e60565b606091505b5091509150811580610e8e5750805115801590610e8e575080806020019051810190610e8c91906115eb565b155b15610ec657604051633210e1d960e01b81526001600160a01b03808716600483015285166024820152604481018490526064016101ba565b505050505050565b610ed661112f565b6001600160a01b0316336001600160a01b031614610f095760405163472511eb60e11b81523360048201526024016101ba565b565b600080610f1784611148565b6001810154909150610100900460ff1615610f36576000915050610119565b600181015460ff1680610941575061094160028201846111a1565b600060606000610f5f6111c3565b6040805160208101825291546001600160a01b03168252805160018082528183019092529192506000919081602001602082028036833750506040805160018082528183019092529293506000929150602080830190803683370190505090506373697a6560e01b82600081518110610fda57610fda611362565b6020026020010181815250508560001b81600081518110610ffd57610ffd611362565b60209081029190910101528251600480890154604051636d51285f60e11b81526001600160a01b039093169263daa250be9261103e92918791879101611648565b608060405180830381865afa925050508015611077575060408051601f3d908101601f191682019092526110749181019061167d565b60015b6110ba573d8080156110a5576040519150601f19603f3d011682016040523d82523d6000602084013e6110aa565b606091505b506000955093506110de92505050565b80516110c590611232565b6040518060200160405280600081525095509550505050505b9250929050565b6000670de0b6b3a76400006110fa8385611535565b610ac89190611562565b805160008190036111285760405163123b260360e01b815260040160405180910390fd5b8060208301fd5b6000611139611255565b546001600160a01b0316919050565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610718565b6001600160a01b03811660009081526001830160205260408120541515610ac8565b6000806040516020016112149060208082526024908201527f696f2e73796e7468657469782e73796e7468657469782e4f7261636c654d616e60408201526330b3b2b960e11b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b600080821215610cad5760405163029f024d60e31b815260040160405180910390fd5b6000806040516020016112149060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b80356001600160801b03811681146112bc57600080fd5b919050565b80356001600160a01b03811681146112bc57600080fd5b600080604083850312156112eb57600080fd5b6112f4836112a5565b9150611302602084016112c1565b90509250929050565b60008060006060848603121561132057600080fd5b611329846112a5565b9250611337602085016112c1565b9150604084013590509250925092565b60006020828403121561135957600080fd5b610ac8826112a5565b634e487b7160e01b600052603260045260246000fd5b6001600160801b039390931683526001600160a01b03919091166020830152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610119576101196113a2565b80820182811260008312801582168215821617156113eb576113eb6113a2565b505092915050565b80820180821115610119576101196113a2565b600060018201611418576114186113a2565b5060010190565b60006020828403121561143157600080fd5b815160ff81168114610ac857600080fd5b600181815b8085111561147d578160001904821115611463576114636113a2565b8085161561147057918102915b93841c9390800290611447565b509250929050565b60008261149457506001610119565b816114a157506000610119565b81600181146114b757600281146114c1576114dd565b6001915050610119565b60ff8411156114d2576114d26113a2565b50506001821b610119565b5060208310610133831016604e8410600b8410161715611500575081810a610119565b61150a8383611442565b806000190482111561151e5761151e6113a2565b029392505050565b6000610ac860ff841683611485565b8082028115828204841417610119576101196113a2565b634e487b7160e01b600052601260045260246000fd5b6000826115715761157161154c565b500490565b60ff8281168282160390811115610119576101196113a2565b60008261159e5761159e61154c565b500690565b6000602082840312156115b557600080fd5b5051919050565b6000825160005b818110156115dd57602081860181015185830152016115c3565b506000920191825250919050565b6000602082840312156115fd57600080fd5b81518015158114610ac857600080fd5b600081518084526020808501945080840160005b8381101561163d57815187529582019590820190600101611621565b509495945050505050565b838152606060208201526000611661606083018561160d565b8281036040840152611673818561160d565b9695505050505050565b60006080828403121561168f57600080fd5b6040516080810181811067ffffffffffffffff821117156116c057634e487b7160e01b600052604160045260246000fd5b806040525082518152602083015160208201526040830151604082015260608301516060820152809150509291505056fea26469706673582212209527e389a5ee7134f0f9cd062aaa840d76be26fac5f910883d613a56d88294bc64736f6c63430008110033