0 txs
1 call
constructor
constructor(address _tellerV2, address _factory, address _WETH9)
functions
calculateRolloverAmount
viewfunction calculateRolloverAmount(uint16 marketFeePct, uint16 protocolFeePct, uint256 _loanId, uint256 principalAmount, uint256 _rewardAmount, uint16 _flashloanFeePct, uint256 _timestamp) view returns (uint256 _flashAmount, int256 _borrowerAmount)
factory
viewfunction factory() view returns (address)
getMarketFeePct
viewfunction getMarketFeePct(uint256 _marketId) view returns (uint16)
getMarketIdForCommitment
viewfunction getMarketIdForCommitment(address _lenderCommitmentForwarder, uint256 _commitmentId) view returns (uint256)
TELLER_V2
viewfunction TELLER_V2() view returns (address)
WETH9
viewfunction WETH9() view returns (address)
refundETH
payablefunction refundETH() payable
rolloverLoanWithFlashSwap
nonpayablefunction rolloverLoanWithFlashSwap(address _lenderCommitmentForwarder, uint256 _loanId, uint256 _borrowerAmount, uint256 _rewardAmount, address _rewardRecipient, tuple _flashSwapArgs, tuple _acceptCommitmentArgs)
sweepToken
payablefunction sweepToken(address token, uint256 amountMinimum, address recipient) payable
uniswapV3FlashCallback
nonpayablefunction uniswapV3FlashCallback(uint256 fee0, uint256 fee1, bytes data)
unwrapWETH9
payablefunction unwrapWETH9(uint256 amountMinimum, address recipient) payable
events
RolloverLoanComplete
event RolloverLoanComplete(address borrower, uint256 originalLoanId, uint256 newLoanId, uint256 fundsRemaining)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162002a3338038062002a3383398101604081905262000034916200006e565b6001600160a01b03918216608052811660a0521660c052620000b8565b80516001600160a01b03811681146200006957600080fd5b919050565b6000806000606084860312156200008457600080fd5b6200008f8462000051565b92506200009f6020850162000051565b9150620000af6040850162000051565b90509250925092565b60805160a05160c0516128f162000142600039600081816101fb015281816103210152818161059b0152818161067401528181610c9e015281816110a0015261113701526000818160b0015281816101af015281816104390152818161050f015281816116bb01528181611701015261179601526000818161027d0152610a3101526128f16000f3fe6080604052600436106100a05760003560e01c80636051f210116100645780636051f210146101e957806382218fdd1461021d5780638d0de50f1461023d578063c45a01551461026b578063df2ab5bb1461029f578063e9cbafb0146102b257600080fd5b806312210e8a1461011557806315f922cf1461011d5780631a7c762b1461015557806349404b7c1461018a5780634aa4a4fc1461019d57600080fd5b3661011057336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461010e5760405162461bcd60e51b81526020600482015260096024820152684e6f7420574554483960b81b60448201526064015b60405180910390fd5b005b600080fd5b61010e6102d2565b34801561012957600080fd5b5061013d610138366004611b3f565b6102e4565b60405161ffff90911681526020015b60405180910390f35b34801561016157600080fd5b50610175610170366004611b7b565b6102f5565b6040805192835260208301919091520161014c565b61010e610198366004611c0d565b610421565b3480156101a957600080fd5b506101d17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014c565b3480156101f557600080fd5b506101d17f000000000000000000000000000000000000000000000000000000000000000081565b34801561022957600080fd5b5061010e610238366004611c3d565b610582565b34801561024957600080fd5b5061025d610258366004611ce3565b6108c6565b60405190815260200161014c565b34801561027757600080fd5b506101d17f000000000000000000000000000000000000000000000000000000000000000081565b61010e6102ad366004611d0f565b6108d9565b3480156102be57600080fd5b5061010e6102cd366004611d51565b6109a2565b47156102e2576102e23347610bf6565b565b60006102ef82610c99565b92915050565b604051631042b85f60e01b81526004810186905260248101829052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631042b85f906044016040805180830381865afa158015610367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038b9190611e66565b905086600061039a828d610d8a565b905060006103a8838d610d8a565b90506000816103b78486611ecb565b6103c19190611ecb565b90506000856020015186600001516103d99190611ee2565b975087905060006103ea828c610d8a565b90508b816103f88486611efa565b6104029190611efa565b61040c9190611efa565b97505050505050505097509795505050505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611f39565b9050828110156104f35760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e7420574554483960701b6044820152606401610105565b801561057d57604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561055b57600080fd5b505af115801561056f573d6000803e3d6000fd5b5050505061057d8282610bf6565b505050565b604051633ef0a2f760e01b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ef0a2f790602401602060405180830381865afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190611f5d565b90506001600160a01b038116331461065b5760405162461bcd60e51b815260206004820152601060248201526f26bab9ba103132903137b93937bbb2b960811b6044820152606401610105565b604051631457303360e01b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631457303390602401602060405180830381865afa1580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e79190611f5d565b90506106f8600a6060860135611f7a565b8611156107475760405162461bcd60e51b815260206004820152601760248201527f4578636573736976652072657761726420616d6f756e740000000000000000006044820152606401610105565b8615610759576107598183308a610d9c565b5061076a60c0840160a08501611f9c565b6001600160a01b031663490e6cbc3061078960a0870160808801611fc7565b61079757856060013561079a565b60005b6107aa60a0880160808901611fc7565b6107b55760006107bb565b86606001355b6040518061010001604052808e6001600160a01b031681526020018d8152602001876001600160a01b031681526020018c81526020018a6001600160a01b031681526020018b8152602001886040516020016108179190612087565b60405160208183030381529060405281526020018960405160200161083c9190612161565b60408051601f1981840301815291815291525161085c9190602001612247565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161088a94939291906122e8565b600060405180830381600087803b1580156108a457600080fd5b505af11580156108b8573d6000803e3d6000fd5b505050505050505050505050565b60006108d28383610ea6565b9392505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190611f39565b90508281101561098b5760405162461bcd60e51b815260206004820152601260248201527124b739bab33334b1b4b2b73a103a37b5b2b760711b6044820152606401610105565b801561099c5761099c848383610f12565b50505050565b60006109b082840184612385565b905060008160c001518060200190518101906109cc91906124f3565b905060008260e001518060200190518101906109e891906125d1565b90506000604051806060016040528083600001516001600160a01b0316815260200183602001516001600160a01b03168152602001836040015162ffffff168152509050610a567f000000000000000000000000000000000000000000000000000000000000000082611012565b6000610a8085602001518460800151610a70578451610a76565b84602001515b856060015161101c565b9050600080610aae876000015188604001518760800151610aa2578751610aa8565b87602001515b8961121c565b9150915060008560800151610ac4578551610aca565b85602001515b905060008660800151610add578c610adf565b8b5b90506000610af18860600151836115a5565b9050610afe8330836115c0565b8015610b1057610b10833033846116b9565b600081878c60600151878c60600151610b299190611ee2565b610b339190611ee2565b610b3d9190611ecb565b610b479190611ecb565b90508015610b8c5760a08b015115610b7d5760a08b0151610b689082611ecb565b9050610b7d848c608001518d60a00151610f12565b610b8c848c6040015183610f12565b6040808c01516020808e015183516001600160a01b03909316835290820152908101879052606081018290527f7fc6c3a5d0857fbad5d5ecc01d80b34b34b792a1c269283eaff02bcd0c7535fb9060800160405180910390a1505050505050505050505050505050565b604080516000808252602082019092526001600160a01b038416908390604051610c209190612673565b60006040518083038185875af1925050503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b505090508061057d5760405162461bcd60e51b815260206004820152600360248201526253544560e81b6044820152606401610105565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ecb96fe66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1e9190611f5d565b60405163028ba63960e21b8152600481018590529091506001600160a01b03821690630a2e98e490602401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d2919061268f565b60006108d2838361ffff16600261183a565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151600092839290881691610e009190612673565b6000604051808303816000865af19150503d8060008114610e3d576040519150601f19603f3d011682016040523d82523d6000602084013e610e42565b606091505b5091509150818015610e6c575080511580610e6c575080806020019051810190610e6c91906126ac565b610e9e5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b6044820152606401610105565b505050505050565b6040516331a1afb960e01b8152600481018290526000906001600160a01b038416906331a1afb990602401602060405180830381865afa158015610eee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190611f39565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691610f6e9190612673565b6000604051808303816000865af19150503d8060008114610fab576040519150601f19603f3d011682016040523d82523d6000602084013e610fb0565b606091505b5091509150818015610fda575080511580610fda575080806020019051810190610fda91906126ac565b61100b5760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610105565b5050505050565b61057d8282611861565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015611065573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110899190611f39565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690529192509085169063095ea7b3906044016020604051808303816000875af11580156110fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112091906126ac565b50604051639a11e33960e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639a11e33990602401600060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03871691506370a0823190602401602060405180830381865afa1580156111e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112069190611f39565b90506112128183611ecb565b9695505050505050565b6040516370a0823160e01b8152306004820152600090819081906001600160a01b038616906370a0823190602401602060405180830381865afa158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190611f39565b60208501519091506001600160a01b0316156113a75760208401516040808601516060870151608088015160a089015160c08a015160e08b015195516001600160a01b0397881660248201526044810195909552606485019390935260848401919091529390931660a48201523060c482015261ffff90921660e483015263ffffffff1661010482015260009061138990633425aa5760e11b906101240160408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611369928b91016126c9565b60408051601f198184030181529190526001600160a01b038a1690611884565b90508080602001905181019061139f9190611f39565b935050611521565b610100840151511580159061148357600061146563e767e97360e01b8760000151886040015189606001518a608001518b60a00151308d60c001518e60e001518f610100015160405160240161140599989796959493929190612700565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611445928c91016126c9565b60408051601f198184030181529190526001600160a01b038b1690611884565b90508080602001905181019061147b9190611f39565b94505061151f565b84516040808701516060880151608089015160a08a015160c08b015160e08c0151955160248101979097526044870194909452606486019290925260848501526001600160a01b031660a48401523060c484015261ffff1660e483015263ffffffff1661010482015260009061150590634bfc440160e01b9061012401611405565b90508080602001905181019061151b9190611f39565b9450505b505b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190611f39565b90506115988282611ecb565b9250505094509492505050565b6000826115b28382611ee2565b91508110156102ef57600080fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b179052915160009283929087169161161c9190612673565b6000604051808303816000865af19150503d8060008114611659576040519150601f19603f3d011682016040523d82523d6000602084013e61165e565b606091505b509150915081801561168857508051158061168857508080602001905181019061168891906126ac565b61100b5760405162461bcd60e51b8152602060048201526002602482015261534160f01b6044820152606401610105565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161480156116fa5750804710155b1561180d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561175a57600080fd5b505af115801561176e573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063a9059cbb925060440190506020604051808303816000875af11580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180791906126ac565b5061099c565b6001600160a01b03831630141561182e57611829848383610f12565b61099c565b61099c84848484610d9c565b6000611845826118c8565b61184f8486612799565b6118599190611f7a565b949350505050565b600061186d83836118e0565b9050336001600160a01b038216146102ef57600080fd5b60606108d2838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506119c9565b60006118d582600a61289c565b6102ef906064612799565b600081602001516001600160a01b031682600001516001600160a01b03161061190857600080fd5b815160208084015160408086015181516001600160a01b0395861681860152949092168482015262ffffff90911660608085019190915281518085038201815260808501909252815191909201206001600160f81b031960a08401529085901b6bffffffffffffffffffffffff191660a183015260b58201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d582015260f50160408051601f1981840301815291905280516020909101209392505050565b606082471015611a2a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610105565b600080866001600160a01b03168587604051611a469190612673565b60006040518083038185875af1925050503d8060008114611a83576040519150601f19603f3d011682016040523d82523d6000602084013e611a88565b606091505b5091509150611a9987838387611aa4565b979650505050505050565b60608315611b10578251611b09576001600160a01b0385163b611b095760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610105565b5081611859565b6118598383815115611b255781518083602001fd5b8060405162461bcd60e51b815260040161010591906128a8565b600060208284031215611b5157600080fd5b5035919050565b61ffff81168114611b6857600080fd5b50565b8035611b7681611b58565b919050565b600080600080600080600060e0888a031215611b9657600080fd5b8735611ba181611b58565b96506020880135611bb181611b58565b955060408801359450606088013593506080880135925060a0880135611bd681611b58565b8092505060c0880135905092959891949750929550565b6001600160a01b0381168114611b6857600080fd5b8035611b7681611bed565b60008060408385031215611c2057600080fd5b823591506020830135611c3281611bed565b809150509250929050565b6000806000806000806000878903610180811215611c5a57600080fd5b8835611c6581611bed565b97506020890135965060408901359550606089013594506080890135611c8a81611bed565b935060c0609f1982011215611c9e57600080fd5b5060a08801915061016088013567ffffffffffffffff811115611cc057600080fd5b8801610120818b031215611cd357600080fd5b8091505092959891949750929550565b60008060408385031215611cf657600080fd5b8235611d0181611bed565b946020939093013593505050565b600080600060608486031215611d2457600080fd5b8335611d2f81611bed565b9250602084013591506040840135611d4681611bed565b809150509250925092565b60008060008060608587031215611d6757600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115611d8d57600080fd5b818701915087601f830112611da157600080fd5b813581811115611db057600080fd5b886020828501011115611dc257600080fd5b95989497505060200194505050565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff81118282101715611e0b57611e0b611dd1565b60405290565b604051610120810167ffffffffffffffff81118282101715611e0b57611e0b611dd1565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e5e57611e5e611dd1565b604052919050565b600060408284031215611e7857600080fd5b6040516040810181811067ffffffffffffffff82111715611e9b57611e9b611dd1565b604052825181526020928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611edd57611edd611eb5565b500390565b60008219821115611ef557611ef5611eb5565b500190565b60008083128015600160ff1b850184121615611f1857611f18611eb5565b6001600160ff1b0384018313811615611f3357611f33611eb5565b50500390565b600060208284031215611f4b57600080fd5b5051919050565b8051611b7681611bed565b600060208284031215611f6f57600080fd5b81516108d281611bed565b600082611f9757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611fae57600080fd5b81356108d281611bed565b8015158114611b6857600080fd5b600060208284031215611fd957600080fd5b81356108d281611fb9565b63ffffffff81168114611b6857600080fd5b8035611b7681611fe4565b6000808335601e1984360301811261201857600080fd5b830160208101925035905067ffffffffffffffff81111561203857600080fd5b8060051b360383131561204a57600080fd5b9250929050565b81835260006001600160fb1b0383111561206a57600080fd5b8260051b8083602087013760009401602001938452509192915050565b602081528135602082015260006120a060208401611c02565b6001600160a01b0381166040840152506040830135606083015260608301356080830152608083013560a08301526120da60a08401611c02565b6001600160a01b03811660c0840152506120f660c08401611b6b565b61ffff811660e08401525061210d60e08401611ff6565b6101006121218185018363ffffffff169052565b61212d81860186612001565b610120868101529250905061214761014085018383612051565b95945050505050565b62ffffff81168114611b6857600080fd5b60c08101823561217081611bed565b6001600160a01b03908116835260208401359061218c82611bed565b90811660208401526040840135906121a382612150565b62ffffff8216604085015260608501356060850152608085013591506121c882611fb9565b901515608084015260a0840135906121df82611bed565b80821660a0850152505092915050565b60005b8381101561220a5781810151838201526020016121f2565b8381111561099c5750506000910152565b600081518084526122338160208601602086016121ef565b601f01601f19169290920160200192915050565b6020815260018060a01b038251166020820152602082015160408201526000604083015161228060608401826001600160a01b03169052565b506060830151608083015260808301516122a560a08401826001600160a01b03169052565b5060a083015160c083015260c08301516101008060e08501526122cc61012085018361221b565b915060e0850151601f198584030182860152611212838261221b565b60018060a01b0385168152836020820152826040820152608060608201526000611212608083018461221b565b600082601f83011261232657600080fd5b813567ffffffffffffffff81111561234057612340611dd1565b612353601f8201601f1916602001611e35565b81815284602083860101111561236857600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561239757600080fd5b813567ffffffffffffffff808211156123af57600080fd5b9083019061010082860312156123c457600080fd5b6123cc611de7565b6123d583611c02565b8152602083013560208201526123ed60408401611c02565b60408201526060830135606082015261240860808401611c02565b608082015260a083013560a082015260c08301358281111561242957600080fd5b61243587828601612315565b60c08301525060e08301358281111561244d57600080fd5b61245987828601612315565b60e08301525095945050505050565b8051611b7681611b58565b8051611b7681611fe4565b600082601f83011261248f57600080fd5b8151602067ffffffffffffffff8211156124ab576124ab611dd1565b8160051b6124ba828201611e35565b92835284810182019282810190878511156124d457600080fd5b83870192505b84831015611a99578251825291830191908301906124da565b60006020828403121561250557600080fd5b815167ffffffffffffffff8082111561251d57600080fd5b90830190610120828603121561253257600080fd5b61253a611e11565b8251815261254a60208401611f52565b602082015260408301516040820152606083015160608201526080830151608082015261257960a08401611f52565b60a082015261258a60c08401612468565b60c082015261259b60e08401612473565b60e082015261010080840151838111156125b457600080fd5b6125c08882870161247e565b918301919091525095945050505050565b600060c082840312156125e357600080fd5b60405160c0810181811067ffffffffffffffff8211171561260657612606611dd1565b604052825161261481611bed565b8152602083015161262481611bed565b6020820152604083015161263781612150565b604082015260608381015190820152608083015161265481611fb9565b608082015260a083015161266781611bed565b60a08201529392505050565b600082516126858184602087016121ef565b9190910192915050565b6000602082840312156126a157600080fd5b81516108d281611b58565b6000602082840312156126be57600080fd5b81516108d281611fb9565b600083516126db8184602088016121ef565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b89815260208082018a905260408201899052606082018890526001600160a01b038781166080840152861660a083015261ffff851660c083015263ffffffff841660e0830152610120610100830181905283519083018190526000916101408401918582019190845b8181101561278557835185529382019392820192600101612769565b50929e9d5050505050505050505050505050565b60008160001904831182151516156127b3576127b3611eb5565b500290565b600181815b808511156127f35781600019048211156127d9576127d9611eb5565b808516156127e657918102915b93841c93908002906127bd565b509250929050565b60008261280a575060016102ef565b81612817575060006102ef565b816001811461282d576002811461283757612853565b60019150506102ef565b60ff84111561284857612848611eb5565b50506001821b6102ef565b5060208310610133831016604e8410600b8410161715612876575081810a6102ef565b61288083836127b8565b806000190482111561289457612894611eb5565b029392505050565b60006108d283836127fb565b6020815260006108d2602083018461221b56fea264697066735822122095139b73133c0aff0080c99affda97419548014472991ada82a231d64d47e5a964736f6c634300080b0033000000000000000000000000d3d79a066f2cd471841c047d372f218252dbf8ed0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619