0 txs
13 calls
constructor
constructor(address _tellerV2, address _swapRouter, address _quoter)
functions
generateSwapPath
viewfunction generateSwapPath(address inputToken, tuple[] swapPaths) view returns (bytes)
getMarketFeePct
viewfunction getMarketFeePct(uint256 _marketId) view returns (uint16)
getMarketIdForCommitment
viewfunction getMarketIdForCommitment(address _lenderCommitmentForwarder, uint256 _commitmentId) view returns (uint256)
quoteExactInput
viewfunction quoteExactInput(address inputToken, uint256 amountIn, tuple[] swapPaths) view returns (uint256 amountOut)
TELLER_V2
viewfunction TELLER_V2() view returns (address)
UNISWAP_QUOTER
viewfunction UNISWAP_QUOTER() view returns (address)
UNISWAP_SWAP_ROUTER
viewfunction UNISWAP_SWAP_ROUTER() view returns (address)
borrowSwap
nonpayablefunction borrowSwap(address _lenderCommitmentForwarder, address _principalToken, uint256 _additionalInputAmount, tuple _swapArgs, tuple _acceptCommitmentArgs)
events
BorrowSwapComplete
event BorrowSwapComplete(address borrower, uint256 loanId, address token0, uint256 amountIn, uint256 amountOut)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b50604051620018753803806200187583398101604081905262000034916200006f565b6001600160a01b0392831660805290821660a0521660c052620000b9565b80516001600160a01b03811681146200006a57600080fd5b919050565b6000806000606084860312156200008557600080fd5b620000908462000052565b9250620000a06020850162000052565b9150620000b06040850162000052565b90509250925092565b60805160a05160c0516117716200010460003960008181610152015261059401526000818161017901528181610419015261049a01526000818160bd015261064101526117716000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639a9dbb3e1161005b5780639a9dbb3e14610138578063b268630b1461014d578063dcaa117c14610174578063f60a26ce1461019b57600080fd5b806315f922cf1461008d5780636051f210146100b85780637483c2af146100f75780638d0de50f14610117575b600080fd5b6100a061009b366004610ee3565b6101ae565b60405161ffff90911681526020015b60405180910390f35b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100af565b61010a610105366004610f70565b6101bf565b6040516100af9190611021565b61012a610125366004611034565b6103ca565b6040519081526020016100af565b61014b610146366004611060565b6103d6565b005b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b61012a6101a9366004611103565b610590565b60006101b98261063c565b92915050565b6060600182141561026f5783838360008181106101de576101de61115f565b6101f49260206040909202019081019150611175565b848460008181106102075761020761115f565b905060400201602001602081019061021f919061119a565b604051606093841b6001600160601b0319908116602083015260e89390931b6001600160e81b0319166034820152921b166037820152604b015b60405160208183030381529060405290506103c3565b600282141561037657838383600081811061028c5761028c61115f565b6102a29260206040909202019081019150611175565b848460008181106102b5576102b561115f565b90506040020160200160208101906102cd919061119a565b858560018181106102e0576102e061115f565b6102f69260206040909202019081019150611175565b868660018181106103095761030961115f565b9050604002016020016020810190610321919061119a565b6040516001600160601b0319606096871b811660208301526001600160e81b031960e896871b8116603484015294871b811660378301529290941b909216604b840152921b909116604e820152606201610259565b60405162461bcd60e51b815260206004820152601860248201527f696e76616c696420737761702070617468206c656e677468000000000000000060448201526064015b60405180910390fd5b9392505050565b60006103c3838361072d565b3383156103e9576103e985823087610799565b6000806104008884896103fb886112ef565b6108a3565b9092509050600061041187836113bc565b905061043e887f000000000000000000000000000000000000000000000000000000000000000083610c2c565b60408051608081019091526000908061045b8b6101058b806113d4565b8152602001866001600160a01b03168152602001838152602001886020016020810190610488919061119a565b6001600160a01b0316815250905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b858183f836040518263ffffffff1660e01b81526004016104e4919061141e565b6020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610527919061146c565b604080516001600160a01b038981168252602082018990528d1681830152606081018690526080810183905290519192507f2b73150eedb894db6fa35b6dd741a6adfa8951286c2e3ebd81bcfea50b44ad0e919081900360a00190a15050505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cdca17536105cc8786866101bf565b866040518363ffffffff1660e01b81526004016105ea929190611485565b600060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062f919081019061150b565b5091979650505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ecb96fe66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c191906115e1565b60405163028ba63960e21b8152600481018590529091506001600160a01b03821690630a2e98e490602401602060405180830381865afa158015610709573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c391906115fe565b6040516331a1afb960e01b8152600481018290526000906001600160a01b038416906331a1afb990602401602060405180830381865afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c3919061146c565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916107fd919061161b565b6000604051808303816000865af19150503d806000811461083a576040519150601f19603f3d011682016040523d82523d6000602084013e61083f565b606091505b50915091508180156108695750805115806108695750808060200190518101906108699190611637565b61089b5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064016103ba565b505050505050565b6040516370a0823160e01b8152306004820152600090819081906001600160a01b038616906370a0823190602401602060405180830381865afa1580156108ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610912919061146c565b60208501519091506001600160a01b031615610a2e5760208401516040808601516060870151608088015160a089015160c08a015160e08b015195516001600160a01b0397881660248201526044810195909552606485019390935260848401919091529390931660a48201523060c482015261ffff90921660e483015263ffffffff16610104820152600090610a1090633425aa5760e11b906101240160408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352516109f0928b9101611659565b60408051601f198184030181529190526001600160a01b038a1690610d2c565b905080806020019051810190610a26919061146c565b935050610ba8565b6101008401515115801590610b0a576000610aec63e767e97360e01b8760000151886040015189606001518a608001518b60a00151308d60c001518e60e001518f6101000151604051602401610a8c9998979695949392919061168b565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251610acc928c9101611659565b60408051601f198184030181529190526001600160a01b038b1690610d2c565b905080806020019051810190610b02919061146c565b945050610ba6565b84516040808701516060880151608089015160a08a015160c08b015160e08c0151955160248101979097526044870194909452606486019290925260848501526001600160a01b031660a48401523060c484015261ffff1660e483015263ffffffff16610104820152600090610b8c90634bfc440160e01b9061012401610a8c565b905080806020019051810190610ba2919061146c565b9450505b505b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610bef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c13919061146c565b9050610c1f8282611724565b9250505094509492505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691610c88919061161b565b6000604051808303816000865af19150503d8060008114610cc5576040519150601f19603f3d011682016040523d82523d6000602084013e610cca565b606091505b5091509150818015610cf4575080511580610cf4575080806020019051810190610cf49190611637565b610d255760405162461bcd60e51b8152602060048201526002602482015261534160f01b60448201526064016103ba565b5050505050565b60606103c3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250606082471015610dcc5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103ba565b600080866001600160a01b03168587604051610de8919061161b565b60006040518083038185875af1925050503d8060008114610e25576040519150601f19603f3d011682016040523d82523d6000602084013e610e2a565b606091505b5091509150610e3b87838387610e48565b925050505b949350505050565b60608315610eb4578251610ead576001600160a01b0385163b610ead5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ba565b5081610e40565b610e408383815115610ec95781518083602001fd5b8060405162461bcd60e51b81526004016103ba9190611021565b600060208284031215610ef557600080fd5b5035919050565b6001600160a01b0381168114610f1157600080fd5b50565b8035610f1f81610efc565b919050565b60008083601f840112610f3657600080fd5b50813567ffffffffffffffff811115610f4e57600080fd5b6020830191508360208260061b8501011115610f6957600080fd5b9250929050565b600080600060408486031215610f8557600080fd5b8335610f9081610efc565b9250602084013567ffffffffffffffff811115610fac57600080fd5b610fb886828701610f24565b9497909650939450505050565b60005b83811015610fe0578181015183820152602001610fc8565b83811115610fef576000848401525b50505050565b6000815180845261100d816020860160208601610fc5565b601f01601f19169290920160200192915050565b6020815260006103c36020830184610ff5565b6000806040838503121561104757600080fd5b823561105281610efc565b946020939093013593505050565b600080600080600060a0868803121561107857600080fd5b853561108381610efc565b9450602086013561109381610efc565b935060408601359250606086013567ffffffffffffffff808211156110b757600080fd5b908701906040828a0312156110cb57600080fd5b909250608087013590808211156110e157600080fd5b50860161012081890312156110f557600080fd5b809150509295509295909350565b6000806000806060858703121561111957600080fd5b843561112481610efc565b935060208501359250604085013567ffffffffffffffff81111561114757600080fd5b61115387828801610f24565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561118757600080fd5b813562ffffff811681146103c357600080fd5b6000602082840312156111ac57600080fd5b81356103c381610efc565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156111f1576111f16111b7565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611220576112206111b7565b604052919050565b61ffff81168114610f1157600080fd5b8035610f1f81611228565b63ffffffff81168114610f1157600080fd5b8035610f1f81611243565b600067ffffffffffffffff82111561127a5761127a6111b7565b5060051b60200190565b600082601f83011261129557600080fd5b813560206112aa6112a583611260565b6111f7565b82815260059290921b840181019181810190868411156112c957600080fd5b8286015b848110156112e457803583529183019183016112cd565b509695505050505050565b6000610120823603121561130257600080fd5b61130a6111cd565b8235815261131a60208401610f14565b602082015260408301356040820152606083013560608201526080830135608082015261134960a08401610f14565b60a082015261135a60c08401611238565b60c082015261136b60e08401611255565b60e08201526101008084013567ffffffffffffffff81111561138c57600080fd5b61139836828701611284565b918301919091525092915050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113cf576113cf6113a6565b500190565b6000808335601e198436030181126113eb57600080fd5b83018035915067ffffffffffffffff82111561140657600080fd5b6020019150600681901b3603821315610f6957600080fd5b60208152600082516080602084015261143a60a0840182610ff5565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b60006020828403121561147e57600080fd5b5051919050565b6040815260006114986040830185610ff5565b90508260208301529392505050565b600082601f8301126114b857600080fd5b815160206114c86112a583611260565b82815260059290921b840181019181810190868411156114e757600080fd5b8286015b848110156112e45780516114fe81611243565b83529183019183016114eb565b6000806000806080858703121561152157600080fd5b8451935060208086015167ffffffffffffffff8082111561154157600080fd5b818801915088601f83011261155557600080fd5b81516115636112a582611260565b81815260059190911b8301840190848101908b83111561158257600080fd5b938501935b828510156115a957845161159a81610efc565b82529385019390850190611587565b60408b015190985094505050808311156115c257600080fd5b50506115d0878288016114a7565b606096909601519497939650505050565b6000602082840312156115f357600080fd5b81516103c381610efc565b60006020828403121561161057600080fd5b81516103c381611228565b6000825161162d818460208701610fc5565b9190910192915050565b60006020828403121561164957600080fd5b815180151581146103c357600080fd5b6000835161166b818460208801610fc5565b60609390931b6001600160601b0319169190920190815260140192915050565b89815260208082018a905260408201899052606082018890526001600160a01b038781166080840152861660a083015261ffff851660c083015263ffffffff841660e0830152610120610100830181905283519083018190526000916101408401918582019190845b81811015611710578351855293820193928201926001016116f4565b50929e9d5050505050505050505050505050565b600082821015611736576117366113a6565b50039056fea264697066735822122041466bdedf7ad6192a7987e7874594d59630b44172ce2f46d44cd16ab69a63bc64736f6c634300080b003300000000000000000000000000182fdb0b880ee24d428e3cc39383717677c37e00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000005e55c9e631fae526cd4b0526c4818d6e0a9ef0e3