0 txs
1 call
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)
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)
quoteExactInput
nonpayablefunction quoteExactInput(address inputToken, uint256 amountIn, tuple[] swapPaths) returns (uint256 amountOut)
events
BorrowSwapComplete
event BorrowSwapComplete(address borrower, uint256 loanId, address token0, uint256 amountIn, uint256 amountOut)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b50604051620018773803806200187783398101604081905262000034916200006f565b6001600160a01b0392831660805290821660a0521660c052620000b9565b80516001600160a01b03811681146200006a57600080fd5b919050565b6000806000606084860312156200008557600080fd5b620000908462000052565b9250620000a06020850162000052565b9150620000b06040850162000052565b90509250925092565b60805160a05160c0516117736200010460003960008181610152015261059401526000818161017901528181610419015261049a01526000818160bd015261064301526117736000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639a9dbb3e1161005b5780639a9dbb3e14610138578063b268630b1461014d578063dcaa117c14610174578063f60a26ce1461019b57600080fd5b806315f922cf1461008d5780636051f210146100b85780637483c2af146100f75780638d0de50f14610117575b600080fd5b6100a061009b366004610ee5565b6101ae565b60405161ffff90911681526020015b60405180910390f35b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100af565b61010a610105366004610f72565b6101bf565b6040516100af9190611023565b61012a610125366004611036565b6103ca565b6040519081526020016100af565b61014b610146366004611062565b6103d6565b005b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b6100df7f000000000000000000000000000000000000000000000000000000000000000081565b61012a6101a9366004611105565b610590565b60006101b98261063e565b92915050565b6060600182141561026f5783838360008181106101de576101de611161565b6101f49260206040909202019081019150611177565b8484600081811061020757610207611161565b905060400201602001602081019061021f919061119c565b604051606093841b6001600160601b0319908116602083015260e89390931b6001600160e81b0319166034820152921b166037820152604b015b60405160208183030381529060405290506103c3565b600282141561037657838383600081811061028c5761028c611161565b6102a29260206040909202019081019150611177565b848460008181106102b5576102b5611161565b90506040020160200160208101906102cd919061119c565b858560018181106102e0576102e0611161565b6102f69260206040909202019081019150611177565b8686600181811061030957610309611161565b9050604002016020016020810190610321919061119c565b6040516001600160601b0319606096871b811660208301526001600160e81b031960e896871b8116603484015294871b811660378301529290941b909216604b840152921b909116604e820152606201610259565b60405162461bcd60e51b815260206004820152601860248201527f696e76616c696420737761702070617468206c656e677468000000000000000060448201526064015b60405180910390fd5b9392505050565b60006103c3838361072f565b3383156103e9576103e98582308761079b565b6000806104008884896103fb886112f1565b6108a5565b9092509050600061041187836113be565b905061043e887f000000000000000000000000000000000000000000000000000000000000000083610c2e565b60408051608081019091526000908061045b8b6101058b806113d6565b8152602001866001600160a01b03168152602001838152602001886020016020810190610488919061119c565b6001600160a01b0316815250905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b858183f836040518263ffffffff1660e01b81526004016104e49190611420565b6020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610527919061146e565b604080516001600160a01b038981168252602082018990528d1681830152606081018690526080810183905290519192507f2b73150eedb894db6fa35b6dd741a6adfa8951286c2e3ebd81bcfea50b44ad0e919081900360a00190a15050505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cdca17536105cc8786866101bf565b866040518363ffffffff1660e01b81526004016105ea929190611487565b6000604051808303816000875af1158015610609573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610631919081019061150d565b5091979650505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ecb96fe66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561069f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c391906115e3565b60405163028ba63960e21b8152600481018590529091506001600160a01b03821690630a2e98e490602401602060405180830381865afa15801561070b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c39190611600565b6040516331a1afb960e01b8152600481018290526000906001600160a01b038416906331a1afb990602401602060405180830381865afa158015610777573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c3919061146e565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916107ff919061161d565b6000604051808303816000865af19150503d806000811461083c576040519150601f19603f3d011682016040523d82523d6000602084013e610841565b606091505b509150915081801561086b57508051158061086b57508080602001905181019061086b9190611639565b61089d5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064016103ba565b505050505050565b6040516370a0823160e01b8152306004820152600090819081906001600160a01b038616906370a0823190602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061146e565b60208501519091506001600160a01b031615610a305760208401516040808601516060870151608088015160a089015160c08a015160e08b015195516001600160a01b0397881660248201526044810195909552606485019390935260848401919091529390931660a48201523060c482015261ffff90921660e483015263ffffffff16610104820152600090610a1290633425aa5760e11b906101240160408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352516109f2928b910161165b565b60408051601f198184030181529190526001600160a01b038a1690610d2e565b905080806020019051810190610a28919061146e565b935050610baa565b6101008401515115801590610b0c576000610aee63e767e97360e01b8760000151886040015189606001518a608001518b60a00151308d60c001518e60e001518f6101000151604051602401610a8e9998979695949392919061168d565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251610ace928c910161165b565b60408051601f198184030181529190526001600160a01b038b1690610d2e565b905080806020019051810190610b04919061146e565b945050610ba8565b84516040808701516060880151608089015160a08a015160c08b015160e08c0151955160248101979097526044870194909452606486019290925260848501526001600160a01b031660a48401523060c484015261ffff1660e483015263ffffffff16610104820152600090610b8e90634bfc440160e01b9061012401610a8e565b905080806020019051810190610ba4919061146e565b9450505b505b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c15919061146e565b9050610c218282611726565b9250505094509492505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691610c8a919061161d565b6000604051808303816000865af19150503d8060008114610cc7576040519150601f19603f3d011682016040523d82523d6000602084013e610ccc565b606091505b5091509150818015610cf6575080511580610cf6575080806020019051810190610cf69190611639565b610d275760405162461bcd60e51b8152602060048201526002602482015261534160f01b60448201526064016103ba565b5050505050565b60606103c3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250606082471015610dce5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103ba565b600080866001600160a01b03168587604051610dea919061161d565b60006040518083038185875af1925050503d8060008114610e27576040519150601f19603f3d011682016040523d82523d6000602084013e610e2c565b606091505b5091509150610e3d87838387610e4a565b925050505b949350505050565b60608315610eb6578251610eaf576001600160a01b0385163b610eaf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ba565b5081610e42565b610e428383815115610ecb5781518083602001fd5b8060405162461bcd60e51b81526004016103ba9190611023565b600060208284031215610ef757600080fd5b5035919050565b6001600160a01b0381168114610f1357600080fd5b50565b8035610f2181610efe565b919050565b60008083601f840112610f3857600080fd5b50813567ffffffffffffffff811115610f5057600080fd5b6020830191508360208260061b8501011115610f6b57600080fd5b9250929050565b600080600060408486031215610f8757600080fd5b8335610f9281610efe565b9250602084013567ffffffffffffffff811115610fae57600080fd5b610fba86828701610f26565b9497909650939450505050565b60005b83811015610fe2578181015183820152602001610fca565b83811115610ff1576000848401525b50505050565b6000815180845261100f816020860160208601610fc7565b601f01601f19169290920160200192915050565b6020815260006103c36020830184610ff7565b6000806040838503121561104957600080fd5b823561105481610efe565b946020939093013593505050565b600080600080600060a0868803121561107a57600080fd5b853561108581610efe565b9450602086013561109581610efe565b935060408601359250606086013567ffffffffffffffff808211156110b957600080fd5b908701906040828a0312156110cd57600080fd5b909250608087013590808211156110e357600080fd5b50860161012081890312156110f757600080fd5b809150509295509295909350565b6000806000806060858703121561111b57600080fd5b843561112681610efe565b935060208501359250604085013567ffffffffffffffff81111561114957600080fd5b61115587828801610f26565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561118957600080fd5b813562ffffff811681146103c357600080fd5b6000602082840312156111ae57600080fd5b81356103c381610efe565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156111f3576111f36111b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611222576112226111b9565b604052919050565b61ffff81168114610f1357600080fd5b8035610f218161122a565b63ffffffff81168114610f1357600080fd5b8035610f2181611245565b600067ffffffffffffffff82111561127c5761127c6111b9565b5060051b60200190565b600082601f83011261129757600080fd5b813560206112ac6112a783611262565b6111f9565b82815260059290921b840181019181810190868411156112cb57600080fd5b8286015b848110156112e657803583529183019183016112cf565b509695505050505050565b6000610120823603121561130457600080fd5b61130c6111cf565b8235815261131c60208401610f16565b602082015260408301356040820152606083013560608201526080830135608082015261134b60a08401610f16565b60a082015261135c60c0840161123a565b60c082015261136d60e08401611257565b60e08201526101008084013567ffffffffffffffff81111561138e57600080fd5b61139a36828701611286565b918301919091525092915050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113d1576113d16113a8565b500190565b6000808335601e198436030181126113ed57600080fd5b83018035915067ffffffffffffffff82111561140857600080fd5b6020019150600681901b3603821315610f6b57600080fd5b60208152600082516080602084015261143c60a0840182610ff7565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b60006020828403121561148057600080fd5b5051919050565b60408152600061149a6040830185610ff7565b90508260208301529392505050565b600082601f8301126114ba57600080fd5b815160206114ca6112a783611262565b82815260059290921b840181019181810190868411156114e957600080fd5b8286015b848110156112e657805161150081611245565b83529183019183016114ed565b6000806000806080858703121561152357600080fd5b8451935060208086015167ffffffffffffffff8082111561154357600080fd5b818801915088601f83011261155757600080fd5b81516115656112a782611262565b81815260059190911b8301840190848101908b83111561158457600080fd5b938501935b828510156115ab57845161159c81610efe565b82529385019390850190611589565b60408b015190985094505050808311156115c457600080fd5b50506115d2878288016114a9565b606096909601519497939650505050565b6000602082840312156115f557600080fd5b81516103c381610efe565b60006020828403121561161257600080fd5b81516103c38161122a565b6000825161162f818460208701610fc7565b9190910192915050565b60006020828403121561164b57600080fd5b815180151581146103c357600080fd5b6000835161166d818460208801610fc7565b60609390931b6001600160601b0319169190920190815260140192915050565b89815260208082018a905260408201899052606082018890526001600160a01b038781166080840152861660a083015261ffff851660c083015263ffffffff841660e0830152610120610100830181905283519083018190526000916101408401918582019190845b81811015611712578351855293820193928201926001016116f6565b50929e9d5050505050505050505050505050565b600082821015611738576117386113a8565b50039056fea26469706673582212200448cb0132874046799d95d89c18de85a907a67cefecefa235829c28c07c058364736f6c634300080b0033000000000000000000000000d3d79a066f2cd471841c047d372f218252dbf8ed00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4500000000000000000000000061ffe014ba17989e743c5f6cb21bf9697530b21e