0 txs
6 calls
constructor
No constructor.
functions
isLiquidator
viewfunction isLiquidator(address) view returns (bool)
ORA
viewfunction ORA() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
swap
viewfunction swap() view returns (address)
absorb
nonpayablefunction absorb(address comet, address[] targets)
buyCollateral
nonpayablefunction buyCollateral(address comet, address asset, uint256 minAmount, uint256 baseAmount, address recipient)
closeMarginSell
nonpayablefunction closeMarginSell(address comet, address tokenIn, uint256 amountIn, address swapRouter, uint24 fee, uint256 minTokenOut)
closeMarginSellWithPermit
nonpayablefunction closeMarginSellWithPermit(address comet, address tokenIn, uint256 amountIn, address swapRouter, uint24 fee, uint256 minTokenOut, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
initialize
nonpayablefunction initialize(address _swap, address _ora)
liquidate
nonpayablefunction liquidate(address comet, address[] targets, address asset, uint256 minAmount, uint256 baseAmount, address recipient)
marginSell
nonpayablefunction marginSell(address comet, address collateralAsset, uint128 collateralAmount, uint256 borrowAmount, address swapRouter, uint24 fee, address tokenOut, uint256 minTokenOut) returns (uint256 amountOut)
marginSellWithPermit
nonpayablefunction marginSellWithPermit(address comet, address collateralAsset, uint128 collateralAmount, uint256 borrowAmount, address swapRouter, uint24 fee, address tokenOut, uint256 minTokenOut, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns (uint256 amountOut)
renounceOwnership
nonpayablefunction renounceOwnership()
setLiquidators
nonpayablefunction setLiquidators(address[] users, bool allowed)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AbsorbFromRouter
event AbsorbFromRouter(address indexed comet, address indexed absorber, address[] accounts)
BuyCollateralFromRouter
event BuyCollateralFromRouter(address indexed comet, address indexed buyer, address indexed asset, uint256 baseAmount, uint256 minAmount, address recipient)
CloseMarginSellFromRouter
event CloseMarginSellFromRouter(address indexed comet, address indexed user, address tokenIn, uint256 amountIn)
Initialized
event Initialized(uint64 version)
LiquidatorStatusChanged
event LiquidatorStatusChanged(address indexed user, bool allowed)
MarginSellFromRouter
event MarginSellFromRouter(address indexed comet, address indexed borrower, address indexed collateralAsset, uint256 collateralAmount, uint256 borrowAmount, address tokenOut, uint256 amountOut)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60808060405234601557611993908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806323ace13a14610ce957806336c0624714610cc15780634704fe3514610b26578063485cc955146108cf578063529a356f146108905780635c975abb1461084e578063715018a6146107e557806378e65f64146107895780637aaa8617146106cc5780638119c065146106a5578063886c98df1461040f5780638da5cb5b146103da5780639c6e31471461028a578063c3cecfd214610161578063c6eec60d146100f95763f2fde38b146100ca575f80fd5b346100f65760203660031901126100f6576100f36100e6610d77565b6100ee6115ec565b61105b565b80f35b80fd5b50346100f65760c03660031901126100f65761014d610116610d77565b61011e610d8d565b90610127610da3565b61012f610de5565b916101386110cc565b610140611104565b60a43593604435916111c3565b60015f51602061191e5f395f51905f525580f35b50346100f65760403660031901126100f65761017b610d77565b60243567ffffffffffffffff81116102865761019b903690600401610e1f565b916101a46110cc565b6101ac611104565b6001600160a01b0316906101c1821515610e50565b6101cc831515610f79565b6101d58261142b565b813b15610277576040516361e767e960e11b815284908181806101fd88873360048501610ffe565b038183885af1801561027b57610262575b505061024b7fe385ca6b17dc613062979901883eb6fa4f357611c3a7c0e3c09be15b2712d205916040519182916020835233966020840191610fba565b0390a360015f51602061191e5f395f51905f525580f35b8161026c91610f24565b61027757835f61020e565b8380fd5b6040513d84823e3d90fd5b8280fd5b50346100f65760403660031901126100f65760043567ffffffffffffffff81116103d6576102bc903690600401610e1f565b90602435801515809103610277576102d26110cc565b6102da6115ec565b60ff8116845b8481106102fc578560015f51602061191e5f395f51905f525580f35b6001600160a01b03610317610312838888611023565b611047565b1615610391576001906001600160a01b03610336610312838989611023565b1687526002602052604087208360ff19825416179055818060a01b03610360610312838989611023565b167fa666fc05b8fcc83be4b6b4bd8d92a52a30d6c2f6dc8c0c7f4a0aae21acb3d7de6020604051878152a2016102e0565b60405162461bcd60e51b815260206004820152601760248201527f526f757465723a20496e76616c696420616464726573730000000000000000006044820152606490fd5b5080fd5b50346100f657806003193601126100f6575f5160206118fe5f395f51905f52546040516001600160a01b039091168152602090f35b50346100f65760c03660031901126100f657610429610d77565b60243567ffffffffffffffff811161028657610449903690600401610e1f565b6044356001600160a01b03811693929184820361063b5785606435926084359560a4359360018060a01b03851696878603610696576104866110cc565b61048e611104565b6001600160a01b038316976104ba906104a88a1515610e50565b6104b38c1515610e94565b1515610ed8565b6104c5821515610f79565b6104ce8861142b565b873b15610696576040516361e767e960e11b8152908582806104f586853360048501610ffe565b0381838d5af1801561069a578992879161067b575b50506105477fe385ca6b17dc613062979901883eb6fa4f357611c3a7c0e3c09be15b2712d205916040519182916020835233966020840191610fba565b0390a360405163c55dae6360e01b81526020816004818a5afa801561067057610579928992869261063f575b50611591565b843b156103d65760405163e4e6e77960e01b81526001600160a01b03918216600482015260248101859052604481018790529083166064820152818160848183895af1801561027b57610626575b50506040805194855260208501929092526001600160a01b03169083015233917fdf3d665281d52a2f7a3a1614e9c5a93232ea341290934d46b5261f9cb6359f889080606081015b0390a460015f51602061191e5f395f51905f525580f35b8161063091610f24565b61063b57855f6105c7565b8580fd5b61066291925060203d602011610669575b61065a8183610f24565b810190610f5a565b905f610573565b503d610650565b6040513d86823e3d90fd5b819293509061068991610f24565b610696578790855f61050a565b8480fd5b6040513d88823e3d90fd5b50346100f657806003193601126100f657546040516001600160a01b039091168152602090f35b50346100f6576101803660031901126100f6576106e7610d77565b906106f0610d8d565b916106f9610e09565b90610702610db9565b9061070b610df7565b92610714610dcf565b94610124359060ff821682036100f65760206107708989898989896107638a61073b6110cc565b610743611104565b61016435906101443590610104356001600160801b03861630338d61113e565b60e435956064359261161f565b60015f51602061191e5f395f51905f5255604051908152f35b50346100f6576101003660031901126100f65760206107706107a9610d77565b6107b1610d8d565b906107ba610e09565b906107c3610db9565b6107cb610df7565b916107d4610dcf565b936107dd6110cc565b610763611104565b50346100f657806003193601126100f6576107fe6115ec565b5f5160206118fe5f395f51905f5280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346100f657806003193601126100f657602060ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330054166040519015158152f35b50346100f65760203660031901126100f65760209060ff906040906001600160a01b036108bb610d77565b168152600284522054166040519015158152f35b50346100f65760403660031901126100f6576108e9610d77565b6108f1610d8d565b5f51602061193e5f395f51905f52549160ff8360401c16159267ffffffffffffffff811680159081610b1e575b6001149081610b14575b159081610b0b575b50610afc5767ffffffffffffffff1981166001175f51602061193e5f395f51905f525583610ad0575b506109626118d2565b61096a6118d2565b6109733361105b565b61097b6118d2565b6109836118d2565b60015f51602061191e5f395f51905f525561099c6118d2565b6109a46118d2565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191690556001600160a01b031680151580610abe575b15610a79576bffffffffffffffffffffffff60a01b84541617835560018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155610a215780f35b68ff0000000000000000195f51602061193e5f395f51905f5254165f51602061193e5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b60405162461bcd60e51b815260206004820152601760248201527f526f757465723a20496e76616c696420416464726573730000000000000000006044820152606490fd5b506001600160a01b03821615156109df565b68ffffffffffffffffff191668010000000000000001175f51602061193e5f395f51905f52555f610959565b63f92ee8a960e01b8552600485fd5b9050155f610930565b303b159150610928565b85915061091e565b5034610cbd5760a0366003190112610cbd57610b40610d77565b610b48610d8d565b60643590604435610b57610db9565b90610b606110cc565b610b68611104565b6001600160a01b03851692610b7e841515610e50565b6001600160a01b03811695610b94871515610e94565b610ba86001600160a01b0385161515610ed8565b610bb18561142b565b60405163c55dae6360e01b8152602081600481895afa8015610cb257610bdf9288925f9261063f5750611591565b833b15610cbd5760405163e4e6e77960e01b81526001600160a01b039182166004820152602481018390526044810186905290831660648201525f8160848183885af18015610cb257610c7a575b506040805194855260208501919091526001600160a01b039091169083015233917fdf3d665281d52a2f7a3a1614e9c5a93232ea341290934d46b5261f9cb6359f8890806060810161060f565b7fdf3d665281d52a2f7a3a1614e9c5a93232ea341290934d46b5261f9cb6359f88929196505f610ca991610f24565b5f959091610c2d565b6040513d5f823e3d90fd5b5f80fd5b34610cbd575f366003190112610cbd576001546040516001600160a01b039091168152602090f35b34610cbd57610140366003190112610cbd57610d03610d77565b610d0b610d8d565b90604435610d17610da3565b610d1f610de5565b9160e4359460ff86168603610cbd57610d5b610d6496610d3d6110cc565b610d45611104565b6101243590610104359060c4358630338861113e565b60a435946111c3565b60015f51602061191e5f395f51905f5255005b600435906001600160a01b0382168203610cbd57565b602435906001600160a01b0382168203610cbd57565b606435906001600160a01b0382168203610cbd57565b608435906001600160a01b0382168203610cbd57565b60c435906001600160a01b0382168203610cbd57565b6084359062ffffff82168203610cbd57565b60a4359062ffffff82168203610cbd57565b604435906001600160801b0382168203610cbd57565b9181601f84011215610cbd5782359167ffffffffffffffff8311610cbd576020808501948460051b010111610cbd57565b15610e5757565b60405162461bcd60e51b8152602060048201526015602482015274149bdd5d195c8e88125b9d985b1a590818dbdb595d605a1b6044820152606490fd5b15610e9b57565b60405162461bcd60e51b8152602060048201526015602482015274149bdd5d195c8e88125b9d985b1a5908185cdcd95d605a1b6044820152606490fd5b15610edf57565b60405162461bcd60e51b815260206004820152601960248201527f526f757465723a20496e76616c696420726563697069656e74000000000000006044820152606490fd5b90601f8019910116810190811067ffffffffffffffff821117610f4657604052565b634e487b7160e01b5f52604160045260245ffd5b90816020910312610cbd57516001600160a01b0381168103610cbd5790565b15610f8057565b60405162461bcd60e51b8152602060048201526012602482015271526f757465723a204e6f207461726765747360701b6044820152606490fd5b916020908281520191905f905b808210610fd45750505090565b90919283359060018060a01b038216809203610cbd57602081600193829352019401920190610fc7565b6001600160a01b03909116815260406020820181905261102093910191610fba565b90565b91908110156110335760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b0381168103610cbd5790565b6001600160a01b031680156110b9575f5160206118fe5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b60025f51602061191e5f395f51905f5254146110f55760025f51602061191e5f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b60ff7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300541661112f57565b63d93c066560e01b5f5260045ffd5b92969194909290916001600160a01b0390911690813b15610cbd575f9660ff889460e4976040519b8c9a8b9963d505accf60e01b8b5260018060a01b031660048b015260018060a01b031660248a01526044890152606488015216608486015260a485015260c48401525af18015610cb2576111b75750565b5f6111c191610f24565b565b90946001600160a01b0382169492935f9390926111e1871515610e50565b60405163c55dae6360e01b81526020816004818b5afa908115610cb2575f9161140c575b506001546001600160a01b038a811692911682149081156113f9575b50156112e85750858861123392611591565b853b156102775760405163c6eec60d60e01b81523360048201526001600160a01b03888116602483015260448201879052909316606484015262ffffff16608483015260a4820152818160c48183885af1801561027b576112d3575b5050604080516001600160a01b03949094168452602084019190915233927f8aa1798dca4c0a9160d0e8b3a06f6cfc6c12408b25eea105b3e27c3849d12cab9190a3565b6112de828092610f24565b6100f6578061128f565b929561130381602093949a60018060a01b035f5416906117f3565b5f8054604051630507dc5160e51b815260048101969096526024860192909252306044860152849160649183916001600160a01b03165af1918215610cb2575f926113c5575b506001546001600160a01b0316803b15610cbd5760405163095ea7b360e01b81526001600160a01b03929092166004830152602482018390525f908290604490829084905af18015610cb2576113b0575b506001546001600160a01b031695909390611233565b6113bd9193505f90610f24565b5f915f61139a565b9091506020813d6020116113f1575b816113e160209383610f24565b81010312610cbd5751905f611349565b3d91506113d4565b6001600160a01b0316821490505f611221565b611425915060203d6020116106695761065a8183610f24565b5f611205565b335f52600260205260ff60405f205416908115611570575b811561150f575b8115611495575b501561145957565b60405162461bcd60e51b8152602060048201526014602482015273149bdd5d195c8e88155b985d5d1a1bdc9a5e995960621b6044820152606490fd5b60405163529a356f60e01b81523360048201529150602090829060249082906001600160a01b03165afa908115610cb2575f916114d4575b505f611451565b90506020813d602011611507575b816114ef60209383610f24565b81010312610cbd57518015158103610cbd575f6114cd565b3d91506114e2565b60405163030d028960e21b81529091506020816004816001600160a01b0386165afa908115610cb2575f91611551575b506001600160a01b031633149061144a565b61156a915060203d6020116106695761065a8183610f24565b5f61153f565b5f5160206118fe5f395f51905f52546001600160a01b031633149150611443565b9061159d8330836117f3565b6001600160a01b031691823b15610cbd5760405163095ea7b360e01b81526001600160a01b039290921660048301526024820152905f908290604490829084905af18015610cb2576111b75750565b5f5160206118fe5f395f51905f52546001600160a01b0316330361160c57565b63118cdaa760e01b5f523360045260245ffd5b92979691956001600160a01b038416949193909161163e861515610e50565b6001600160a01b031696871515806117e1575b1561179c576001600160801b03169586151580611793575b156117585761167d878662ffffff94611591565b60405194631e3997d960e21b865233600487015260018060a01b0316978860248701528760448701528a606487015260848601521660a484015260018060a01b0316908160c484015260e4830152602082610104815f875af1918215610cb2575f92611724575b5081966040519485526020850152604084015260608301527fe24e3501ce06d29571a33852e680eb82367455f40960e111989f3a06a181ae9960803393a4565b9091506020813d602011611750575b8161174060209383610f24565b81010312610cbd5751905f6116e4565b3d9150611733565b60405162461bcd60e51b8152602060048201526013602482015272149bdd5d195c8e8816995c9bc8185b5bdd5b9d606a1b6044820152606490fd5b50891515611669565b60405162461bcd60e51b815260206004820152601c60248201527f526f757465723a20496e76616c696420726f757465722f746f6b656e000000006044820152606490fd5b506001600160a01b0383161515611651565b9092916001600160a01b0390911690813b15610cbd576040516323b872dd60e01b81523360048201526001600160a01b03909416602485015260448401525f929083908290606490829084905af18015610cb2576118bd575b503d80156118b35760201461185f575080fd5b90602081803e515b1561186e57565b60405162461bcd60e51b815260206004820152601860248201527f526f757465723a205472616e73666572496e4661696c656400000000000000006044820152606490fd5b5090505f19611867565b6118ca9192505f90610f24565b5f905f61184c565b60ff5f51602061193e5f395f51905f525460401c16156118ee57565b631afcd79f60e31b5f5260045ffdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209b9c6117cdc6b6ed0f090568c2a7e8df75d73df9733043930c41a0adec3fdccb64736f6c634300081c0033