0 txs
0 calls
constructor
constructor(address registry_, address stargateFactory)
functions
ASSET_TYPE
viewfunction ASSET_TYPE() view returns (uint256)
assetToUnderlyingAssets
viewfunction assetToUnderlyingAssets(bytes32 assetKey, uint256) view returns (bytes32 underlyingAssetKeys)
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 allowed)
lastExposureAssetToUnderlyingAsset
viewfunction lastExposureAssetToUnderlyingAsset(address creditor, bytes32 assetKey, bytes32 underlyingAssetKey) view returns (uint256 exposure)
lastExposuresAsset
viewfunction lastExposuresAsset(address creditor, bytes32 assetKey) view returns (uint112 lastExposureAsset, uint112 lastUsdExposureAsset)
owner
viewfunction owner() view returns (address)
REGISTRY
viewfunction REGISTRY() view returns (address)
riskParams
viewfunction riskParams(address creditor) view returns (uint112 lastUsdExposureProtocol, uint112 maxUsdExposureProtocol, uint16 riskFactor)
SG_FACTORY
viewfunction SG_FACTORY() view returns (address)
addAsset
nonpayablefunction addAsset(uint256 poolId)
processDirectDeposit
nonpayablefunction processDirectDeposit(address creditor, address asset, uint256 assetId, uint256 amount) returns (uint256 recursiveCalls)
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)
setRiskParameters
nonpayablefunction setRiskParameters(address creditor, uint112 maxUsdExposureProtocol_, uint16 riskFactor)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
errors
ExposureNotInLimits
error ExposureNotInLimits()
InvalidPool
error InvalidPool()
OnlyRegistry
error OnlyRegistry()
Overflow
error Overflow()
RiskFactorNotInLimits
error RiskFactorNotInLimits()
UnderlyingAssetNotAllowed
error UnderlyingAssetNotAllowed()
creation bytecode
0x60e060405234801562000010575f80fd5b5060405162002088380380620020888339810160408190526200003391620000b8565b5f80546001600160a01b03191633908117825560405184926001928492849282917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0391821660a0526080529290921660c05250620000ee915050565b80516001600160a01b0381168114620000b3575f80fd5b919050565b5f8060408385031215620000ca575f80fd5b620000d5836200009c565b9150620000e5602084016200009c565b90509250929050565b60805160a05160c051611f14620001745f395f81816103d301526104a701525f818161013a01528181610426015281816105c90152818161072001528181610789015281816108dd015281816109fe01528181610b2201528181610bf601528181610f47015281816112ad01526116ea01525f818161038701526106e90152611f145ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806349bccc5d116100a95780638da5cb5b1161006e5780638da5cb5b146103a9578063ba9270ff146103bb578063bd215c35146103ce578063f2fde38b146103f5578063f8350ed014610408575f80fd5b806349bccc5d1461027857806353b85a50146102a657806373aecb981461031157806382d6b166146103245780638815eb3914610382575f80fd5b806317235093116100ef57806317235093146101be5780631ba0408c146101df5780632341eb861461020d5780633a8fe5e7146102355780633c0ac4f614610265575f80fd5b8063024874c71461012057806306433b1b146101355780630b71d2561461017957806315ed93bc1461018c575b5f80fd5b61013361012e3660046118e1565b61041b565b005b61015c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b610133610187366004611924565b61048f565b6101ae61019a36600461193b565b60016020525f908152604090205460ff1681565b6040519015158152602001610170565b6101d16101cc36600461195d565b61077d565b604051908152602001610170565b6101f26101ed3660046119aa565b610816565b6040805161ffff938416815292909116602083015201610170565b61022061021b36600461195d565b6109f1565b60408051928352602083019190915201610170565b6101d16102433660046119e8565b600460209081525f938452604080852082529284528284209052825290205481565b6101d1610273366004611a1a565b610a96565b61028b6102863660046118e1565b610ac1565b60408051938452602084019290925290820152606001610170565b6102e76102b436600461193b565b60026020525f90815260409020546001600160701b0380821691600160701b810490911690600160e01b900461ffff1683565b604080516001600160701b03948516815293909216602084015261ffff1690820152606001610170565b61013361031f366004611a49565b610b17565b610362610332366004611a9c565b600360209081525f92835260408084209091529082529020546001600160701b0380821691600160701b90041682565b604080516001600160701b03938416815292909116602083015201610170565b6101d17f000000000000000000000000000000000000000000000000000000000000000081565b5f5461015c906001600160a01b031681565b6101d16103c93660046118e1565b610bea565b61015c7f000000000000000000000000000000000000000000000000000000000000000081565b61013361040336600461193b565b610c5f565b6101ae610416366004611a9c565b610cf5565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610464576040516310f5403960e31b815260040160405180910390fd5b825f610479868361047486611ada565b610d1f565b9050610486868383610e10565b50505050505050565b60405163068bcd8d60e01b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063068bcd8d90602401602060405180830381865afa1580156104f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105189190611af4565b90506001600160a01b0381166105405760405162820f3560e61b815260040160405180910390fd5b5f816001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a19190611af4565b604051630f8350ed60e41b81526001600160a01b0380831660048301525f60248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063f8350ed090604401602060405180830381865afa158015610610573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106349190611b0f565b610651576040516309b05f4560e11b815260040160405180910390fd5b6001600160a01b0382165f908152600160208181526040808420805460ff19168417905580518381528082019091529190828101908036833701905050905081815f815181106106a3576106a3611b42565b6020908102919091018101919091525f848152600582526040902082516106cc92840190611876565b5060405163f1751c7b60e01b81526bffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160a01b0384811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063f1751c7b906044015f604051808303815f87803b158015610761575f80fd5b505af1158015610773573d5f803e3d5ffd5b5050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107c7576040516310f5403960e31b815260040160405180910390fd5b845f6107d4888386610d1f565b90505f6107e2898484610e10565b90508115806107ef575080155b156107fc575f935061080a565b6108078187846110f8565b93505b50505095945050505050565b5f808061082285611113565b6040805160018082528183019092529192505f91906020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905061088b835f8151811061087e5761087e611b42565b6020026020010151905f90565b835f8151811061089d5761089d611b42565b60200260200101835f815181106108b6576108b6611b42565b6020026020010182815250826001600160a01b03166001600160a01b031681525050505f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630344bc4e8b86866040518463ffffffff1660e01b815260040161092b93929190611bc8565b5f60405180830381865afa158015610945573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261096c9190810190611cf9565b6001600160a01b038c165f908152600260205260408120548351939550919350600160e01b90910461ffff16916109ca9185916109ab576109ab611b42565b602002602001015161ffff16612710836110f89092919063ffffffff16565b97506109e1825f815181106109ab576109ab611b42565b9650505050505050935093915050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a3c576040516310f5403960e31b815260040160405180910390fd5b855f610a49898387610d1f565b90505f80610a58838c86611172565b91509150825f1480610a68575080155b15610a75575f9450610a83565b610a808189856110f8565b94505b5060010199929850919650505050505050565b6005602052815f5260405f208181548110610aaf575f80fd5b905f5260205f20015f91509150505481565b5f80808581610acf82611113565b90505f80610adf8b858a866114aa565b9150915080515f03610af857610af58b84611560565b90505b610b038b8383611771565b919d909c50909a5098505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b60576040516310f5403960e31b815260040160405180910390fd5b6127108161ffff161115610b8757604051630b1c8e2560e01b815260040160405180910390fd5b6001600160a01b039092165f908152600260205260409020805461ffff909316600160e01b0261ffff60e01b196001600160701b03909316600160701b02929092166fffffffffffffffffffffffffffffffff60701b1990931692909217179055565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c34576040516310f5403960e31b815260040160405180910390fd5b835f610c41878386610d1f565b90505f610c4f828985611172565b5060010198975050505050505050565b5f546001600160a01b03163314610cab5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0382165f9081526001602052604081205460ff1615610d19575060015b92915050565b5f80821315610d66576001600160a01b0384165f908152600360209081526040808320868452909152902054610d5f9083906001600160701b0316611d59565b9050610dbe565b6001600160a01b0384165f9081526003602090815260408083208684529091529020546001600160701b0316610d9b83611ada565b8111610da7575f610dba565b610db083611ada565b610dba9082611d6c565b9150505b610dc781611862565b6001600160a01b03949094165f9081526003602090815260408083209583529490529290922080546001600160701b0319166001600160701b0390941693909317909255919050565b5f80610e1b84611113565b90505f610e2a868686856114aa565b5090505f805f805b8551811015611029576001600160a01b038a165f9081526004602090815260408083208c845290915281208751909190889084908110610e7457610e74611b42565b602002602001015181526020019081526020015f2054858281518110610e9c57610e9c611b42565b6020026020010151610eae9190611d7f565b9350848181518110610ec257610ec2611b42565b602002602001015160045f8c6001600160a01b03166001600160a01b031681526020019081526020015f205f8b81526020019081526020015f205f888481518110610f0f57610f0f611b42565b602002602001015181526020019081526020015f2081905550610f3d86828151811061087e5761087e611b42565b80935081945050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631e3b06628b8585898681518110610f8957610f89611b42565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152604483015260648201526084810187905260a4016020604051808303815f875af1158015610ff1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190611da5565b61101f9088611d59565b9650600101610e32565b506001600160a01b0389165f8181526003602090815260408083208c8452825280832080546001600160701b038c8116600160701b908102600160701b600160e01b031984161790935595855260029093529083205491048316921690828910611098575081880381016110a9565b8883038211156110a9575087820381035b6110b281611862565b6001600160a01b039c909c165f90815260026020526040902080546001600160701b0319166001600160701b03909d169c909c17909b5550959998505050505050505050565b5f825f19048411830215820261110c575f80fd5b5091020490565b5f8181526005602090815260409182902080548351818402810184019094528084526060939283018282801561116657602002820191905f5260205f20905b815481526020019060010190808311611152575b50505050509050919050565b5f805f8061117f85611113565b90505f61118e87878a856114aa565b5090505f805f805f805b8751811015611397576001600160a01b038d165f9081526004602090815260408083208f8452909152812089519091908a90849081106111da576111da611b42565b602002602001015181526020019081526020015f205487828151811061120257611202611b42565b60200260200101516112149190611d7f565b955086818151811061122857611228611b42565b602002602001015160045f8f6001600160a01b03166001600160a01b031681526020019081526020015f205f8e81526020019081526020015f205f8a848151811061127557611275611b42565b602002602001015181526020019081526020015f20819055506112a388828151811061087e5761087e611b42565b80955081965050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a6674a78e87878b86815181106112ef576112ef611b42565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152604483015260648201526084810189905260a40160408051808303815f875af1158015611356573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190611dbc565b9093509150611389828b611d59565b9a83019a9950600101611198565b506001600160a01b038c165f8181526003602090815260408083208f8452825280832080546001600160701b038f8116600160701b908102600160701b600160e01b0319841617909355958552600290935292205491900482169116818b1061140657818b0381019950611418565b8a8203811115611418578a8203810399505b6001600160a01b038e165f90815260026020526040902054600160701b90046001600160701b03168a1061145f576040516366b09a5960e01b815260040160405180910390fd5b5050506001600160a01b03909a165f90815260026020526040902080546001600160701b039097166001600160701b0319909716969096179095555094989397509295505050505050565b604080516001808252818301909252606091829186916020808301908036833701905050604051637b669af760e11b8152600481018790529093506001600160a01b0382169063f6cd35ee90602401602060405180830381865afa158015611514573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115389190611da5565b835f8151811061154a5761154a611b42565b6020026020010181815250505094509492505050565b80516060905f8167ffffffffffffffff81111561157f5761157f611b2e565b6040519080825280602002602001820160405280156115a8578160200160208202803683370190505b5090505f8267ffffffffffffffff8111156115c5576115c5611b2e565b6040519080825280602002602001820160405280156115ee578160200160208202803683370190505b5090505f8367ffffffffffffffff81111561160b5761160b611b2e565b604051908082528060200260200182016040528015611634578160200160208202803683370190505b5090505f5b848110156116d25761165687828151811061087e5761087e611b42565b85838151811061166857611668611b42565b6020026020010185848151811061168157611681611b42565b6020026020010182815250826001600160a01b03166001600160a01b03168152505050670de0b6b3a76400008282815181106116bf576116bf611b42565b6020908102919091010152600101611639565b5060405163cbdcbc3b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbdcbc3b90611725908a90879087908790600401611dde565b5f60405180830381865afa15801561173f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117669190810190611e27565b979650505050505050565b5f805f6117c6845f8151811061178957611789611b42565b60200260200101515f0151670de0b6b3a7640000875f815181106117af576117af611b42565b60200260200101516110f89092919063ffffffff16565b6001600160a01b0387165f908152600260205260408120548651929550600160e01b900461ffff169161182091879161180157611801611b42565b602002602001015160200151612710836110f89092919063ffffffff16565b9250611856855f8151811061183757611837611b42565b602002602001015160400151612710836110f89092919063ffffffff16565b91505093509350939050565b5f600160701b8210611872575f80fd5b5090565b828054828255905f5260205f209081019282156118af579160200282015b828111156118af578251825591602001919060010190611894565b506118729291505b80821115611872575f81556001016118b7565b6001600160a01b03811681146118de575f80fd5b50565b5f805f80608085870312156118f4575f80fd5b84356118ff816118ca565b9350602085013561190f816118ca565b93969395505050506040820135916060013590565b5f60208284031215611934575f80fd5b5035919050565b5f6020828403121561194b575f80fd5b8135611956816118ca565b9392505050565b5f805f805f60a08688031215611971575f80fd5b853561197c816118ca565b9450602086013561198c816118ca565b94979496505050506040830135926060810135926080909101359150565b5f805f606084860312156119bc575f80fd5b83356119c7816118ca565b925060208401356119d7816118ca565b929592945050506040919091013590565b5f805f606084860312156119fa575f80fd5b8335611a05816118ca565b95602085013595506040909401359392505050565b5f8060408385031215611a2b575f80fd5b50508035926020909101359150565b61ffff811681146118de575f80fd5b5f805f60608486031215611a5b575f80fd5b8335611a66816118ca565b925060208401356001600160701b0381168114611a81575f80fd5b91506040840135611a9181611a3a565b809150509250925092565b5f8060408385031215611aad575f80fd5b8235611ab8816118ca565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b5f600160ff1b8201611aee57611aee611ac6565b505f0390565b5f60208284031215611b04575f80fd5b8151611956816118ca565b5f60208284031215611b1f575f80fd5b81518015158114611956575f80fd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015611b8e5781516001600160a01b031687529582019590820190600101611b69565b509495945050505050565b5f815180845260208085019450602084015f5b83811015611b8e57815187529582019590820190600101611bac565b6001600160a01b03841681526060602082018190525f90611beb90830185611b56565b8281036040840152611bfd8185611b99565b9695505050505050565b6040516060810167ffffffffffffffff81118282101715611c2a57611c2a611b2e565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5957611c59611b2e565b604052919050565b5f67ffffffffffffffff821115611c7a57611c7a611b2e565b5060051b60200190565b5f82601f830112611c93575f80fd5b81516020611ca8611ca383611c61565b611c30565b8083825260208201915060208460051b870101935086841115611cc9575f80fd5b602086015b84811015611cee578051611ce181611a3a565b8352918301918301611cce565b509695505050505050565b5f8060408385031215611d0a575f80fd5b825167ffffffffffffffff80821115611d21575f80fd5b611d2d86838701611c84565b93506020850151915080821115611d42575f80fd5b50611d4f85828601611c84565b9150509250929050565b80820180821115610d1957610d19611ac6565b81810381811115610d1957610d19611ac6565b8181035f831280158383131683831282161715611d9e57611d9e611ac6565b5092915050565b5f60208284031215611db5575f80fd5b5051919050565b5f8060408385031215611dcd575f80fd5b505080516020909101519092909150565b6001600160a01b03851681526080602082018190525f90611e0190830186611b56565b8281036040840152611e138186611b99565b905082810360608401526117668185611b99565b5f6020808385031215611e38575f80fd5b825167ffffffffffffffff811115611e4e575f80fd5b8301601f81018513611e5e575f80fd5b8051611e6c611ca382611c61565b81815260609182028301840191848201919088841115611e8a575f80fd5b938501935b83851015611ed25780858a031215611ea5575f80fd5b611ead611c07565b8551815286860151878201526040808701519082015283529384019391850191611e8f565b5097965050505050505056fea26469706673582212204251aee6a0b46579f531c71697058ac949d4690c4bb706ad38832258349df79664736f6c63430008160033000000000000000000000000d0690557600eb8be8391d1d97346e2aab5300d5f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6