0 txs
1.27m calls
constructor
constructor(address registry_)
functions
ASSET_TYPE
viewfunction ASSET_TYPE() view returns (uint256)
assetToInformation
viewfunction assetToInformation(bytes32 assetKey) view returns (uint64 assetUnit, bytes32 oracleSequence)
getRiskFactors
viewfunction getRiskFactors(address creditor, address asset, uint256 assetId) view returns (uint16 collateralFactor, uint16 liquidationFactor)
getValue
viewfunction getValue(address creditor, address asset, uint256 assetId, uint256 assetAmount) view returns (uint256 valueInUsd, uint256 collateralFactor, uint256 liquidationFactor)
inAssetModule
viewfunction inAssetModule(address) view returns (bool)
isAllowed
viewfunction isAllowed(address asset, uint256) view returns (bool)
owner
viewfunction owner() view returns (address)
REGISTRY
viewfunction REGISTRY() view returns (address)
riskParams
viewfunction riskParams(address creditor, bytes32 assetKey) view returns (uint112 lastExposureAsset, uint112 maxExposure, uint16 collateralFactor, uint16 liquidationFactor)
addAsset
nonpayablefunction addAsset(address asset, bytes32 oracleSequence)
processDirectDeposit
nonpayablefunction processDirectDeposit(address creditor, address asset, uint256 assetId, uint256 amount) returns (uint256)
processDirectWithdrawal
nonpayablefunction processDirectWithdrawal(address creditor, address asset, uint256 assetId, uint256 amount)
processIndirectDeposit
nonpayablefunction processIndirectDeposit(address creditor, address asset, uint256 assetId, uint256 exposureUpperAssetToAsset, int256 deltaExposureUpperAssetToAsset) returns (uint256 recursiveCalls, uint256 usdExposureUpperAssetToAsset)
processIndirectWithdrawal
nonpayablefunction processIndirectWithdrawal(address creditor, address asset, uint256 assetId, uint256 exposureUpperAssetToAsset, int256 deltaExposureUpperAssetToAsset) returns (uint256 usdExposureUpperAssetToAsset)
setOracles
nonpayablefunction setOracles(address asset, uint256 assetId, bytes32 newOracles)
setRiskParameters
nonpayablefunction setRiskParameters(address creditor, address asset, uint256 assetId, uint112 maxExposure, uint16 collateralFactor, uint16 liquidationFactor)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
errors
BadOracleSequence
error BadOracleSequence()
CollFactorExceedsLiqFactor
error CollFactorExceedsLiqFactor()
CollFactorNotInLimits
error CollFactorNotInLimits()
ExposureNotInLimits
error ExposureNotInLimits()
LiqFactorNotInLimits
error LiqFactorNotInLimits()
Max18Decimals
error Max18Decimals()
OnlyRegistry
error OnlyRegistry()
OracleStillActive
error OracleStillActive()
Overflow
error Overflow()
creation bytecode
0x60c060405234801561000f575f80fd5b5060405161146938038061146983398101604081905261002e9161008f565b5f80546001600160a01b03191633908117825560405183926001928492849282917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0390911660a052608052506100bc915050565b5f6020828403121561009f575f80fd5b81516001600160a01b03811681146100b5575f80fd5b9392505050565b60805160a05161133f61012a5f395f8181610124015281816104070152818161054401528181610625015281816107a0015281816108c201528181610a3701528181610b7001528181610c1501528181610cc50152610dbb01525f818161032901526105ee015261133f5ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c806349bccc5d1161009e5780638da5cb5b1161006e5780638da5cb5b1461039e578063ba9270ff146103b0578063e38d136f146103c3578063f2fde38b146103d6578063f8350ed0146103e9575f80fd5b806349bccc5d146102e357806382c97e46146103115780638815eb391461032457806389afb6f61461034b575f80fd5b806317235093116100d957806317235093146101a85780631ba0408c146101c957806320afa6bc146102305780632341eb86146102bb575f80fd5b8063024874c71461010a57806306433b1b1461011f5780630ba077501461016357806315ed93bc14610176575b5f80fd5b61011d610118366004610fc4565b6103fc565b005b6101467f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61011d610171366004611003565b6104fc565b61019861018436600461102b565b60016020525f908152604090205460ff1681565b604051901515815260200161015a565b6101bb6101b636600461104b565b610794565b60405190815260200161015a565b6102156101d7366004611094565b506001600160a01b03919091165f908152600260209081526040808320938352929052205461ffff600160e01b8204811692600160f01b9092041690565b6040805161ffff93841681529290911660208301520161015a565b61028661023e366004611003565b600260209081525f92835260408084209091529082529020546001600160701b0380821691600160701b81049091169061ffff600160e01b8204811691600160f01b90041684565b604080516001600160701b03958616815294909316602085015261ffff9182169284019290925216606082015260800161015a565b6102ce6102c936600461104b565b6108b5565b6040805192835260208301919091520161015a565b6102f66102f1366004610fc4565b610a06565b6040805193845260208401929092529082015260600161015a565b61011d61031f3660046110cd565b610b19565b6101bb7f000000000000000000000000000000000000000000000000000000000000000081565b61037e6103593660046110fd565b60036020525f90815260409020805460019091015467ffffffffffffffff9091169082565b6040805167ffffffffffffffff909316835260208301919091520161015a565b5f54610146906001600160a01b031681565b6101bb6103be366004610fc4565b610cb9565b61011d6103d1366004611125565b610db0565b61011d6103e436600461102b565b610ef9565b6101986103f7366004611003565b610f6c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610445576040516310f5403960e31b815260040160405180910390fd5b6001600160a01b0384165f90815260026020908152604080832086845290915290205483906001600160701b0316828110156104b0576001600160a01b0386165f908152600260209081526040808320858452909152812080546001600160701b03191690556104f3565b6001600160a01b0386165f908152600260209081526040808320858452909152902080546001600160701b0319168483036001600160701b038116919091179091555b50505050505050565b5f546001600160a01b0316331461052e5760405162461bcd60e51b81526004016105259061119b565b60405180910390fd5b60405163c719aac960e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c719aac990602401602060405180830381865afa158015610591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b591906111c1565b6105d257604051633e1231d360e01b815260040160405180910390fd5b60405163f1751c7b60e01b81526bffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160a01b0383811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063f1751c7b906044015f604051808303815f87803b158015610666575f80fd5b505af1158015610678573d5f803e3d5ffd5b5050506001600160a01b0383165f818152600160208181526040808420805460ff1916909317909255815163313ce56760e01b8152915192945063313ce567926004808401938290030181865afa1580156106d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f991906111e0565b61070490600a6112eb565b9050670de0b6b3a764000081111561072f5760405163e853ab1b60e01b815260040160405180910390fd5b60405180604001604052808267ffffffffffffffff1681526020018381525060035f6107588690565b81526020808201929092526040015f208251815467ffffffffffffffff191667ffffffffffffffff909116178155910151600190910155505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107de576040516310f5403960e31b815260040160405180910390fd5b6001600160a01b0386165f90815260026020908152604080832088845290915281205486916001600160701b03909116908085131561084857508084016001600160701b0381111561084357604051631a93c68960e11b815260040160405180910390fd5b61085e565b845f038211610857575f61085b565b8185015b90505b6001600160a01b0389165f908152600260209081526040808320868452909152902080546001600160701b0319166001600160701b0383161790556108a589898989610a06565b50909a9950505050505050505050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610900576040516310f5403960e31b815260040160405180910390fd5b6001600160a01b0387165f90815260026020908152604080832089845290915281205487916001600160701b0390911690808613156109425750808501610958565b855f038211610951575f610955565b8186015b90505b6001600160a01b038a165f908152600260209081526040808320868452909152902054600160701b90046001600160701b031681106109aa576040516366b09a5960e01b815260040160405180910390fd5b6001600160a01b038a165f908152600260209081526040808320868452909152902080546001600160701b0319166001600160701b0383161790556109f18a8a8a8a610a06565b5060019c919b50909950505050505050505050565b5f808080865f81815260036020526040808220600101549051633f3b074360e01b81526004810191909152919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633f3b074390602401602060405180830381865afa158015610a84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa891906111e0565b5f83815260036020526040902054909150610ad0908790839067ffffffffffffffff16610f8e565b6001600160a01b03999099165f9081526002602090815260408083209483529390529190912054979861ffff600160e01b8a04811699600160f01b900416975095505050505050565b5f546001600160a01b03163314610b425760405162461bcd60e51b81526004016105259061119b565b5f835f818152600360205260409081902060010154905163c719aac960e01b815260048101829052919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c719aac990602401602060405180830381865afa158015610bbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be191906111c1565b15610bff576040516315093bdd60e11b815260040160405180910390fd5b60405163c719aac960e01b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c719aac990602401602060405180830381865afa158015610c62573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8691906111c1565b610ca357604051633e1231d360e01b815260040160405180910390fd5b505f908152600360205260409020600101555050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d03576040516310f5403960e31b815260040160405180910390fd5b6001600160a01b0385165f90815260026020908152604080832087845290915290205484906001600160701b0380821691600160701b900416610d4685836112f6565b10610d64576040516366b09a5960e01b815260040160405180910390fd5b6001600160a01b03969096165f9081526002602090815260408083209383529290522080546001600160701b031916929095016001600160701b03169190911790935550600192915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610df9576040516310f5403960e31b815260040160405180910390fd5b6127108261ffff161115610e205760405163ae8c57ab60e01b815260040160405180910390fd5b6127108161ffff161115610e4757604051633b32dbcf60e21b815260040160405180910390fd5b8061ffff168261ffff161115610e7057604051630dc4cec160e21b815260040160405180910390fd5b5f856001600160a01b03979097165f9081526002602090815260408083209983529890529690962080546fffffffffffffffffffffffffffffffff60701b1916600160701b6001600160701b03959095169490940261ffff60e01b191693909317600160e01b61ffff93841602176001600160f01b0316600160f01b9190921602179055505050565b5f546001600160a01b03163314610f225760405162461bcd60e51b81526004016105259061119b565b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0382165f9081526001602052604090205460ff165b92915050565b5f825f190484118302158202610fa2575f80fd5b5091020490565b80356001600160a01b0381168114610fbf575f80fd5b919050565b5f805f8060808587031215610fd7575f80fd5b610fe085610fa9565b9350610fee60208601610fa9565b93969395505050506040820135916060013590565b5f8060408385031215611014575f80fd5b61101d83610fa9565b946020939093013593505050565b5f6020828403121561103b575f80fd5b61104482610fa9565b9392505050565b5f805f805f60a0868803121561105f575f80fd5b61106886610fa9565b945061107660208701610fa9565b94979496505050506040830135926060810135926080909101359150565b5f805f606084860312156110a6575f80fd5b6110af84610fa9565b92506110bd60208501610fa9565b9150604084013590509250925092565b5f805f606084860312156110df575f80fd5b6110e884610fa9565b95602085013595506040909401359392505050565b5f6020828403121561110d575f80fd5b5035919050565b803561ffff81168114610fbf575f80fd5b5f805f805f8060c0878903121561113a575f80fd5b61114387610fa9565b955061115160208801610fa9565b94506040870135935060608701356001600160701b0381168114611173575f80fd5b925061118160808801611114565b915061118f60a08801611114565b90509295509295509295565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b5f602082840312156111d1575f80fd5b81518015158114611044575f80fd5b5f602082840312156111f0575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561124557815f190482111561122b5761122b6111f7565b8085161561123857918102915b93841c9390800290611210565b509250929050565b5f8261125b57506001610f88565b8161126757505f610f88565b816001811461127d5760028114611287576112a3565b6001915050610f88565b60ff841115611298576112986111f7565b50506001821b610f88565b5060208310610133831016604e8410600b84101617156112c6575081810a610f88565b6112d0838361120b565b805f19048211156112e3576112e36111f7565b029392505050565b5f611044838361124d565b80820180821115610f8857610f886111f756fea2646970667358221220f3b49b9e5641a3e708098b501db1862bf1ccdd5275df322790169896f85d199c64736f6c63430008160033000000000000000000000000d0690557600eb8be8391d1d97346e2aab5300d5f